]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/gml/coremath/coremath.factor
core: Add the shuffler words but without primitives.
[factor.git] / extra / gml / coremath / coremath.factor
index 3a4d72d1531f5bed2faea74544ef8c9bcb448963..5db5b75e0a0c9dff35da7d772137c0747e78a9ec 100644 (file)
@@ -43,10 +43,10 @@ FROM: generalizations => npick ;
 
 : gml-scalar-op ( a b scalar-quot mixed-quot vector-quot -- c )
     {
-        { [ 4 npick float? ] [ 2drop call ] }
-        { [ 4 npick integer? ] [ 2drop call ] }
-        { [ 4 npick vec2d? ] [ drop nip [ scalar>vec2d ] 2dip call ] }
-        { [ 4 npick vec3d? ] [ drop nip [ scalar>vec3d ] 2dip call ] }
+        { [ reach float? ] [ 2drop call ] }
+        { [ reach integer? ] [ 2drop call ] }
+        { [ reach vec2d? ] [ drop nip [ scalar>vec2d ] 2dip call ] }
+        { [ reach vec3d? ] [ drop nip [ scalar>vec3d ] 2dip call ] }
     } cond ; inline
 
 : gml-math-op ( a b scalar-quot mixed-quot vector-quot -- c )
@@ -55,16 +55,16 @@ FROM: generalizations => npick ;
         { [ 5 npick integer? ] [ gml-scalar-op ] }
         { [ 5 npick vec2d? ] [
             {
-                { [ 4 npick vec2d? ] [ 2nip call ] }
-                { [ 4 npick float? ] [ drop nip [ scalar>vec2d ] dip call ] }
-                { [ 4 npick integer? ] [ drop nip [ scalar>vec2d ] dip call ] }
+                { [ reach vec2d? ] [ 2nip call ] }
+                { [ reach float? ] [ drop nip [ scalar>vec2d ] dip call ] }
+                { [ reach integer? ] [ drop nip [ scalar>vec2d ] dip call ] }
             } cond
         ] }
         { [ 5 npick vec3d? ] [
             {
-                { [ 4 npick vec3d? ] [ 2nip call ] }
-                { [ 4 npick float? ] [ drop nip [ scalar>vec3d ] dip call ] }
-                { [ 4 npick integer? ] [ drop nip [ scalar>vec3d ] dip call ] }
+                { [ reach vec3d? ] [ 2nip call ] }
+                { [ reach float? ] [ drop nip [ scalar>vec3d ] dip call ] }
+                { [ reach integer? ] [ drop nip [ scalar>vec3d ] dip call ] }
             } cond
         ] }
     } cond ; inline