geomancy-0.2.3.0: Geometry and matrix manipulation
Safe HaskellNone
LanguageHaskell2010

Geomancy

Synopsis

Vectors

Single-precision / float32s

data Vec2 Source #

Instances

Instances details
Eq Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

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

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

Fractional Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

(/) :: Vec2 -> Vec2 -> Vec2 #

recip :: Vec2 -> Vec2 #

fromRational :: Rational -> Vec2 #

Num Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

(+) :: Vec2 -> Vec2 -> Vec2 #

(-) :: Vec2 -> Vec2 -> Vec2 #

(*) :: Vec2 -> Vec2 -> Vec2 #

negate :: Vec2 -> Vec2 #

abs :: Vec2 -> Vec2 #

signum :: Vec2 -> Vec2 #

fromInteger :: Integer -> Vec2 #

Ord Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

compare :: Vec2 -> Vec2 -> Ordering #

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

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

(>) :: Vec2 -> Vec2 -> Bool #

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

max :: Vec2 -> Vec2 -> Vec2 #

min :: Vec2 -> Vec2 -> Vec2 #

Show Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

showsPrec :: Int -> Vec2 -> ShowS #

show :: Vec2 -> String #

showList :: [Vec2] -> ShowS #

Storable Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

sizeOf :: Vec2 -> Int #

alignment :: Vec2 -> Int #

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

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

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

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

peek :: Ptr Vec2 -> IO Vec2 #

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

NFData Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

rnf :: Vec2 -> () #

withVec2 :: Vec2 -> (Float -> Float -> r) -> r Source #

pattern WithVec2 :: Float -> Float -> Vec2 Source #

data Vec3 Source #

Instances

Instances details
Eq Vec3 Source # 
Instance details

Defined in Geomancy.Vec3

Methods

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

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

Fractional Vec3 Source # 
Instance details

Defined in Geomancy.Vec3

Methods

(/) :: Vec3 -> Vec3 -> Vec3 #

recip :: Vec3 -> Vec3 #

fromRational :: Rational -> Vec3 #

Num Vec3 Source # 
Instance details

Defined in Geomancy.Vec3

Methods

(+) :: Vec3 -> Vec3 -> Vec3 #

(-) :: Vec3 -> Vec3 -> Vec3 #

(*) :: Vec3 -> Vec3 -> Vec3 #

negate :: Vec3 -> Vec3 #

abs :: Vec3 -> Vec3 #

signum :: Vec3 -> Vec3 #

fromInteger :: Integer -> Vec3 #

Ord Vec3 Source # 
Instance details

Defined in Geomancy.Vec3

Methods

compare :: Vec3 -> Vec3 -> Ordering #

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

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

(>) :: Vec3 -> Vec3 -> Bool #

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

max :: Vec3 -> Vec3 -> Vec3 #

min :: Vec3 -> Vec3 -> Vec3 #

Show Vec3 Source # 
Instance details

Defined in Geomancy.Vec3

Methods

showsPrec :: Int -> Vec3 -> ShowS #

show :: Vec3 -> String #

showList :: [Vec3] -> ShowS #

Storable Vec3 Source # 
Instance details

Defined in Geomancy.Vec3

Methods

sizeOf :: Vec3 -> Int #

alignment :: Vec3 -> Int #

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

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

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

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

peek :: Ptr Vec3 -> IO Vec3 #

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

NFData Vec3 Source # 
Instance details

Defined in Geomancy.Vec3

Methods

rnf :: Vec3 -> () #

withVec3 :: Vec3 -> (Float -> Float -> Float -> r) -> r Source #

pattern WithVec3 :: Float -> Float -> Float -> Vec3 Source #

data Vec4 Source #

Instances

Instances details
Eq Vec4 Source # 
Instance details

Defined in Geomancy.Vec4

Methods

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

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

Fractional Vec4 Source # 
Instance details

Defined in Geomancy.Vec4

Methods

(/) :: Vec4 -> Vec4 -> Vec4 #

recip :: Vec4 -> Vec4 #

fromRational :: Rational -> Vec4 #

Num Vec4 Source # 
Instance details

Defined in Geomancy.Vec4

Methods

(+) :: Vec4 -> Vec4 -> Vec4 #

(-) :: Vec4 -> Vec4 -> Vec4 #

(*) :: Vec4 -> Vec4 -> Vec4 #

negate :: Vec4 -> Vec4 #

abs :: Vec4 -> Vec4 #

signum :: Vec4 -> Vec4 #

fromInteger :: Integer -> Vec4 #

Ord Vec4 Source # 
Instance details

Defined in Geomancy.Vec4

Methods

compare :: Vec4 -> Vec4 -> Ordering #

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

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

(>) :: Vec4 -> Vec4 -> Bool #

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

max :: Vec4 -> Vec4 -> Vec4 #

min :: Vec4 -> Vec4 -> Vec4 #

Show Vec4 Source # 
Instance details

Defined in Geomancy.Vec4

Methods

