Fix:Core:Interpolate on table
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Tue, 9 Jun 2009 13:00:12 +0000 (13:00 +0000)
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Tue, 9 Jun 2009 13:00:12 +0000 (13:00 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk/navit@2310 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/transform.c

index c1a97bb..10c1bd7 100644 (file)
@@ -878,9 +878,9 @@ int transform_int_scale(int y)
        if (y < 0)
                y=-y;
        i=y/tab_int_step;
-       if (i >= size)
-               i=size-1;
-       return tab_int_scale[i];
+       if (i < size-1) 
+               return tab_int_scale[i]+((tab_int_scale[i+1]-tab_int_scale[i])*(y-i*tab_int_step))/tab_int_step;
+       return tab_int_scale[size-1];
 }
 #endif