]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/math/quaternions/quaternions.factor
factor: trim using lists
[factor.git] / basis / math / quaternions / quaternions.factor
index 4173507e6ca27246809fdda9fec74cfef4e83669..1674211aac28a8004595d9779af4375611ff971f 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2005, 2010 Joe Groff, Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: arrays combinators kernel locals math math.functions
+USING: arrays combinators kernel math
 math.libm math.order math.vectors sequences ;
 IN: math.quaternions
 
@@ -26,7 +26,7 @@ PRIVATE>
     } 2cleave (q*sign) ; inline
 
 GENERIC: qconjugate ( u -- u' )
-M: object qconjugate ( u -- u' )
+M: object qconjugate
     { 1 -1 -1 -1 } v* ; inline
 
 : qrecip ( u -- 1/u )
@@ -35,8 +35,8 @@ M: object qconjugate ( u -- u' )
 : q/ ( u v -- u/v )
     qrecip q* ; inline
 
-: n*q ( q n -- r )
-    v*n ; inline
+: n*q ( n q -- r )
+    n*v ; inline
 
 : q*n ( q n -- r )
     v*n ; inline
@@ -70,7 +70,7 @@ PRIVATE>
     { } euler-like ; inline
 
 :: slerp ( q0 q1 t -- qt )
-    q0 q1 v. -1.0 1.0 clamp :> dot
+    q0 q1 vdot -1.0 1.0 clamp :> dot
     dot facos t * :> omega
     q1 dot q0 n*v v- normalize :> qt'
     omega fcos q0 n*v omega fsin qt' n*v v+ ; inline