vect-floating 0.1.0.1 → 0.1.0.3
raw patch · 7 files changed
+9/−37 lines, 7 files
Files
- src/Data/Vect/Floating/Base.hs +0/−1
- src/Data/Vect/Floating/Interpolate.hs +0/−25
- src/Data/Vect/Floating/Util/Dim3.hs +1/−1
- src/Data/Vect/Floating/Util/Dim4.hs +1/−1
- src/Data/Vect/Floating/Util/Projective.hs +1/−3
- src/Data/Vect/Floating/Util/Quaternion.hs +2/−2
- vect-floating.cabal +4/−4
src/Data/Vect/Floating/Base.hs view
@@ -23,7 +23,6 @@ where import Data.Typeable-import Control.Monad import System.Random import Foreign
src/Data/Vect/Floating/Interpolate.hs view
@@ -10,8 +10,6 @@ -------------------------------------------------------------------------------- import Data.Vect.Floating.Base-import Data.Vect.Floating.Util.Dim2 (sinCos',angle2')-import Data.Vect.Floating.Util.Dim3 (rotate3') -------------------------------------------------------------------------------- @@ -28,29 +26,6 @@ instance Floating a => Interpolate a (Vec4 a) where interpolate t x y = x &+ t *& (y &- x) ----------------------------------------------------------------------------------{--instance Interpolate Normal2 where- interpolate t nx ny = sinCos' $ ax + t*adiff where- ax = angle2' nx- ay = angle2' ny- adiff = helper (ay - ax)- helper d - | d < -pi = d + twopi- | d > pi = d - twopi- | otherwise = d- twopi = 2*pi- -instance Interpolate Normal3 where - interpolate t nx ny = - if maxAngle < 0.001 -- more or less ad-hoc critical angle- then mkNormal $ interpolate t x y- else toNormalUnsafe $ rotate3' (t*maxAngle) (mkNormal axis) x where- x = fromNormal nx- y = fromNormal ny- axis = (x &^ y)- maxAngle = acos (x &. y)--} instance Floating a => Interpolate a (Normal2 a) where interpolate = slerp instance Floating a => Interpolate a (Normal3 a) where interpolate = slerp
src/Data/Vect/Floating/Util/Dim3.hs view
@@ -1,6 +1,6 @@ module Data.Vect.Floating.Util.Dim3 where -import Data.Vect.Floating.Base+import Data.Vect.Floating.Base hiding (angle) --------------------------------------------------------------------------------
src/Data/Vect/Floating/Util/Dim4.hs view
@@ -3,7 +3,7 @@ module Data.Vect.Floating.Util.Dim4 where -import Data.Vect.Floating.Base+import Data.Vect.Floating.Base hiding (angle) import Data.Vect.Floating.GramSchmidt structVec4 :: [a] -> [Vec4 a]
src/Data/Vect/Floating/Util/Projective.hs view
@@ -18,10 +18,8 @@ module Data.Vect.Floating.Util.Projective where -import Data.Vect.Floating.Base+import Data.Vect.Floating.Base hiding (angle) import Data.Vect.Floating.Util.Dim3--import qualified Data.Vect.Floating.Util.Dim4 as Dim4 --------------------------------------------------------------------------------
src/Data/Vect/Floating/Util/Quaternion.hs view
@@ -16,7 +16,7 @@ import Data.Typeable -import Data.Vect.Floating.Base+import Data.Vect.Floating.Base hiding (angle) import Data.Vect.Floating.Interpolate import Foreign.Storable@@ -203,7 +203,7 @@ rotU' {- ' CPP is sensitive to primes -} :: Floating a => Normal3 a -> a -> U a rotU' axis angle = U (Vec4 c (x*s) (y*s) (z*s)) where- Vec3 x y z = fromNormal axis + Vec3 x y z = fromNormal axis half = 0.5 * angle c = cos half s = sin half
vect-floating.cabal view
@@ -2,12 +2,12 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: vect-floating-version: 0.1.0.1+version: 0.1.0.3 synopsis: A low-dimensional linear algebra library, operating on the Floating typeclass description: A low-dimensional (2, 3, 4 and Quaternions) linear algebra library, with lots of useful functions. Forked from vect library at <http://hackage.haskell.org/package/vect> by Balazs Komuves in order to use Floating typeclass instead of Float, Double. - Will be compatible with accelerate in a future package. + Accelerate instances are available at <http://hackage.haskell.org/package/vect-floating-accelerate>. Many thanks to Balazs Komuves. homepage: http://github.com/cpdurham/vect-floating license: BSD3@@ -20,8 +20,8 @@ cabal-version: >=1.8 library- exposed-modules: Data.Vect.Floating, Data.Vect.Floating.Base, Data.Vect.Floating.Interpolate, Data.Vect.Floating.GramSchmidt, Data.Vect.Floating.Util.Projective, Data.Vect.Floating.Util.Dim2, Data.Vect.Floating.Util.Dim3, Data.Vect.Floating.Util.Dim4, Data.Vect.Floating.Util.Quaternion+ exposed-modules: Data.Vect.Floating, Data.Vect.Floating.Base, Data.Vect.Floating.Interpolate, Data.Vect.Floating.GramSchmidt, Data.Vect.Floating.Util.Projective, Data.Vect.Floating.Util.Dim2, Data.Vect.Floating.Util.Dim3, Data.Vect.Floating.Util.Dim4, Data.Vect.Floating.Util.Quaternion - -- other-modules: + ghc-options: -Wall -O2 build-depends: base ==4.6.*, random ==1.0.* hs-source-dirs: src