Geomancy.Vec3
Description
Specialized and inlined V3 Float.
V3 Float
data Vec3 Source #
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 () #
pi :: Vec3 #
exp :: Vec3 -> Vec3 #
log :: Vec3 -> Vec3 #
sqrt :: Vec3 -> Vec3 #
(**) :: Vec3 -> Vec3 -> Vec3 #
logBase :: Vec3 -> Vec3 -> Vec3 #
sin :: Vec3 -> Vec3 #
cos :: Vec3 -> Vec3 #
tan :: Vec3 -> Vec3 #
asin :: Vec3 -> Vec3 #
acos :: Vec3 -> Vec3 #
atan :: Vec3 -> Vec3 #
sinh :: Vec3 -> Vec3 #
cosh :: Vec3 -> Vec3 #
tanh :: Vec3 -> Vec3 #
asinh :: Vec3 -> Vec3 #
acosh :: Vec3 -> Vec3 #
atanh :: Vec3 -> Vec3 #
log1p :: Vec3 -> Vec3 #
expm1 :: Vec3 -> Vec3 #
log1pexp :: Vec3 -> Vec3 #
log1mexp :: Vec3 -> Vec3 #
(+) :: Vec3 -> Vec3 -> Vec3 #
(-) :: Vec3 -> Vec3 -> Vec3 #
(*) :: Vec3 -> Vec3 -> Vec3 #
negate :: Vec3 -> Vec3 #
abs :: Vec3 -> Vec3 #
signum :: Vec3 -> Vec3 #
fromInteger :: Integer -> Vec3 #
(/) :: Vec3 -> Vec3 -> Vec3 #
recip :: Vec3 -> Vec3 #
fromRational :: Rational -> Vec3 #
showsPrec :: Int -> Vec3 -> ShowS #
show :: Vec3 -> String #
showList :: [Vec3] -> ShowS #
rnf :: Vec3 -> () #
epoint :: Element Vec3 -> Vec3 Source #
emap :: (Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 Source #
emap2 :: (Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 Source #
emap3 :: (Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 -> Vec3 Source #
emap4 :: (Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 -> Vec3 -> Vec3 Source #
emap5 :: (Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 -> Vec3 -> Vec3 -> Vec3 -> Vec3 Source #
glCeil :: Vec3 -> Vec3 Source #
glFloor :: Vec3 -> Vec3 Source #
glRound :: Vec3 -> Vec3 Source #
glTrunc :: Vec3 -> Vec3 Source #
(==) :: Vec3 -> Vec3 -> Bool #
(/=) :: Vec3 -> Vec3 -> Bool #
compare :: Vec3 -> Vec3 -> Ordering #
(<) :: Vec3 -> Vec3 -> Bool #
(<=) :: Vec3 -> Vec3 -> Bool #
(>) :: Vec3 -> Vec3 -> Bool #
(>=) :: Vec3 -> Vec3 -> Bool #
max :: Vec3 -> Vec3 -> Vec3 #
min :: Vec3 -> Vec3 -> Vec3 #
Associated Types
type PackedSize Vec3 :: Nat #
alignment140 :: proxy Vec3 -> Int #
sizeOf140 :: proxy Vec3 -> Int #
isStruct :: proxy Vec3 -> Bool #
read140 :: MonadIO m => Ptr a -> Diff a Vec3 -> m Vec3 #
write140 :: MonadIO m => Ptr a -> Diff a Vec3 -> Vec3 -> m () #
alignment430 :: proxy Vec3 -> Int #
sizeOf430 :: proxy Vec3 -> Int #
read430 :: MonadIO m => Ptr a -> Diff a Vec3 -> m Vec3 #
write430 :: MonadIO m => Ptr a -> Diff a Vec3 -> Vec3 -> m () #
sizeOfPacked :: proxy Vec3 -> Int #
readPacked :: MonadIO m => Ptr a -> Diff a Vec3 -> m Vec3 #
writePacked :: MonadIO m => Ptr a -> Diff a Vec3 -> Vec3 -> m () #
omap :: (Element Vec3 -> Element Vec3) -> Vec3 -> Vec3 #
opoint :: Element Vec3 -> Vec3 #
glModf :: Vec3 -> (Vec3, Vec3) Source #
zeroVector :: Vec3 #
(*^) :: Float -> Vec3 -> Vec3 #
(^/) :: Vec3 -> Float -> Vec3 #
(^+^) :: Vec3 -> Vec3 -> Vec3 #
(^-^) :: Vec3 -> Vec3 -> Vec3 #
negateVector :: Vec3 -> Vec3 #
dot :: Vec3 -> Vec3 -> Float #
norm :: Vec3 -> Float #
normalize :: Vec3 -> Vec3 #
vec3 :: Float -> Float -> Float -> Vec3 Source #
withVec3 :: Vec3 -> (Float -> Float -> Float -> r) -> r Source #
pattern WithVec3 :: Float -> Float -> Float -> Vec3 Source #
convert :: Coercible v Vec3 => (Float -> a) -> (a -> a -> a -> r) -> v -> r Source #
fromVec2 :: Coercible Vec3 a => Vec2 -> Float -> a Source #
fromTuple :: Coercible Vec3 a => (Float, Float, Float) -> a Source #
(^*) :: Vec3 -> Float -> Vec3 Source #
(^/) :: Vec3 -> Float -> Vec3 Source #
lerp :: Float -> Vec3 -> Vec3 -> Vec3 Source #
cross :: Vec3 -> Vec3 -> Vec3 Source #
dot :: Vec3 -> Vec3 -> Float Source #
normalize :: Vec3 -> Vec3 Source #
newtype Packed Source #
Constructors
Fields
sizeOf :: Packed -> Int #
alignment :: Packed -> Int #
peekElemOff :: Ptr Packed -> Int -> IO Packed #
pokeElemOff :: Ptr Packed -> Int -> Packed -> IO () #
peekByteOff :: Ptr b -> Int -> IO Packed #
pokeByteOff :: Ptr b -> Int -> Packed -> IO () #
peek :: Ptr Packed -> IO Packed #
poke :: Ptr Packed -> Packed -> IO () #
pi :: Packed #
exp :: Packed -> Packed #
log :: Packed -> Packed #
sqrt :: Packed -> Packed #
(**) :: Packed -> Packed -> Packed #
logBase :: Packed -> Packed -> Packed #
sin :: Packed -> Packed #
cos :: Packed -> Packed #
tan :: Packed -> Packed #
asin :: Packed -> Packed #
acos :: Packed -> Packed #
atan :: Packed -> Packed #
sinh :: Packed -> Packed #
cosh :: Packed -> Packed #
tanh :: Packed -> Packed #
asinh :: Packed -> Packed #
acosh :: Packed -> Packed #
atanh :: Packed -> Packed #
log1p :: Packed -> Packed #
expm1 :: Packed -> Packed #
log1pexp :: Packed -> Packed #
log1mexp :: Packed -> Packed #
(+) :: Packed -> Packed -> Packed #
(-) :: Packed -> Packed -> Packed #
(*) :: Packed -> Packed -> Packed #
negate :: Packed -> Packed #
abs :: Packed -> Packed #
signum :: Packed -> Packed #
fromInteger :: Integer -> Packed #
(/) :: Packed -> Packed -> Packed #
recip :: Packed -> Packed #
fromRational :: Rational -> Packed #
showsPrec :: Int -> Packed -> ShowS #
show :: Packed -> String #
showList :: [Packed] -> ShowS #
rnf :: Packed -> () #
epoint :: Element Packed -> Packed Source #
emap :: (Element Packed -> Element Packed) -> Packed -> Packed Source #
emap2 :: (Element Packed -> Element Packed -> Element Packed) -> Packed -> Packed -> Packed Source #
emap3 :: (Element Packed -> Element Packed -> Element Packed -> Element Packed) -> Packed -> Packed -> Packed -> Packed Source #
emap4 :: (Element Packed -> Element Packed -> Element Packed -> Element Packed -> Element Packed) -> Packed -> Packed -> Packed -> Packed -> Packed Source #
emap5 :: (Element Packed -> Element Packed -> Element Packed -> Element Packed -> Element Packed -> Element Packed) -> Packed -> Packed -> Packed -> Packed -> Packed -> Packed Source #
(==) :: Packed -> Packed -> Bool #
(/=) :: Packed -> Packed -> Bool #
compare :: Packed -> Packed -> Ordering #
(<) :: Packed -> Packed -> Bool #
(<=) :: Packed -> Packed -> Bool #
(>) :: Packed -> Packed -> Bool #
(>=) :: Packed -> Packed -> Bool #
max :: Packed -> Packed -> Packed #
min :: Packed -> Packed -> Packed #
type PackedSize Packed :: Nat #
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 () #
omap :: (Element Packed -> Element Packed) -> Packed -> Packed #
opoint :: Element Packed -> Packed #
zeroVector :: Packed #
(*^) :: Float -> Packed -> Packed #
(^/) :: Packed -> Float -> Packed #
(^+^) :: Packed -> Packed -> Packed #
(^-^) :: Packed -> Packed -> Packed #
negateVector :: Packed -> Packed #
dot :: Packed -> Packed -> Float #
norm :: Packed -> Float #
normalize :: Packed -> Packed #
packed :: Float -> Float -> Float -> Packed Source #
emap2 :: Elementwise a => (Element a -> Element a -> Element a) -> a -> a -> a Source #
emap3 :: Elementwise a => (Element a -> Element a -> Element a -> Element a) -> a -> a -> a -> a Source #
emap4 :: Elementwise a => (Element a -> Element a -> Element a -> Element a -> Element a) -> a -> a -> a -> a -> a Source #