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

Geomancy.Vec2

Description

Specialized and inlined V2 Float.

Documentation

data Vec2 Source #

Instances

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

Floating Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

pi :: Vec2 #

exp :: Vec2 -> Vec2 #

log :: Vec2 -> Vec2 #

sqrt :: Vec2 -> Vec2 #

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

logBase :: Vec2 -> Vec2 -> Vec2 #

sin :: Vec2 -> Vec2 #

cos :: Vec2 -> Vec2 #

tan :: Vec2 -> Vec2 #

asin :: Vec2 -> Vec2 #

acos :: Vec2 -> Vec2 #

atan :: Vec2 -> Vec2 #

sinh :: Vec2 -> Vec2 #

cosh :: Vec2 -> Vec2 #

tanh :: Vec2 -> Vec2 #

asinh :: Vec2 -> Vec2 #

acosh :: Vec2 -> Vec2 #

atanh :: Vec2 -> Vec2 #

log1p :: Vec2 -> Vec2 #

expm1 :: Vec2 -> Vec2 #

log1pexp :: Vec2 -> Vec2 #

log1mexp :: Vec2 -> 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 #

Fractional Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

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

recip :: Vec2 -> Vec2 #

fromRational :: Rational -> Vec2 #

Show Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

showsPrec :: Int -> Vec2 -> ShowS #

show :: Vec2 -> String #

showList :: [Vec2] -> ShowS #

NFData Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

rnf :: Vec2 -> () #

Elementwise Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

GlNearest Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Eq Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

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

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

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 #

Block Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Associated Types

type PackedSize Vec2 :: Nat #

Methods

alignment140 :: proxy Vec2 -> Int #

sizeOf140 :: proxy Vec2 -> Int #

isStruct :: proxy Vec2 -> Bool #

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

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

alignment430 :: proxy Vec2 -> Int #

sizeOf430 :: proxy Vec2 -> Int #

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

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

sizeOfPacked :: proxy Vec2 -> Int #

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

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

MonoFunctor Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

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

MonoPointed Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

opoint :: Element Vec2 -> Vec2 #

GlModf Vec2 Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

Methods

glModf :: Vec2 -> (Vec2, Vec2) Source #

VectorSpace Vec2 Float Source # 
Instance details

Defined in Geomancy.Vec2

type PackedSize Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

type PackedSize Vec2 = 8
type Element Vec2 Source # 
Instance details

Defined in Geomancy.Vec2

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

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

convert :: Coercible v Vec2 => (Float -> a) -> (a -> a -> r) -> v -> r Source #