showsPrec :: Int -> Vec4 -> ShowS #

show :: Vec4 -> String #

showList :: [Vec4] -> ShowS #

Storable Vec4 Source # 
Instance details

Defined in Geomancy.Vec4

Methods

sizeOf :: Vec4 -> Int #

alignment :: Vec4 -> Int #

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

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

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

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

peek :: Ptr Vec4 -> IO Vec4 #

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

NFData Vec4 Source # 
Instance details

Defined in Geomancy.Vec4

Methods

rnf :: Vec4 -> () #

withVec4 :: Vec4 -> (Float -> Float -> Float -> Float -> r) -> r Source #

pattern WithVec4 :: Float -> Float -> Float -> Float -> Vec4 Source #

Signed / int32s

data IVec2 Source #

Instances

Instances details
Eq IVec2 Source # 
Instance details

Defined in Geomancy.IVec2

Methods

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

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

Num IVec2 Source # 
Instance details

Defined in Geomancy.IVec2

Ord IVec2 Source # 
Instance details

Defined in Geomancy.IVec2

Methods

compare :: IVec2 -> IVec2 -> Ordering #

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

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

(>) :: IVec2 -> IVec2 -> Bool #

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

max :: IVec2 -> IVec2 -> IVec2 #

min :: IVec2 -> IVec2 -> IVec2 #

Show IVec2 Source # 
Instance details

Defined in Geomancy.IVec2

Methods

showsPrec :: Int -> IVec2 -> ShowS #

show :: IVec2 -> String #

showList :: [IVec2] -> ShowS #

Storable IVec2 Source # 
Instance details

Defined in Geomancy.IVec2

Methods

sizeOf :: IVec2 -> Int #

alignment :: IVec2 -> Int #

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

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

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

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

peek :: Ptr IVec2 -> IO IVec2 #

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

NFData IVec2 Source # 
Instance details

Defined in Geomancy.IVec2

Methods

rnf :: IVec2 -> () #

withIVec2 :: IVec2 -> (Int32 -> Int32 -> r) -> r Source #

pattern WithIVec2 :: Int32 -> Int32 -> IVec2 Source #

data IVec3 Source #

Instances

Instances details
Eq IVec3 Source # 
Instance details

Defined in Geomancy.IVec3

Methods

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

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

Num IVec3 Source # 
Instance details

Defined in Geomancy.IVec3

Ord IVec3 Source # 
Instance details

Defined in Geomancy.IVec3

Methods

compare :: IVec3 -> IVec3 -> Ordering #

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

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

(>) :: IVec3 -> IVec3 -> Bool #

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

max :: IVec3 -> IVec3 -> IVec3 #

min :: IVec3 -> IVec3 -> IVec3 #

Show IVec3 Source # 
Instance details

Defined in Geomancy.IVec3

Methods

showsPrec :: Int -> IVec3 -> ShowS #

show :: IVec3 -> String #

showList :: [IVec3] -> ShowS #

Storable IVec3 Source # 
Instance details

Defined in Geomancy.IVec3

Methods

sizeOf :: IVec3 -> Int #

alignment :: IVec3 -> Int #

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

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

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

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

peek :: Ptr IVec3 -> IO IVec3 #

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

NFData IVec3 Source # 
Instance details

Defined in Geomancy.IVec3

Methods

rnf :: IVec3 -> () #

withIVec3 :: IVec3 -> (Int32 -> Int32 -> Int32 -> r) -> r Source #

pattern WithIVec3 :: Int32 -> Int32 -> Int32 -> IVec3 Source #

data IVec4 Source #

Instances

Instances details
Eq IVec4 Source # 
Instance details

Defined in Geomancy.IVec4

Methods

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

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

Num IVec4 Source # 
Instance details

Defined in Geomancy.IVec4

Ord IVec4 Source # 
Instance details

Defined in Geomancy.IVec4

Methods

compare :: IVec4 -> IVec4 -> Ordering #

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

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

(>) :: IVec4 -> IVec4 -> Bool #

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

max :: IVec4 -> IVec4 -> IVec4 #

min :: IVec4 -> IVec4 -> IVec4 #

Show IVec4 Source # 
Instance details

Defined in Geomancy.IVec4

Methods

showsPrec :: Int -> IVec4 -> ShowS #

show :: IVec4 -> String #

showList :: [IVec4] -> ShowS #

Storable IVec4 Source # 
Instance details

Defined in Geomancy.IVec4

Methods

sizeOf :: IVec4 -> Int #

alignment :: IVec4 -> Int #

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

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

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

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

peek :: Ptr IVec4 -> IO IVec4 #

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

NFData IVec4 Source # 
Instance details

Defined in Geomancy.IVec4

Methods

rnf :: IVec4 -> () #

withIVec4 :: IVec4 -> (Int32 -> Int32 -> Int32 -> Int32 -> r) -> r Source #

pattern WithIVec4 :: Int32 -> Int32 -> Int32 -> Int32 -> IVec4 Source #

