| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Data.Vect.Floating.Accelerate.Instances
Description
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
Elta =>Elt(Vec2a)instance
IsTuple(Vec2a)instance (
LiftExpa,Elt(Plaina)) =>LiftExp(Vec2a)instance (
Elta) =>UnliftExp(Vec2(Expa))
Normal2 Accelerate Instances:
instance (
Elta,Floatinga) =>Elt(Normal2a)instance
Floatinga =>IsTuple(Normal2a)instance (
LiftExpa,Elt(Plaina),Floatinga,Floating(Plaina)) =>LiftExp(Normal2a)instance (
Elta,Floatinga,IsFloatinga) =>UnliftExp(Normal2(Expa))
Vec3 Accelerate Instances:
instance
Elta =>Elt(Vec3a)instance
IsTuple(Vec3a)instance (
LiftExpa,Elt(Plaina)) =>LiftExp(Vec3a)instance
Elta =>UnliftExp(Vec3(Expa))
Normal3 Accelerate Instances:
instance (
Elta,Floatinga) =>Elt(Normal3a)instance
Floatinga =>IsTuple(Normal3a)instance (
LiftExpa,Elt(Plaina),Floatinga,Floating(Plaina)) =>LiftExp(Normal3a)instance (
Elta,Floatinga,IsFloatinga) =>UnliftExp(Normal3(Expa))
Vec4 Accelerate Instances:
instance
Elta =>Elt(Vec4a)instance
IsTuple(Vec4a)instance (
LiftExpa,Elt(Plaina)) =>LiftExp(Vec4a)instance
Elta =>UnliftExp(Vec4(Expa))
Normal4 Accelerate Instances:
instance (
Elta,Floatinga) =>Elt(Normal4a)instance
Floatinga =>IsTuple(Normal4a)instance (
LiftExpa,Elt(Plaina),Floatinga,Floating(Plaina)) =>LiftExp(Normal4a)instance (
Elta,Floatinga,IsFloatinga) =>UnliftExp(Normal4(Expa))
Quaternion Accelerate Instances:
instance
Elta =>Elt(Quaterniona)instance
IsTuple(Quaterniona)instance (
LiftExpa,Elt(Plaina)) =>LiftExp(Quaterniona)instance
Elta =>UnliftExp(Quaternion(Expa))
UnitQuaternion Accelerate Instances:
instance (
Elta,Floatinga) =>Elt(UnitQuaterniona)instance
Floatinga =>IsTuple(UnitQuaterniona)instance (
LiftExpa,Elt(Plaina),Floatinga,Floating(Plaina)) =>LiftExp(UnitQuaterniona)instance (
Elta,IsFloatinga) =>UnliftExp(UnitQuaternion(Expa))