geomancy-0.2.6.0: Geometry and matrix manipulation
Safe HaskellSafe-Inferred
LanguageHaskell2010

Geomancy.UVec3

Description

Specialized and inlined V2 Word32.

Documentation

data UVec3 Source #

Instances

Instances details
Storable UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Methods

sizeOf :: UVec3 -> Int #

alignment :: UVec3 -> Int #

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

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

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

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

peek :: Ptr UVec3 -> IO UVec3 #

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

Ix UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Num UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Show UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Methods

showsPrec :: Int -> UVec3 -> ShowS #

show :: UVec3 -> String #

showList :: [UVec3] -> ShowS #

NFData UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Methods

rnf :: UVec3 -> () #

Elementwise UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Eq UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Methods

(==) :: UVec3 -> UVec3 -> Bool #

(/=) :: UVec3 -> UVec3 -> Bool #

Ord UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Methods

compare :: UVec3 -> UVec3 -> Ordering #

(<) :: UVec3 -> UVec3 -> Bool #

(<=) :: UVec3 -> UVec3 -> Bool #

(>) :: UVec3 -> UVec3 -> Bool #

(>=) :: UVec3 -> UVec3 -> Bool #

max :: UVec3 -> UVec3 -> UVec3 #

min :: UVec3 -> UVec3 -> UVec3 #

Block UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Associated Types

type PackedSize UVec3 :: Nat #

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

Defined in Geomancy.UVec3

Methods

omap :: (Element UVec3 -> Element UVec3) -> UVec3 -> UVec3 #

MonoPointed UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Methods

opoint :: Element UVec3 -> UVec3 #

type PackedSize UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

type PackedSize UVec3 = 12
type Element UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

withUVec3 :: UVec3 -> (Word32 -> Word32 -> Word32 -> r) -> r Source #

pattern WithUVec3 :: Word32 -> Word32 -> Word32 -> UVec3 Source #

convert :: Coercible v UVec3 => (Word32 -> a) -> (a -> a -> a -> r) -> v -> r Source #

newtype Packed Source #

Constructors

Packed 

Fields

Instances

Instances details
Storable Packed Source # 
Instance details

Defined in Geomancy.UVec3

Num Packed Source # 
Instance details

Defined in Geomancy.UVec3

Show Packed Source # 
Instance details

Defined in Geomancy.UVec3

NFData Packed Source # 
Instance details

Defined in Geomancy.UVec3

Methods

rnf :: Packed -> () #

Eq Packed Source # 
Instance details

Defined in Geomancy.UVec3

Methods

(==) :: Packed -> Packed -> Bool #

(/=) :: Packed -> Packed -> Bool #

Ord Packed Source # 
Instance details

Defined in Geomancy.UVec3

Block Packed Source # 
Instance details

Defined in Geomancy.UVec3

Associated Types

type PackedSize Packed :: Nat #

Methods

alignment140 :: proxy Packed -> Int #

sizeOf140 :: proxy Packed -> Int #

isStruct :: proxy Packed -> Bool #

read140 :: MonadIO m => Ptr a -> Diff a Packed -> m Packed #

write140 :: MonadIO m => Ptr a -> Diff a Packed -> Packed -> m () #

alignment430 :: proxy Packed -> Int #

sizeOf430 :: proxy Packed -> Int #

read430 :: MonadIO m => Ptr a -> Diff a Packed -> m Packed #

write430 :: MonadIO m => Ptr a -> Diff a Packed -> Packed -> m () #

sizeOfPacked :: proxy Packed -> Int #

readPacked :: MonadIO m => Ptr a -> Diff a Packed -> m Packed #

writePacked :: MonadIO m => Ptr a -> Diff a Packed -> Packed -> m () #

type PackedSize Packed Source # 
Instance details

Defined in Geomancy.UVec3

type PackedSize Packed = 12