Unsigned / word32s

data UVec2 Source #

Instances

Instances details
Eq UVec2 Source # 
Instance details

Defined in Geomancy.UVec2

Methods

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

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

Num UVec2 Source # 
Instance details

Defined in Geomancy.UVec2

Ord UVec2 Source # 
Instance details

Defined in Geomancy.UVec2

Methods

compare :: UVec2 -> UVec2 -> Ordering #

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

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

(>) :: UVec2 -> UVec2 -> Bool #

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

max :: UVec2 -> UVec2 -> UVec2 #

min :: UVec2 -> UVec2 -> UVec2 #

Show UVec2 Source # 
Instance details

Defined in Geomancy.UVec2

Methods

showsPrec :: Int -> UVec2 -> ShowS #

show :: UVec2 -> String #

showList :: [UVec2] -> ShowS #

Storable UVec2 Source # 
Instance details

Defined in Geomancy.UVec2

Methods

sizeOf :: UVec2 -> Int #

alignment :: UVec2 -> Int #

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

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

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

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

peek :: Ptr UVec2 -> IO UVec2 #

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

NFData UVec2 Source # 
Instance details

Defined in Geomancy.UVec2

Methods

rnf :: UVec2 -> () #

withUVec2 :: UVec2 -> (Word32 -> Word32 -> r) -> r Source #

pattern WithUVec2 :: Word32 -> Word32 -> UVec2 Source #

data UVec3 Source #

Instances

Instances details
Eq UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Methods

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

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

Num UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

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 #

Show UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Methods

showsPrec :: Int -> UVec3 -> ShowS #

show :: UVec3 -> String #

showList :: [UVec3] -> ShowS #

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 () #

NFData UVec3 Source # 
Instance details

Defined in Geomancy.UVec3

Methods

rnf :: UVec3 -> () #

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

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

data UVec4 Source #

Instances

Instances details
Eq UVec4 Source # 
Instance details

Defined in Geomancy.UVec4

Methods

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

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

Num UVec4 Source # 
Instance details

Defined in Geomancy.UVec4

Ord UVec4 Source # 
Instance details

Defined in Geomancy.UVec4

Methods

compare :: UVec4 -> UVec4 -> Ordering #

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

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

(>) :: UVec4 -> UVec4 -> Bool #

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

max :: UVec4 -> UVec4 -> UVec4 #

min :: UVec4 -> UVec4 -> UVec4 #

Show UVec4 Source # 
Instance details

Defined in Geomancy.UVec4

Methods

showsPrec :: Int -> UVec4 -> ShowS #

show :: UVec4 -> String #

showList :: [UVec4] -> ShowS #

Storable UVec4 Source # 
Instance details

Defined in Geomancy.UVec4

Methods

sizeOf :: UVec4 -> Int #

alignment :: UVec4 -> Int #

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

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

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

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

peek :: Ptr UVec4 -> IO UVec4 #

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

NFData UVec4 Source # 
Instance details

Defined in Geomancy.UVec4

Methods

rnf :: UVec4 -> () #

withUVec4 :: UVec4 -> (Word32 -> Word32 -> Word32 -> Word32 -> r) -> r Source #

pattern WithUVec4 :: Word32 -> Word32 -> Word32 -> Word32 -> UVec4 Source #

Matrices

data Mat4 Source #

Instances

Instances details
Show Mat4 Source # 
Instance details

Defined in Geomancy.Mat4

Methods

showsPrec :: Int -> Mat4 -> ShowS #

show :: Mat4 -> String #

showList :: [Mat4] -> ShowS #

Semigroup Mat4 Source # 
Instance details

Defined in Geomancy.Mat4

Methods

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

sconcat :: NonEmpty Mat4 -> Mat4 #

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

Monoid Mat4 Source # 
Instance details

Defined in Geomancy.Mat4

Methods

mempty :: Mat4 #

mappend :: Mat4 -> Mat4 -> Mat4 #

mconcat :: [Mat4] -> Mat4 #

Storable Mat4 Source # 
Instance details

Defined in Geomancy.Mat4

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 () #

NFData Mat4 Source # 
Instance details

Defined in Geomancy.Mat4

Methods

rnf :: Mat4 -> () #

Other beasts

data Quaternion Source #

Instances

Instances details
Eq Quaternion Source # 
Instance details

Defined in Geomancy.Quaternion

Num Quaternion Source # 
Instance details

Defined in Geomancy.Quaternion

Ord Quaternion Source # 
Instance details

Defined in Geomancy.Quaternion

Show Quaternion Source # 
Instance details

Defined in Geomancy.Quaternion

Storable Quaternion Source # 
Instance details

Defined in Geomancy.Quaternion

NFData Quaternion Source # 
Instance details

Defined in Geomancy.Quaternion

Methods

rnf :: Quaternion -> () #

withQuaternion :: Quaternion -> (Float -> Float -> Float -> Float -> r) -> r Source #