geomancy-0.3.0.0: Vectors and matrix manipulation
Safe HaskellNone
LanguageHaskell2010

Geomancy.Mat4.Internal

Description

General matrix storage and operations.

Synopsis

Documentation

data Mat4 Source #

Constructors

Mat4 ByteArray# 

Instances

Instances details
Storable Mat4 Source # 
Instance details

Defined in Geomancy.Mat4.Internal

Methods

sizeOf :: Mat4 -> Int #

alignment :: Mat4 -> Int #

peekElemOff :: Ptr Mat4 -> Int -> IO Mat4 #

pokeElemOff :: Ptr Mat4 -> Int -> Mat4 -> IO () #

peekByteOff :: Ptr b -> Int -> IO Mat4 #

pokeByteOff :: Ptr b -> Int -> Mat4 -> IO () #

peek :: Ptr Mat4 -> IO Mat4 #

poke :: Ptr Mat4 -> Mat4 -> IO () #

Monoid Mat4 Source # 
Instance details

Defined in Geomancy.Mat4

Methods

mempty :: Mat4 #

mappend :: Mat4 -> Mat4 -> Mat4 #

mconcat :: [Mat4] -> Mat4 #

Semigroup Mat4 Source # 
Instance details

Defined in Geomancy.Mat4

Methods

(<>) :: Mat4 -> Mat4 -> Mat4 #

sconcat :: NonEmpty Mat4 -> Mat4 #

stimes :: Integral b => b -> Mat4 -> Mat4 #

Show Mat4 Source # 
Instance details

Defined in Geomancy.Mat4

Methods

showsPrec :: Int -> Mat4 -> ShowS #

show :: Mat4 -> String #

showList :: [Mat4] -> ShowS #

NFData Mat4 Source # 
Instance details

Defined in Geomancy.Mat4.Internal

Methods

rnf :: Mat4 -> () #

Block Mat4 Source # 
Instance details

Defined in Geomancy.Mat4.Internal

Associated Types

type PackedSize Mat4 
Instance details

Defined in Geomancy.Mat4.Internal

type PackedSize Mat4 = 64

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 # 
Instance details

Defined in Geomancy.Mat4.Internal

type PackedSize Mat4 = 64

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

identity :: Mat4 Source #

I, the identity matrix.

Neutral element of its monoid, so you can use mempty.

List operations in memory order

zipWith :: (Float -> Float -> c) -> Mat4 -> Mat4 -> [c] Source #