| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Geomancy
Synopsis
- data Vec2
- vec2 :: Float -> Float -> Vec2
- withVec2 :: Vec2 -> (Float -> Float -> r) -> r
- pattern WithVec2 :: Float -> Float -> Vec2
- type Point2 = Point Vec2
- data Vec3
- vec3 :: Float -> Float -> Float -> Vec3
- withVec3 :: Vec3 -> (Float -> Float -> Float -> r) -> r
- pattern WithVec3 :: Float -> Float -> Float -> Vec3
- type Point3 = Point Vec3
- type Point3P = Point Packed
- data Vec4
- vec4 :: Float -> Float -> Float -> Float -> Vec4
- withVec4 :: Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
- pattern WithVec4 :: Float -> Float -> Float -> Float -> Vec4
- type Point4 = Point Vec4
- data IVec2
- ivec2 :: Int32 -> Int32 -> IVec2
- withIVec2 :: IVec2 -> (Int32 -> Int32 -> r) -> r
- pattern WithIVec2 :: Int32 -> Int32 -> IVec2
- data IVec3
- ivec3 :: Int32 -> Int32 -> Int32 -> IVec3
- withIVec3 :: IVec3 -> (Int32 -> Int32 -> Int32 -> r) -> r
- pattern WithIVec3 :: Int32 -> Int32 -> Int32 -> IVec3
- data IVec4
- ivec4 :: Int32 -> Int32 -> Int32 -> Int32 -> IVec4
- withIVec4 :: IVec4 -> (Int32 -> Int32 -> Int32 -> Int32 -> r) -> r
- pattern WithIVec4 :: Int32 -> Int32 -> Int32 -> Int32 -> IVec4
- data UVec2
- uvec2 :: Word32 -> Word32 -> UVec2
- withUVec2 :: UVec2 -> (Word32 -> Word32 -> r) -> r
- pattern WithUVec2 :: Word32 -> Word32 -> UVec2
- data UVec3
- uvec3 :: Word32 -> Word32 -> Word32 -> UVec3
- withUVec3 :: UVec3 -> (Word32 -> Word32 -> Word32 -> r) -> r
- pattern WithUVec3 :: Word32 -> Word32 -> Word32 -> UVec3
- data UVec4
- uvec4 :: Word32 -> Word32 -> Word32 -> Word32 -> UVec4
- withUVec4 :: UVec4 -> (Word32 -> Word32 -> Word32 -> Word32 -> r) -> r
- pattern WithUVec4 :: Word32 -> Word32 -> Word32 -> Word32 -> UVec4
- class Elementwise a where
- epoint :: Element a -> a
- emap :: (Element a -> Element a) -> a -> a
- emap2 :: (Element a -> Element a -> Element a) -> a -> a -> a
- emap3 :: (Element a -> Element a -> Element a -> Element a) -> a -> a -> a -> a
- emap4 :: (Element a -> Element a -> Element a -> Element a -> Element a) -> a -> a -> a -> a -> a
- emap5 :: (Element a -> Element a -> Element a -> Element a -> Element a -> Element a) -> a -> a -> a -> a -> a -> a
- data Mat4
- newtype Transform = Transform {
- unTransform :: Mat4
- data Quaternion
- quaternion :: Float -> Float -> Float -> Float -> Quaternion
- withQuaternion :: Quaternion -> (Float -> Float -> Float -> Float -> r) -> r
- newtype Point v = Point v
- class (Floating a, VectorSpace v a) => AffineSpace p v a | p -> v, v -> a where
- class VectorSpace v a | v -> a where
- zeroVector :: v
- (*^) :: a -> v -> v
- (^/) :: v -> a -> v
- (^+^) :: v -> v -> v
- (^-^) :: v -> v -> v
- negateVector :: v -> v
- dot :: v -> v -> a
- norm :: v -> a
- normalize :: v -> v
- (^*) :: VectorSpace v a => v -> a -> v
- lerp :: (VectorSpace v a, Num a) => v -> v -> a -> v
- quadrance :: VectorSpace v a => v -> a
Vectors
Single-precision / float32s
Instances
Instances
| Storable Vec3 Source # | |||||
Defined in Geomancy.Vec3 | |||||
| Floating Vec3 Source # | |||||
| Num Vec3 Source # | |||||
| Fractional Vec3 Source # | |||||
| Show Vec3 Source # | |||||
| NFData Vec3 Source # | |||||
Defined in Geomancy.Vec3 | |||||
| Elementwise Vec3 Source # | |||||
Defined in Geomancy.Vec3 Methods epoint :: Element Vec3 -> Vec3 Source # emap :: (Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 Source # emap2 :: (Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 Source # emap3 :: (Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 -> Vec3 Source # emap4 :: (Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 -> Vec3 -> Vec3 Source # emap5 :: (Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 -> Vec3 -> Vec3 -> Vec3 Source # | |||||
| GlNearest Vec3 Source # | |||||
| Eq Vec3 Source # | |||||
| Ord Vec3 Source # | |||||
| Block Vec3 Source # | |||||
Defined in Geomancy.Vec3 Associated Types
Methods alignment140 :: proxy Vec3 -> Int # sizeOf140 :: proxy Vec3 -> Int # isStruct :: proxy Vec3 -> Bool # read140 :: MonadIO m => Ptr a -> Diff a Vec3 -> m Vec3 # write140 :: MonadIO m => Ptr a -> Diff a Vec3 -> Vec3 -> m () # alignment430 :: proxy Vec3 -> Int # sizeOf430 :: proxy Vec3 -> Int # read430 :: MonadIO m => Ptr a -> Diff a Vec3 -> m Vec3 # write430 :: MonadIO m => Ptr a -> Diff a Vec3 -> Vec3 -> m () # sizeOfPacked :: proxy Vec3 -> Int # readPacked :: MonadIO m => Ptr a -> Diff a Vec3 -> m Vec3 # writePacked :: MonadIO m => Ptr a -> Diff a Vec3 -> Vec3 -> m () # | |||||
| MonoFunctor Vec3 Source # | |||||
| MonoPointed Vec3 Source # | |||||
| IsWebColor s => IsLabel s Vec3 Source # | |||||
Defined in Geomancy.Vec3 | |||||
| GlModf Vec3 Vec3 Source # | |||||
| VectorSpace Vec3 Float Source # | |||||
| type PackedSize Vec3 Source # | |||||
Defined in Geomancy.Vec3 | |||||
| type Element Vec3 Source # | |||||
Defined in Geomancy.Vec3 | |||||
Instances
| Storable Vec4 Source # | |||||
Defined in Geomancy.Vec4 | |||||
| Floating Vec4 Source # | |||||
| Num Vec4 Source # | |||||
| Fractional Vec4 Source # | |||||
| Show Vec4 Source # | |||||
| NFData Vec4 Source # | |||||
Defined in Geomancy.Vec4 | |||||
| Elementwise Vec4 Source # | |||||
Defined in Geomancy.Vec4 Methods epoint :: Element Vec4 -> Vec4 Source # emap :: (Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 Source # emap2 :: (Element Vec4 -> Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 -> Vec4 Source # emap3 :: (Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 -> Vec4 -> Vec4 Source # emap4 :: (Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 -> Vec4 -> Vec4 -> Vec4 Source # emap5 :: (Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 -> Vec4 -> Vec4 -> Vec4 -> Vec4 Source # | |||||
| GlNearest Vec4 Source # | |||||
| Eq Vec4 Source # | |||||
| Ord Vec4 Source # | |||||
| Block Vec4 Source # | |||||
Defined in Geomancy.Vec4 Associated Types
Methods alignment140 :: proxy Vec4 -> Int # sizeOf140 :: proxy Vec4 -> Int # isStruct :: proxy Vec4 -> Bool # read140 :: MonadIO m => Ptr a -> Diff a Vec4 -> m Vec4 # write140 :: MonadIO m => Ptr a -> Diff a Vec4 -> Vec4 -> m () # alignment430 :: proxy Vec4 -> Int # sizeOf430 :: proxy Vec4 -> Int # read430 :: MonadIO m => Ptr a -> Diff a Vec4 -> m Vec4 # write430 :: MonadIO m => Ptr a -> Diff a Vec4 -> Vec4 -> m () # sizeOfPacked :: proxy Vec4 -> Int # readPacked :: MonadIO m => Ptr a -> Diff a Vec4 -> m Vec4 # writePacked :: MonadIO m => Ptr a -> Diff a Vec4 -> Vec4 -> m () # | |||||
| MonoFunctor Vec4 Source # | |||||
| MonoPointed Vec4 Source # | |||||
| IsWebColorAlpha s => IsLabel s Vec4 Source # | |||||
Defined in Geomancy.Vec4 | |||||
| GlModf Vec4 Vec4 Source # | |||||
| VectorSpace Vec4 Float Source # | |||||
| type PackedSize Vec4 Source # | |||||
Defined in Geomancy.Vec4 | |||||
| type Element Vec4 Source # | |||||
Defined in Geomancy.Vec4 | |||||
Signed / int32s
Instances
| Storable IVec2 Source # | |||||
| Ix IVec2 Source # | |||||
| Num IVec2 Source # | |||||
| Show IVec2 Source # | |||||
| NFData IVec2 Source # | |||||
Defined in Geomancy.IVec2 | |||||
| Elementwise IVec2 Source # | |||||
Defined in Geomancy.IVec2 Methods epoint :: Element IVec2 -> IVec2 Source # emap :: (Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 Source # emap2 :: (Element IVec2 -> Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 -> IVec2 Source # emap3 :: (Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 -> IVec2 -> IVec2 Source # emap4 :: (Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 -> IVec2 -> IVec2 -> IVec2 Source # emap5 :: (Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 -> IVec2 -> IVec2 -> IVec2 -> IVec2 Source # | |||||
| Eq IVec2 Source # | |||||
| Ord IVec2 Source # | |||||
| Block IVec2 Source # | |||||
Defined in Geomancy.IVec2 Associated Types
Methods alignment140 :: proxy IVec2 -> Int # sizeOf140 :: proxy IVec2 -> Int # isStruct :: proxy IVec2 -> Bool # read140 :: MonadIO m => Ptr a -> Diff a IVec2 -> m IVec2 # write140 :: MonadIO m => Ptr a -> Diff a IVec2 -> IVec2 -> m () # alignment430 :: proxy IVec2 -> Int # sizeOf430 :: proxy IVec2 -> Int # read430 :: MonadIO m => Ptr a -> Diff a IVec2 -> m IVec2 # write430 :: MonadIO m => Ptr a -> Diff a IVec2 -> IVec2 -> m () # sizeOfPacked :: proxy IVec2 -> Int # readPacked :: MonadIO m => Ptr a -> Diff a IVec2 -> m IVec2 # writePacked :: MonadIO m => Ptr a -> Diff a IVec2 -> IVec2 -> m () # | |||||
| MonoFunctor IVec2 Source # | |||||
| MonoPointed IVec2 Source # | |||||
| type PackedSize IVec2 Source # | |||||
Defined in Geomancy.IVec2 | |||||
| type Element IVec2 Source # | |||||
Defined in Geomancy.IVec2 | |||||
Instances
| Storable IVec3 Source # | |||||
| Ix IVec3 Source # | |||||
| Num IVec3 Source # | |||||
| Show IVec3 Source # | |||||
| NFData IVec3 Source # | |||||
Defined in Geomancy.IVec3 | |||||
| Elementwise IVec3 Source # | |||||
Defined in Geomancy.IVec3 Methods epoint :: Element IVec3 -> IVec3 Source # emap :: (Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 Source # emap2 :: (Element IVec3 -> Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 -> IVec3 Source # emap3 :: (Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 -> IVec3 -> IVec3 Source # emap4 :: (Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 -> IVec3 -> IVec3 -> IVec3 Source # emap5 :: (Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 -> IVec3 -> IVec3 -> IVec3 -> IVec3 Source # | |||||
| Eq IVec3 Source # | |||||
| Ord IVec3 Source # | |||||
| Block IVec3 Source # | |||||
Defined in Geomancy.IVec3 Associated Types
Methods alignment140 :: proxy IVec3 -> Int # sizeOf140 :: proxy IVec3 -> Int # isStruct :: proxy IVec3 -> Bool # read140 :: MonadIO m => Ptr a -> Diff a IVec3 -> m IVec3 # write140 :: MonadIO m => Ptr a -> Diff a IVec3 -> IVec3 -> m () # alignment430 :: proxy IVec3 -> Int # sizeOf430 :: proxy IVec3 -> Int # read430 :: MonadIO m => Ptr a -> Diff a IVec3 -> m IVec3 # write430 :: MonadIO m => Ptr a -> Diff a IVec3 -> IVec3 -> m () # sizeOfPacked :: proxy IVec3 -> Int # readPacked :: MonadIO m => Ptr a -> Diff a IVec3 -> m IVec3 # writePacked :: MonadIO m => Ptr a -> Diff a IVec3 -> IVec3 -> m () # | |||||
| MonoFunctor IVec3 Source # | |||||
| MonoPointed IVec3 Source # | |||||
| type PackedSize IVec3 Source # | |||||
Defined in Geomancy.IVec3 | |||||
| type Element IVec3 Source # | |||||
Defined in Geomancy.IVec3 | |||||
Instances
| Storable IVec4 Source # | |||||
| Ix IVec4 Source # | |||||
| Num IVec4 Source # | |||||
| Show IVec4 Source # | |||||
| NFData IVec4 Source # | |||||
Defined in Geomancy.IVec4 | |||||
| Elementwise IVec4 Source # | |||||
Defined in Geomancy.IVec4 Methods epoint :: Element IVec4 -> IVec4 Source # emap :: (Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 Source # emap2 :: (Element IVec4 -> Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 -> IVec4 Source # emap3 :: (Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 -> IVec4 -> IVec4 Source # emap4 :: (Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 -> IVec4 -> IVec4 -> IVec4 Source # emap5 :: (Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 -> IVec4 -> IVec4 -> IVec4 -> IVec4 Source # | |||||
| Eq IVec4 Source # | |||||
| Ord IVec4 Source # | |||||
| Block IVec4 Source # | |||||
Defined in Geomancy.IVec4 Associated Types
Methods alignment140 :: proxy IVec4 -> Int # sizeOf140 :: proxy IVec4 -> Int # isStruct :: proxy IVec4 -> Bool # read140 :: MonadIO m => Ptr a -> Diff a IVec4 -> m IVec4 # write140 :: MonadIO m => Ptr a -> Diff a IVec4 -> IVec4 -> m () # alignment430 :: proxy IVec4 -> Int # sizeOf430 :: proxy IVec4 -> Int # read430 :: MonadIO m => Ptr a -> Diff a IVec4 -> m IVec4 # write430 :: MonadIO m => Ptr a -> Diff a IVec4 -> IVec4 -> m () # sizeOfPacked :: proxy IVec4 -> Int # readPacked :: MonadIO m => Ptr a -> Diff a IVec4 -> m IVec4 # writePacked :: MonadIO m => Ptr a -> Diff a IVec4 -> IVec4 -> m () # | |||||
| MonoFunctor IVec4 Source # | |||||
| MonoPointed IVec4 Source # | |||||
| type PackedSize IVec4 Source # | |||||
Defined in Geomancy.IVec4 | |||||
| type Element IVec4 Source # | |||||
Defined in Geomancy.IVec4 | |||||
Unsigned / word32s
Instances
| Storable UVec2 Source # | |||||
| Ix UVec2 Source # | |||||
| Num UVec2 Source # | |||||
| Show UVec2 Source # | |||||
| NFData UVec2 Source # | |||||
Defined in Geomancy.UVec2 | |||||
| Elementwise UVec2 Source # | |||||
Defined in Geomancy.UVec2 Methods epoint :: Element UVec2 -> UVec2 Source # emap :: (Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 Source # emap2 :: (Element UVec2 -> Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 -> UVec2 Source # emap3 :: (Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 -> UVec2 -> UVec2 Source # emap4 :: (Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 -> UVec2 -> UVec2 -> UVec2 Source # emap5 :: (Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 -> UVec2 -> UVec2 -> UVec2 -> UVec2 Source # | |||||
| Eq UVec2 Source # | |||||
| Ord UVec2 Source # | |||||
| Block UVec2 Source # | |||||
Defined in Geomancy.UVec2 Associated Types
Methods alignment140 :: proxy UVec2 -> Int # sizeOf140 :: proxy UVec2 -> Int # isStruct :: proxy UVec2 -> Bool # read140 :: MonadIO m => Ptr a -> Diff a UVec2 -> m UVec2 # write140 :: MonadIO m => Ptr a -> Diff a UVec2 -> UVec2 -> m () # alignment430 :: proxy UVec2 -> Int # sizeOf430 :: proxy UVec2 -> Int # read430 :: MonadIO m => Ptr a -> Diff a UVec2 -> m UVec2 # write430 :: MonadIO m => Ptr a -> Diff a UVec2 -> UVec2 -> m () # sizeOfPacked :: proxy UVec2 -> Int # readPacked :: MonadIO m => Ptr a -> Diff a UVec2 -> m UVec2 # writePacked :: MonadIO m => Ptr a -> Diff a UVec2 -> UVec2 -> m () # | |||||
| MonoFunctor UVec2 Source # | |||||
| MonoPointed UVec2 Source # | |||||
| type PackedSize UVec2 Source # | |||||
Defined in Geomancy.UVec2 | |||||
| type Element UVec2 Source # | |||||
Defined in Geomancy.UVec2 | |||||
Instances
| Storable UVec3 Source # | |||||
| Ix UVec3 Source # | |||||
| Num UVec3 Source # | |||||
| Show UVec3 Source # | |||||
| NFData UVec3 Source # | |||||
Defined in Geomancy.UVec3 | |||||
| Elementwise UVec3 Source # | |||||
Defined in Geomancy.UVec3 Methods epoint :: Element UVec3 -> UVec3 Source # emap :: (Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 Source # emap2 :: (Element UVec3 -> Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 -> UVec3 Source # emap3 :: (Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 -> UVec3 -> UVec3 Source # emap4 :: (Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 -> UVec3 -> UVec3 -> UVec3 Source # emap5 :: (Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 -> UVec3 -> UVec3 -> UVec3 -> UVec3 Source # | |||||
| Eq UVec3 Source # | |||||
| Ord UVec3 Source # | |||||
| Block UVec3 Source # | |||||
Defined in Geomancy.UVec3 Associated Types
Methods alignment140 :: proxy UVec3 -> Int # sizeOf140 :: proxy UVec3 -> Int # isStruct :: proxy UVec3 -> Bool # read140 :: MonadIO m => Ptr a -> Diff a UVec3 -> m UVec3 # write140 :: MonadIO m => Ptr a -> Diff a UVec3 -> UVec3 -> m () # alignment430 :: proxy UVec3 -> Int # sizeOf430 :: proxy UVec3 -> Int # read430 :: MonadIO m => Ptr a -> Diff a UVec3 -> m UVec3 # write430 :: MonadIO m => Ptr a -> Diff a UVec3 -> UVec3 -> m () # sizeOfPacked :: proxy UVec3 -> Int # readPacked :: MonadIO m => Ptr a -> Diff a UVec3 -> m UVec3 # writePacked :: MonadIO m => Ptr a -> Diff a UVec3 -> UVec3 -> m () # | |||||
| MonoFunctor UVec3 Source # | |||||
| MonoPointed UVec3 Source # | |||||
| IsWebColor s => IsLabel s UVec3 Source # | |||||
Defined in Geomancy.UVec3 | |||||
| type PackedSize UVec3 Source # | |||||
Defined in Geomancy.UVec3 | |||||
| type Element UVec3 Source # | |||||
Defined in Geomancy.UVec3 | |||||
Instances
| Storable UVec4 Source # | |||||
| Ix UVec4 Source # | |||||
| Num UVec4 Source # | |||||
| Show UVec4 Source # | |||||
| NFData UVec4 Source # | |||||
Defined in Geomancy.UVec4 | |||||
| Elementwise UVec4 Source # | |||||
Defined in Geomancy.UVec4 Methods epoint :: Element UVec4 -> UVec4 Source # emap :: (Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 Source # emap2 :: (Element UVec4 -> Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 -> UVec4 Source # emap3 :: (Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 -> UVec4 -> UVec4 Source # emap4 :: (Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 -> UVec4 -> UVec4 -> UVec4 Source # emap5 :: (Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 -> UVec4 -> UVec4 -> UVec4 -> UVec4 Source # | |||||
| Eq UVec4 Source # | |||||
| Ord UVec4 Source # | |||||
| Block UVec4 Source # | |||||
Defined in Geomancy.UVec4 Associated Types
Methods alignment140 :: proxy UVec4 -> Int # sizeOf140 :: proxy UVec4 -> Int # isStruct :: proxy UVec4 -> Bool # read140 :: MonadIO m => Ptr a -> Diff a UVec4 -> m UVec4 # write140 :: MonadIO m => Ptr a -> Diff a UVec4 -> UVec4 -> m () # alignment430 :: proxy UVec4 -> Int # sizeOf430 :: proxy UVec4 -> Int # read430 :: MonadIO m => Ptr a -> Diff a UVec4 -> m UVec4 # write430 :: MonadIO m => Ptr a -> Diff a UVec4 -> UVec4 -> m () # sizeOfPacked :: proxy UVec4 -> Int # readPacked :: MonadIO m => Ptr a -> Diff a UVec4 -> m UVec4 # writePacked :: MonadIO m => Ptr a -> Diff a UVec4 -> UVec4 -> m () # | |||||
| MonoFunctor UVec4 Source # | |||||
| MonoPointed UVec4 Source # | |||||
| type PackedSize UVec4 Source # | |||||
Defined in Geomancy.UVec4 | |||||
| type Element UVec4 Source # | |||||
Defined in Geomancy.UVec4 | |||||
Generic maps
class Elementwise a where Source #
Methods
epoint :: Element a -> a Source #
default epoint :: MonoPointed a => Element a -> a Source #
emap :: (Element a -> Element a) -> a -> a Source #
emap2 :: (Element a -> Element a -> Element a) -> a -> a -> a Source #
emap3 :: (Element a -> Element a -> Element a -> Element a) -> a -> a -> a -> a Source #
emap4 :: (Element a -> Element a -> Element a -> Element a -> Element a) -> a -> a -> a -> a -> a Source #
emap5 :: (Element a -> Element a -> Element a -> Element a -> Element a -> Element a) -> a -> a -> a -> a -> a -> a Source #
Instances
| Elementwise IVec2 Source # | |
Defined in Geomancy.IVec2 Methods epoint :: Element IVec2 -> IVec2 Source # emap :: (Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 Source # emap2 :: (Element IVec2 -> Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 -> IVec2 Source # emap3 :: (Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 -> IVec2 -> IVec2 Source # emap4 :: (Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 -> IVec2 -> IVec2 -> IVec2 Source # emap5 :: (Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2 -> Element IVec2) -> IVec2 -> IVec2 -> IVec2 -> IVec2 -> IVec2 -> IVec2 Source # | |
| Elementwise IVec3 Source # | |
Defined in Geomancy.IVec3 Methods epoint :: Element IVec3 -> IVec3 Source # emap :: (Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 Source # emap2 :: (Element IVec3 -> Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 -> IVec3 Source # emap3 :: (Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 -> IVec3 -> IVec3 Source # emap4 :: (Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 -> IVec3 -> IVec3 -> IVec3 Source # emap5 :: (Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3 -> Element IVec3) -> IVec3 -> IVec3 -> IVec3 -> IVec3 -> IVec3 -> IVec3 Source # | |
| Elementwise IVec4 Source # | |
Defined in Geomancy.IVec4 Methods epoint :: Element IVec4 -> IVec4 Source # emap :: (Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 Source # emap2 :: (Element IVec4 -> Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 -> IVec4 Source # emap3 :: (Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 -> IVec4 -> IVec4 Source # emap4 :: (Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 -> IVec4 -> IVec4 -> IVec4 Source # emap5 :: (Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4 -> Element IVec4) -> IVec4 -> IVec4 -> IVec4 -> IVec4 -> IVec4 -> IVec4 Source # | |
| Elementwise UVec2 Source # | |
Defined in Geomancy.UVec2 Methods epoint :: Element UVec2 -> UVec2 Source # emap :: (Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 Source # emap2 :: (Element UVec2 -> Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 -> UVec2 Source # emap3 :: (Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 -> UVec2 -> UVec2 Source # emap4 :: (Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 -> UVec2 -> UVec2 -> UVec2 Source # emap5 :: (Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2 -> Element UVec2) -> UVec2 -> UVec2 -> UVec2 -> UVec2 -> UVec2 -> UVec2 Source # | |
| Elementwise UVec3 Source # | |
Defined in Geomancy.UVec3 Methods epoint :: Element UVec3 -> UVec3 Source # emap :: (Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 Source # emap2 :: (Element UVec3 -> Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 -> UVec3 Source # emap3 :: (Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 -> UVec3 -> UVec3 Source # emap4 :: (Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 -> UVec3 -> UVec3 -> UVec3 Source # emap5 :: (Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 -> UVec3 -> UVec3 -> UVec3 -> UVec3 Source # | |
| Elementwise UVec4 Source # | |
Defined in Geomancy.UVec4 Methods epoint :: Element UVec4 -> UVec4 Source # emap :: (Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 Source # emap2 :: (Element UVec4 -> Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 -> UVec4 Source # emap3 :: (Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 -> UVec4 -> UVec4 Source # emap4 :: (Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 -> UVec4 -> UVec4 -> UVec4 Source # emap5 :: (Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4 -> Element UVec4) -> UVec4 -> UVec4 -> UVec4 -> UVec4 -> UVec4 -> UVec4 Source # | |
| Elementwise Vec2 Source # | |
Defined in Geomancy.Vec2 Methods epoint :: Element Vec2 -> Vec2 Source # emap :: (Element Vec2 -> Element Vec2) -> Vec2 -> Vec2 Source # emap2 :: (Element Vec2 -> Element Vec2 -> Element Vec2) -> Vec2 -> Vec2 -> Vec2 Source # emap3 :: (Element Vec2 -> Element Vec2 -> Element Vec2 -> Element Vec2) -> Vec2 -> Vec2 -> Vec2 -> Vec2 Source # emap4 :: (Element Vec2 -> Element Vec2 -> Element Vec2 -> Element Vec2 -> Element Vec2) -> Vec2 -> Vec2 -> Vec2 -> Vec2 -> Vec2 Source # emap5 :: (Element Vec2 -> Element Vec2 -> Element Vec2 -> Element Vec2 -> Element Vec2 -> Element Vec2) -> Vec2 -> Vec2 -> Vec2 -> Vec2 -> Vec2 -> Vec2 Source # | |
| Elementwise Packed Source # | |
Defined in Geomancy.Vec3 Methods epoint :: Element Packed -> Packed Source # emap :: (Element Packed -> Element Packed) -> Packed -> Packed Source # emap2 :: (Element Packed -> Element Packed -> Element Packed) -> Packed -> Packed -> Packed Source # emap3 :: (Element Packed -> Element Packed -> Element Packed -> Element Packed) -> Packed -> Packed -> Packed -> Packed Source # emap4 :: (Element Packed -> Element Packed -> Element Packed -> Element Packed -> Element Packed) -> Packed -> Packed -> Packed -> Packed -> Packed Source # emap5 :: (Element Packed -> Element Packed -> Element Packed -> Element Packed -> Element Packed -> Element Packed) -> Packed -> Packed -> Packed -> Packed -> Packed -> Packed Source # | |
| Elementwise Vec3 Source # | |
Defined in Geomancy.Vec3 Methods epoint :: Element Vec3 -> Vec3 Source # emap :: (Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 Source # emap2 :: (Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 Source # emap3 :: (Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 -> Vec3 Source # emap4 :: (Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 -> Vec3 -> Vec3 Source # emap5 :: (Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 -> Vec3 -> Vec3 -> Vec3 Source # | |
| Elementwise Vec4 Source # | |
Defined in Geomancy.Vec4 Methods epoint :: Element Vec4 -> Vec4 Source # emap :: (Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 Source # emap2 :: (Element Vec4 -> Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 -> Vec4 Source # emap3 :: (Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 -> Vec4 -> Vec4 Source # emap4 :: (Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 -> Vec4 -> Vec4 -> Vec4 Source # emap5 :: (Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4 -> Element Vec4) -> Vec4 -> Vec4 -> Vec4 -> Vec4 -> Vec4 -> Vec4 Source # | |
| Elementwise v => Elementwise (Point v) Source # | |
Defined in Geomancy.Point Methods epoint :: Element (Point v) -> Point v Source # emap :: (Element (Point v) -> Element (Point v)) -> Point v -> Point v Source # emap2 :: (Element (Point v) -> Element (Point v) -> Element (Point v)) -> Point v -> Point v -> Point v Source # emap3 :: (Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v)) -> Point v -> Point v -> Point v -> Point v Source # emap4 :: (Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v)) -> Point v -> Point v -> Point v -> Point v -> Point v Source # emap5 :: (Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v)) -> Point v -> Point v -> Point v -> Point v -> Point v -> Point v Source # | |
Matrices
Instances
| Storable Mat4 Source # | |||||
Defined in Geomancy.Mat4.Internal | |||||
| Monoid Mat4 Source # | |||||
| Semigroup Mat4 Source # | |||||
| Show Mat4 Source # | |||||
| NFData Mat4 Source # | |||||
Defined in Geomancy.Mat4.Internal | |||||
| Block Mat4 Source # | |||||
Defined in Geomancy.Mat4.Internal Associated Types
Methods alignment140 :: proxy Mat4 -> Int # sizeOf140 :: proxy Mat4 -> Int # isStruct :: proxy Mat4 -> Bool # read140 :: MonadIO m => Ptr a -> Diff a Mat4 -> m Mat4 # write140 :: MonadIO m => Ptr a -> Diff a Mat4 -> Mat4 -> m () # alignment430 :: proxy Mat4 -> Int # sizeOf430 :: proxy Mat4 -> Int # read430 :: MonadIO m => Ptr a -> Diff a Mat4 -> m Mat4 # write430 :: MonadIO m => Ptr a -> Diff a Mat4 -> Mat4 -> m () # sizeOfPacked :: proxy Mat4 -> Int # readPacked :: MonadIO m => Ptr a -> Diff a Mat4 -> m Mat4 # writePacked :: MonadIO m => Ptr a -> Diff a Mat4 -> Mat4 -> m () # | |||||
| type PackedSize Mat4 Source # | |||||
Defined in Geomancy.Mat4.Internal | |||||
Constructors
| Transform | |
Fields
| |
Instances
| Storable Transform Source # | |||||
Defined in Geomancy.Transform | |||||
| Monoid Transform Source # | |||||
| Semigroup Transform Source # | |||||
| Show Transform Source # | |||||
| Block Transform Source # | |||||
Defined in Geomancy.Transform Associated Types
Methods alignment140 :: proxy Transform -> Int # sizeOf140 :: proxy Transform -> Int # isStruct :: proxy Transform -> Bool # read140 :: MonadIO m => Ptr a -> Diff a Transform -> m Transform # write140 :: MonadIO m => Ptr a -> Diff a Transform -> Transform -> m () # alignment430 :: proxy Transform -> Int # sizeOf430 :: proxy Transform -> Int # read430 :: MonadIO m => Ptr a -> Diff a Transform -> m Transform # write430 :: MonadIO m => Ptr a -> Diff a Transform -> Transform -> m () # sizeOfPacked :: proxy Transform -> Int # readPacked :: MonadIO m => Ptr a -> Diff a Transform -> m Transform # writePacked :: MonadIO m => Ptr a -> Diff a Transform -> Transform -> m () # | |||||
| type PackedSize Transform Source # | |||||
Defined in Geomancy.Transform | |||||
Other beasts
data Quaternion Source #
Instances
| Storable Quaternion Source # | |||||
Defined in Geomancy.Quaternion Methods sizeOf :: Quaternion -> Int # alignment :: Quaternion -> Int # peekElemOff :: Ptr Quaternion -> Int -> IO Quaternion # pokeElemOff :: Ptr Quaternion -> Int -> Quaternion -> IO () # peekByteOff :: Ptr b -> Int -> IO Quaternion # pokeByteOff :: Ptr b -> Int -> Quaternion -> IO () # peek :: Ptr Quaternion -> IO Quaternion # poke :: Ptr Quaternion -> Quaternion -> IO () # | |||||
| Num Quaternion Source # | |||||
Defined in Geomancy.Quaternion Methods (+) :: Quaternion -> Quaternion -> Quaternion # (-) :: Quaternion -> Quaternion -> Quaternion # (*) :: Quaternion -> Quaternion -> Quaternion # negate :: Quaternion -> Quaternion # abs :: Quaternion -> Quaternion # signum :: Quaternion -> Quaternion # fromInteger :: Integer -> Quaternion # | |||||
| Show Quaternion Source # | |||||
Defined in Geomancy.Quaternion Methods showsPrec :: Int -> Quaternion -> ShowS # show :: Quaternion -> String # showList :: [Quaternion] -> ShowS # | |||||
| NFData Quaternion Source # | |||||
Defined in Geomancy.Quaternion Methods rnf :: Quaternion -> () # | |||||
| Eq Quaternion Source # | |||||
Defined in Geomancy.Quaternion | |||||
| Ord Quaternion Source # | |||||
Defined in Geomancy.Quaternion Methods compare :: Quaternion -> Quaternion -> Ordering # (<) :: Quaternion -> Quaternion -> Bool # (<=) :: Quaternion -> Quaternion -> Bool # (>) :: Quaternion -> Quaternion -> Bool # (>=) :: Quaternion -> Quaternion -> Bool # max :: Quaternion -> Quaternion -> Quaternion # min :: Quaternion -> Quaternion -> Quaternion # | |||||
| Block Quaternion Source # | |||||
Defined in Geomancy.Quaternion Associated Types
Methods alignment140 :: proxy Quaternion -> Int # sizeOf140 :: proxy Quaternion -> Int # isStruct :: proxy Quaternion -> Bool # read140 :: MonadIO m => Ptr a -> Diff a Quaternion -> m Quaternion # write140 :: MonadIO m => Ptr a -> Diff a Quaternion -> Quaternion -> m () # alignment430 :: proxy Quaternion -> Int # sizeOf430 :: proxy Quaternion -> Int # read430 :: MonadIO m => Ptr a -> Diff a Quaternion -> m Quaternion # write430 :: MonadIO m => Ptr a -> Diff a Quaternion -> Quaternion -> m () # sizeOfPacked :: proxy Quaternion -> Int # readPacked :: MonadIO m => Ptr a -> Diff a Quaternion -> m Quaternion # writePacked :: MonadIO m => Ptr a -> Diff a Quaternion -> Quaternion -> m () # | |||||
| type PackedSize Quaternion Source # | |||||
Defined in Geomancy.Quaternion | |||||
quaternion :: Float -> Float -> Float -> Float -> Quaternion Source #
withQuaternion :: Quaternion -> (Float -> Float -> Float -> Float -> r) -> r Source #
Spaces
Constructors
| Point v |
Instances
| Storable v => Storable (Point v) Source # | |||||
| Generic (Point v) Source # | |||||
Defined in Geomancy.Point Associated Types
| |||||
| Ix v => Ix (Point v) Source # | |||||
Defined in Geomancy.Point | |||||
| Num v => Num (Point v) Source # | |||||
| Fractional v => Fractional (Point v) Source # | |||||
| Show v => Show (Point v) Source # | |||||
| NFData v => NFData (Point v) Source # | |||||
Defined in Geomancy.Point | |||||
| Elementwise v => Elementwise (Point v) Source # | |||||
Defined in Geomancy.Point Methods epoint :: Element (Point v) -> Point v Source # emap :: (Element (Point v) -> Element (Point v)) -> Point v -> Point v Source # emap2 :: (Element (Point v) -> Element (Point v) -> Element (Point v)) -> Point v -> Point v -> Point v Source # emap3 :: (Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v)) -> Point v -> Point v -> Point v -> Point v Source # emap4 :: (Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v)) -> Point v -> Point v -> Point v -> Point v -> Point v Source # emap5 :: (Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v) -> Element (Point v)) -> Point v -> Point v -> Point v -> Point v -> Point v -> Point v Source # | |||||
| Eq v => Eq (Point v) Source # | |||||
| Ord v => Ord (Point v) Source # | |||||
| (KnownNat (PackedSize v), Block v) => Block (Point v) Source # | |||||
Defined in Geomancy.Point Associated Types
Methods alignment140 :: proxy (Point v) -> Int # sizeOf140 :: proxy (Point v) -> Int # isStruct :: proxy (Point v) -> Bool # read140 :: MonadIO m => Ptr a -> Diff a (Point v) -> m (Point v) # write140 :: MonadIO m => Ptr a -> Diff a (Point v) -> Point v -> m () # alignment430 :: proxy (Point v) -> Int # sizeOf430 :: proxy (Point v) -> Int # read430 :: MonadIO m => Ptr a -> Diff a (Point v) -> m (Point v) # write430 :: MonadIO m => Ptr a -> Diff a (Point v) -> Point v -> m () # sizeOfPacked :: proxy (Point v) -> Int # readPacked :: MonadIO m => Ptr a -> Diff a (Point v) -> m (Point v) # writePacked :: MonadIO m => Ptr a -> Diff a (Point v) -> Point v -> m () # | |||||
| MonoFunctor v => MonoFunctor (Point v) Source # | |||||
| MonoPointed v => MonoPointed (Point v) Source # | |||||
| VectorSpace v Float => AffineSpace (Point v) v Float Source # | |||||
| type Rep (Point v) Source # | |||||
Defined in Geomancy.Point | |||||
| type PackedSize (Point v) Source # | |||||
Defined in Geomancy.Point | |||||
| type Element (Point v) Source # | |||||
Defined in Geomancy.Point | |||||
class (Floating a, VectorSpace v a) => AffineSpace p v a | p -> v, v -> a where #
Affine Space type relation.
An affine space is a set (type) p, and an associated vector space v over
a field a.
Methods
(.+^) :: p -> v -> p infix 6 #
Addition of affine point and vector.
(.-^) :: p -> v -> p infix 6 #
Subtraction of affine point and vector.
(.-.) :: p -> p -> v infix 6 #
Subtraction of two points in the affine space, giving a vector.
Instances
| VectorSpace v Float => AffineSpace (Point v) v Float Source # | |
| RealFloat a => AffineSpace (Point2 a) (Vector2 a) a | |
| RealFloat a => AffineSpace (Point3 a) (Vector3 a) a | |
class VectorSpace v a | v -> a where #
Vector space type relation.
A vector space is a set (type) closed under addition and multiplication by
a scalar. The type of the scalar is the field of the vector space, and
it is said that v is a vector space over a.
The encoding uses a type class |VectorSpace| v a, where v represents
the type of the vectors and a represents the types of the scalars.
Minimal complete definition
zeroVector, (*^), (^+^), dot
Methods
zeroVector :: v #
Vector with no magnitude (unit for addition).
(*^) :: a -> v -> v infixr 9 #
Multiplication by a scalar.
(^/) :: v -> a -> v infixl 9 #
Division by a scalar.
default (^/) :: Fractional a => v -> a -> v #
(^+^) :: v -> v -> v infixl 6 #
Vector addition
(^-^) :: v -> v -> v infixl 6 #
Vector subtraction
negateVector :: v -> v #
Vector negation. Addition with a negated vector should be same as subtraction.
default negateVector :: Num a => v -> v #
Dot product (also known as scalar or inner product).
For two vectors, mathematically represented as a = a1,a2,...,an and b
= b1,b2,...,bn, the dot product is a . b = a1*b1 + a2*b2 + ... +
an*bn.
Some properties are derived from this. The dot product of a vector with
itself is the square of its magnitude (norm), and the dot product of
two orthogonal vectors is zero.
Vector's norm (also known as magnitude).
For a vector represented mathematically as a = a1,a2,...,an, the norm
is the square root of a1^2 + a2^2 + ... + an^2.
Return a vector with the same origin and orientation (angle), but such that the norm is one (the unit for multiplication by a scalar).
Instances
| VectorSpace Vec2 Float Source # | |
| VectorSpace Packed Float Source # | |
Defined in Geomancy.Vec3 | |
| VectorSpace Vec3 Float Source # | |
| VectorSpace Vec4 Float Source # | |
| VectorSpace Double Double | |
| VectorSpace Float Float | |
Defined in Data.VectorSpace | |
| RealFloat a => VectorSpace (Vector2 a) a | |
| RealFloat a => VectorSpace (Vector3 a) a | |
| (Eq a, Floating a) => VectorSpace (a, a) a | Vector space instance for pairs of |
Defined in Data.VectorSpace | |
| (Eq a, Floating a) => VectorSpace (a, a, a) a | Vector space instance for triplets of |
Defined in Data.VectorSpace | |
| (Eq a, Floating a) => VectorSpace (a, a, a, a) a | Vector space instance for tuples with four |
Defined in Data.VectorSpace Methods zeroVector :: (a, a, a, a) # (*^) :: a -> (a, a, a, a) -> (a, a, a, a) # (^/) :: (a, a, a, a) -> a -> (a, a, a, a) # (^+^) :: (a, a, a, a) -> (a, a, a, a) -> (a, a, a, a) # (^-^) :: (a, a, a, a) -> (a, a, a, a) -> (a, a, a, a) # negateVector :: (a, a, a, a) -> (a, a, a, a) # | |
| (Eq a, Floating a) => VectorSpace (a, a, a, a, a) a | Vector space instance for tuples with five |
Defined in Data.VectorSpace Methods zeroVector :: (a, a, a, a, a) # (*^) :: a -> (a, a, a, a, a) -> (a, a, a, a, a) # (^/) :: (a, a, a, a, a) -> a -> (a, a, a, a, a) # (^+^) :: (a, a, a, a, a) -> (a, a, a, a, a) -> (a, a, a, a, a) # (^-^) :: (a, a, a, a, a) -> (a, a, a, a, a) -> (a, a, a, a, a) # negateVector :: (a, a, a, a, a) -> (a, a, a, a, a) # dot :: (a, a, a, a, a) -> (a, a, a, a, a) -> a # | |
(^*) :: VectorSpace v a => v -> a -> v Source #
lerp :: (VectorSpace v a, Num a) => v -> v -> a -> v Source #
quadrance :: VectorSpace v a => v -> a Source #