]> gitweb.factorcode.org Git - factor.git/commitdiff
clean up vector lerp functions to be better vectorizable
authorJoe Groff <arcata@gmail.com>
Tue, 20 Oct 2009 19:36:36 +0000 (14:36 -0500)
committerJoe Groff <arcata@gmail.com>
Tue, 20 Oct 2009 22:11:22 +0000 (17:11 -0500)
basis/math/vectors/vectors.factor

index ee417de12bf224a52171e7f332b68d31eaf8dc0e..6bf396479e2c25fe34f351e77ff267443eedda52 100644 (file)
@@ -167,20 +167,20 @@ PRIVATE>
 
 : bilerp ( aa ba ab bb {t,u} -- a_tu )
     [ first lerp ] [ second lerp ] bi-curry
-    [ 2bi@ ] [ call ] bi* ;
+    [ 2bi@ ] [ call ] bi* ; inline
 
 : vlerp ( a b t -- a_t )
-    [ lerp ] 3map ;
+    [ over v- ] dip v* v+ ; inline
 
 : vnlerp ( a b t -- a_t )
-    [ lerp ] curry 2map ;
+    [ over v- ] dip v*n v+ ; inline
 
 : vbilerp ( aa ba ab bb {t,u} -- a_tu )
     [ first vnlerp ] [ second vnlerp ] bi-curry
-    [ 2bi@ ] [ call ] bi* ;
+    [ 2bi@ ] [ call ] bi* ; inline
 
 : v~ ( a b epsilon -- ? )
-    [ ~ ] curry 2all? ;
+    [ ~ ] curry 2all? ; inline
 
 HINTS: vneg { array } ;
 HINTS: norm-sq { array } ;