]> gitweb.factorcode.org Git - factor.git/commitdiff
"norm" doesn't need to be generic, "norm-sq sqrt" always works
authorJoe Groff <arcata@gmail.com>
Thu, 26 Nov 2009 19:15:35 +0000 (11:15 -0800)
committerJoe Groff <arcata@gmail.com>
Thu, 26 Nov 2009 19:15:35 +0000 (11:15 -0800)
basis/math/vectors/simd/simd.factor
basis/math/vectors/vectors.factor
basis/sequences/cords/cords.factor

index 7213286e15217d7faa7792ef3e3fab5fabd692eb..036ff22f781ab9ae473c5d5d04a25aa92b7eab35 100644 (file)
@@ -214,8 +214,7 @@ M: A v-n A-with v- ; inline
 M: A v*n A-with v* ; inline
 M: A v/n A-with v/ ; inline
 M: A norm-sq dup v. assert-positive ; inline
-M: A norm      norm-sq sqrt ; inline
-M: A distance  v- norm ; inline
+M: A distance v- norm ; inline
 
 M: A >pprint-sequence ;
 M: A pprint* pprint-object ;
index c0b129e6d27e546c52d5b23259f203e23ce0bf18..a69a99c64bfa5b2b096bd93747fc3b5f0256dcd5 100644 (file)
@@ -199,8 +199,7 @@ M: object v. [ conjugate * ] [ + ] 2map-reduce ;
 GENERIC: norm-sq ( v -- x )
 M: object norm-sq [ absq ] [ + ] map-reduce ;
 
-GENERIC: norm ( v -- x )
-M: object norm norm-sq sqrt ;
+: norm ( v -- x ) norm-sq sqrt ; inline
 
 : normalize ( u -- v ) dup norm v/n ; inline
 
@@ -240,7 +239,7 @@ PRIVATE>
 
 HINTS: M\ object vneg { array } ;
 HINTS: M\ object norm-sq { array } ;
-HINTS: M\ object norm { array } ;
+HINTS: norm { array } ;
 HINTS: M\ object distance { array array } ;
 
 HINTS: M\ object n*v { object array } ;
index e59858677b24039ee5cfe8286d5fb7391e43e66d..fca005fa6e6847c5047dbd9d73d178a0f07ee08b 100644 (file)
@@ -106,8 +106,7 @@ M: cord v-n '[ _ v-n ] cord-map ; inline
 M: cord v*n '[ _ v*n ] cord-map ; inline
 M: cord v/n '[ _ v/n ] cord-map ; inline
 
-M: cord norm-sq  dup v. ; inline
-M: cord norm     norm-sq sqrt ; inline
+M: cord norm-sq [ norm-sq ] cord-both + ; inline
 M: cord distance v- norm ; inline