Safe Haskell | Safe-Infered |
---|
Provides generic typeclasses for common operations among many types: addition, subtraction, scalar multiplication, magnitude, and zero.
Documentation
class (AbstractZero v, AbstractAdd v v, AbstractSubtract v v, AbstractScale v) => AbstractVector v Source
class AbstractZero a whereSource
AbstractZero Double | |
AbstractZero Float | |
AbstractZero Integer | |
AbstractZero RSdouble | |
AbstractZero RSfloat | |
AbstractZero BoundAngle | |
AbstractZero Angle | |
AbstractZero Vector3D | |
AbstractZero Point3D | |
AbstractZero RGBA | |
AbstractZero RGB | |
AbstractZero Time | |
HasResolution a => AbstractZero (Fixed a) | |
AbstractZero a => AbstractZero (Rate a) | |
(AbstractZero a, AbstractZero b) => AbstractZero (a, b) | |
(Applicative f, AbstractZero p) => AbstractZero (ApplicativeWrapper f p) | ApplicativeWrapper |
class AbstractAdd p v | p -> v whereSource
AbstractAdd Double Double | |
AbstractAdd Float Float | |
AbstractAdd Integer Integer | |
AbstractAdd RSdouble RSdouble | |
AbstractAdd RSfloat RSfloat | |
AbstractAdd BoundAngle Angle | |
AbstractAdd Angle Angle | |
AbstractAdd Vector3D Vector3D | |
AbstractAdd Point3D Vector3D | |
AbstractAdd RGBA RGBA | |
AbstractAdd RGB RGB | |
AbstractAdd Time Time | |
HasResolution a => AbstractAdd (Fixed a) (Fixed a) | |
AbstractAdd a a => AbstractAdd (Rate a) (Rate a) | |
(AbstractAdd a a', AbstractAdd b b') => AbstractAdd (a, b) (a', b') | |
(Applicative f, AbstractAdd p v) => AbstractAdd (ApplicativeWrapper f p) (ApplicativeWrapper f v) |
class AbstractSubtract p v | p -> v whereSource
class AbstractScale v whereSource
scalarMultiply :: RSdouble -> v -> vSource
AbstractScale Double | |
AbstractScale Float | |
AbstractScale RSdouble | |
AbstractScale RSfloat | |
AbstractScale Angle | |
AbstractScale Vector3D | |
AbstractScale RGBA | |
AbstractScale RGB | |
AbstractScale Time | |
AbstractScale a => AbstractScale [a] | |
HasResolution a => AbstractScale (Fixed a) | |
AbstractScale a => AbstractScale (Rate a) | |
(AbstractScale a, AbstractScale b) => AbstractScale (a, b) | |
(Applicative f, AbstractScale v) => AbstractScale (ApplicativeWrapper f v) |
class AbstractMagnitude v whereSource
abstractScaleTo :: (AbstractScale v, AbstractMagnitude v) => RSdouble -> v -> vSource
abstractSum :: (AbstractAdd p v, AbstractZero p) => [v] -> pSource
abstractAverage :: (AbstractAdd p v, AbstractSubtract p v, AbstractVector v, AbstractZero p) => [p] -> pSource
abstractDistance :: (AbstractMagnitude v, AbstractSubtract p v) => p -> p -> RSdoubleSource