Safe Haskell | None |
---|
This module exports vect-floating instances to make Vec2, Normal2, Vec3, Normal3, Vec4, Normal4, Quaternion, and UnitQuaternion compatible with accelerate.
The instances are defined:
Vec2 Accelerate Instances:
instance Elt a => Elt (Vec2 a)
instance IsTuple (Vec2 a)
instance (Lift Exp a, Elt (Plain a)) => Lift Exp (Vec2 a)
instance (Elt a) => Unlift Exp (Vec2 (Exp a))
Normal2 Accelerate Instances:
instance (Elt a, Floating a) => Elt (Normal2 a)
instance Floating a => IsTuple (Normal2 a)
instance (Lift Exp a, Elt (Plain a), Floating a, Floating (Plain a)) => Lift Exp (Normal2 a)
instance (Elt a, Floating a, IsFloating a) => Unlift Exp (Normal2 (Exp a))
Vec3 Accelerate Instances:
instance Elt a => Elt (Vec3 a)
instance IsTuple (Vec3 a)
instance (Lift Exp a, Elt (Plain a)) => Lift Exp (Vec3 a)
instance Elt a => Unlift Exp (Vec3 (Exp a))
Normal3 Accelerate Instances:
instance (Elt a, Floating a) => Elt (Normal3 a)
instance Floating a => IsTuple (Normal3 a)
instance (Lift Exp a, Elt (Plain a), Floating a, Floating (Plain a)) => Lift Exp (Normal3 a)
instance (Elt a, Floating a, IsFloating a) => Unlift Exp (Normal3 (Exp a))
Vec4 Accelerate Instances:
instance Elt a => Elt (Vec4 a)
instance IsTuple (Vec4 a)
instance (Lift Exp a, Elt (Plain a)) => Lift Exp (Vec4 a)
instance Elt a => Unlift Exp (Vec4 (Exp a))
Normal4 Accelerate Instances:
instance (Elt a, Floating a) => Elt (Normal4 a)
instance Floating a => IsTuple (Normal4 a)
instance (Lift Exp a, Elt (Plain a), Floating a, Floating (Plain a)) => Lift Exp (Normal4 a)
instance (Elt a, Floating a, IsFloating a) => Unlift Exp (Normal4 (Exp a))
Quaternion Accelerate Instances:
instance Elt a => Elt (Quaternion a)
instance IsTuple (Quaternion a)
instance (Lift Exp a, Elt (Plain a)) => Lift Exp (Quaternion a)
instance Elt a => Unlift Exp (Quaternion (Exp a))
UnitQuaternion Accelerate Instances:
instance (Elt a, Floating a) => Elt (UnitQuaternion a)
instance Floating a => IsTuple (UnitQuaternion a)
instance (Lift Exp a, Elt (Plain a), Floating a, Floating (Plain a)) => Lift Exp (UnitQuaternion a)
instance (Elt a, IsFloating a) => Unlift Exp (UnitQuaternion (Exp a))