| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Geomancy.Mat4.Internal
Description
General matrix storage and operations.
Synopsis
- data Mat4 = Mat4 ByteArray#
- fromMemory :: Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Mat4
- withMemory :: Mat4 -> (Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> r) -> r
- newMat4 :: IO Mat4
- identity :: Mat4
- transpose :: Mat4 -> Mat4
- pointwise :: Mat4 -> Mat4 -> (Float -> Float -> Float) -> Mat4
- scalarMultiply :: Float -> Mat4 -> Mat4
- toListMemory :: Mat4 -> [Float]
- toList2dMemory :: Mat4 -> [[Float]]
- toListTrans :: Mat4 -> [Float]
- toList2dTrans :: Mat4 -> [[Float]]
- zipWith :: (Float -> Float -> c) -> Mat4 -> Mat4 -> [c]
Documentation
Constructors
| Mat4 ByteArray# |
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 | |||||
fromMemory :: Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Mat4 Source #
Construct Mat4 from elements in memory order.
withMemory :: Mat4 -> (Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> r) -> r Source #
Reduce Mat4 with a function with memory notation for arguments.
Order-independent operations
I, the identity matrix.
Neutral element of its monoid, so you can use mempty.
List operations in memory order
toListMemory :: Mat4 -> [Float] Source #
toList2dMemory :: Mat4 -> [[Float]] Source #
toListTrans :: Mat4 -> [Float] Source #
toList2dTrans :: Mat4 -> [[Float]] Source #