sdl2-2.5.2.0: Both high- and low-level bindings to the SDL library (version 2.0.6+).
Safe HaskellNone
LanguageHaskell2010

SDL.Vect

Contents

Description

SDL's vector representation.

By default, re-exports the Linear and Linear.Affine modules from the linear package. With the no-linear Cabal flag, instead exports a duplicate implementation of the V2, V3, V4 and Point types from SDL.Internal.Vect, which provides as many instances as possible for those types while avoiding any additional dependencies.

Synopsis

Documentation

module Linear

Point

newtype Point (f :: Type -> Type) a Source #

A handy wrapper to help distinguish points from vectors at the type level

Constructors

P (f a) 

Instances

Instances details
Unbox (f a) => Vector Vector (Point f a) 
Instance details

Defined in Linear.Affine

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Point f a) -> m (Vector (Point f a)) Source #

basicUnsafeThaw :: PrimMonad m => Vector (Point f a) -> m (Mutable Vector (PrimState m) (Point f a)) Source #

basicLength :: Vector (Point f a) -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector (Point f a) -> Vector (Point f a) Source #

basicUnsafeIndexM :: Monad m => Vector (Point f a) -> Int -> m (Point f a) Source #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Point f a) -> Vector (Point f a) -> m () Source #

elemseq :: Vector (Point f a) -> Point f a -> b -> b Source #

Unbox (f a) => MVector MVector (Point f a) 
Instance details

Defined in Linear.Affine

Methods

basicLength :: MVector s (Point f a) -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s (Point f a) -> MVector s (Point f a) Source #

basicOverlaps :: MVector s (Point f a) -> MVector s (Point f a) -> Bool Source #

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Point f a)) Source #

basicInitialize :: PrimMonad m => MVector (PrimState m) (Point f a) -> m () Source #

basicUnsafeReplicate :: PrimMonad m => Int -> Point f a -> m (MVector (PrimState m) (Point f a)) Source #

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Point f a) -> Int -> m (Point f a) Source #

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Point f a) -> Int -> Point f a -> m () Source #

basicClear :: PrimMonad m => MVector (PrimState m) (Point f a) -> m () Source #

basicSet :: PrimMonad m => MVector (PrimState m) (Point f a) -> Point f a -> m () Source #

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Point f a) -> MVector (PrimState m) (Point f a) -> m () Source #

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Point f a) -> MVector (PrimState m) (Point f a) -> m () Source #

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Point f a) -> Int -> m (MVector (PrimState m) (Point f a)) Source #

Monad f => Monad (Point f) 
Instance details

Defined in Linear.Affine

Methods

(>>=) :: Point f a -> (a -> Point f b) -> Point f b

(>>) :: Point f a -> Point f b -> Point f b

return :: a -> Point f a

Functor f => Functor (Point f) 
Instance details

Defined in Linear.Affine

Methods

fmap :: (a -> b) -> Point f a -> Point f b

(<$) :: a -> Point f b -> Point f a

Applicative f => Applicative (Point f) 
Instance details

Defined in Linear.Affine

Methods

pure :: a -> Point f a

(<*>) :: Point f (a -> b) -> Point f a -> Point f b

liftA2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c

(*>) :: Point f a -> Point f b -> Point f b

(<*) :: Point f a -> Point f b -> Point f a

Foldable f => Foldable (Point f) 
Instance details

Defined in Linear.Affine

Methods

fold :: Monoid m => Point f m -> m

foldMap :: Monoid m => (a -> m) -> Point f a -> m

foldMap' :: Monoid m => (a -> m) -> Point f a -> m

foldr :: (a -> b -> b) -> b -> Point f a -> b

foldr' :: (a -> b -> b) -> b -> Point f a -> b

foldl :: (b -> a -> b) -> b -> Point f a -> b

foldl' :: (b -> a -> b) -> b -> Point f a -> b

foldr1 :: (a -> a -> a) -> Point f a -> a

foldl1 :: (a -> a -> a) -> Point f a -> a

toList :: Point f a -> [a]

null :: Point f a -> Bool

length :: Point f a -> Int

elem :: Eq a => a -> Point f a -> Bool

maximum :: Ord a => Point f a -> a

minimum :: Ord a => Point f a -> a

sum :: Num a => Point f a -> a

product :: Num a => Point f a -> a

Traversable f => Traversable (Point f) 
Instance details

Defined in Linear.Affine

Methods

traverse :: Applicative f0 => (a -> f0 b) -> Point f a -> f0 (Point f b)

sequenceA :: Applicative f0 => Point f (f0 a) -> f0 (Point f a)

mapM :: Monad m => (a -> m b) -> Point f a -> m (Point f b)

sequence :: Monad m => Point f (m a) -> m (Point f a)

Representable f => Representable (Point f) 
Instance details

Defined in Linear.Affine

Associated Types

type Rep (Point f)

Methods

tabulate :: (Rep (Point f) -> a) -> Point f a

index :: Point f a -> Rep (Point f) -> a

Additive f => Affine (Point f) 
Instance details

Defined in Linear.Affine

Associated Types

type Diff (Point f) :: Type -> Type Source #

Methods

(.-.) :: Num a => Point f a -> Point f a -> Diff (Point f) a Source #

(.+^) :: Num a => Point f a -> Diff (Point f) a -> Point f a Source #

(.-^) :: Num a => Point f a -> Diff (Point f) a -> Point f a Source #

R4 f => R4 (Point f) 
Instance details

Defined in Linear.Affine

Methods

_w :: Lens' (Point f a) a Source #

_xyzw :: Lens' (Point f a) (V4 a) Source #

R3 f => R3 (Point f) 
Instance details

Defined in Linear.Affine

Methods

_z :: Lens' (Point f a) a Source #

_xyz :: Lens' (Point f a) (V3 a) Source #

R2 f => R2 (Point f) 
Instance details

Defined in Linear.Affine

Methods

_y :: Lens' (Point f a) a Source #

_xy :: Lens' (Point f a) (V2 a) Source #

R1 f => R1 (Point f) 
Instance details

Defined in Linear.Affine

Methods

_x :: Lens' (Point f a) a Source #

Finite f => Finite (Point f) 
Instance details

Defined in Linear.Affine

Associated Types

type Size (Point f) :: Nat Source #

Methods

toV :: Point f a -> V (Size (Point f)) a Source #

fromV :: V (Size (Point f)) a -> Point f a Source #

Metric f => Metric (Point f) 
Instance details

Defined in Linear.Affine

Methods

dot :: Num a => Point f a -> Point f a -> a Source #

quadrance :: Num a => Point f a -> a Source #

qd :: Num a => Point f a -> Point f a -> a Source #

distance :: Floating a => Point f a -> Point f a -> a Source #

norm :: Floating a => Point f a -> a Source #

signorm :: Floating a => Point f a -> Point f a Source #

Additive f => Additive (Point f) 
Instance details

Defined in Linear.Affine

Methods

zero :: Num a => Point f a Source #

(^+^) :: Num a => Point f a -> Point f a -> Point f a Source #

(^-^) :: Num a => Point f a -> Point f a -> Point f a Source #

lerp :: Num a => a -> Point f a -> Point f a -> Point f a Source #

liftU2 :: (a -> a -> a) -> Point f a -> Point f a -> Point f a Source #

liftI2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c Source #

Eq1 f => Eq1 (Point f) 
Instance details

Defined in Linear.Affine

Methods

liftEq :: (a -> b -> Bool) -> Point f a -> Point f b -> Bool

Ord1 f => Ord1 (Point f) 
Instance details

Defined in Linear.Affine

Methods

liftCompare :: (a -> b -> Ordering) -> Point f a -> Point f b -> Ordering

Read1 f => Read1 (Point f) 
Instance details

Defined in Linear.Affine

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Point f a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Point f a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Point f a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Point f a]

Show1 f => Show1 (Point f) 
Instance details

Defined in Linear.Affine

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Point f a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Point f a] -> ShowS

Apply f => Apply (Point f) 
Instance details

Defined in Linear.Affine

Methods

(<.>) :: Point f (a -> b) -> Point f a -> Point f b

(.>) :: Point f a -> Point f b -> Point f b

(<.) :: Point f a -> Point f b -> Point f a

liftF2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c

Bind f => Bind (Point f) 
Instance details

Defined in Linear.Affine

Methods

(>>-) :: Point f a -> (a -> Point f b) -> Point f b

join :: Point f (Point f a) -> Point f a

Distributive f => Distributive (Point f) 
Instance details

Defined in Linear.Affine

Methods

distribute :: Functor f0 => f0 (Point f a) -> Point f (f0 a)

collect :: Functor f0 => (a -> Point f b) -> f0 a -> Point f (f0 b)

distributeM :: Monad m => m (Point f a) -> Point f (m a)

collectM :: Monad m => (a -> Point f b) -> m a -> Point f (m b)

Hashable1 f => Hashable1 (Point f) 
Instance details

Defined in Linear.Affine

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Point f a -> Int

Serial1 f => Serial1 (Point f) 
Instance details

Defined in Linear.Affine

Methods

serializeWith :: MonadPut m => (a -> m ()) -> Point f a -> m ()

deserializeWith :: MonadGet m => m a -> m (Point f a)

Generic1 (Point f :: Type -> Type) 
Instance details

Defined in Linear.Affine

Associated Types

type Rep1 (Point f) :: k -> Type

Methods

from1 :: forall (a :: k). Point f a -> Rep1 (Point f) a

to1 :: forall (a :: k). Rep1 (Point f) a -> Point f a

Eq (f a) => Eq (Point f a) 
Instance details

Defined in Linear.Affine

Methods

(==) :: Point f a -> Point f a -> Bool

(/=) :: Point f a -> Point f a -> Bool

Fractional (f a) => Fractional (Point f a) 
Instance details

Defined in Linear.Affine

Methods

(/) :: Point f a -> Point f a -> Point f a

recip :: Point f a -> Point f a

fromRational :: Rational -> Point f a

(Typeable f, Typeable a, Data (f a)) => Data (Point f a) 
Instance details

Defined in Linear.Affine

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Point f a -> c (Point f a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Point f a)

toConstr :: Point f a -> Constr

dataTypeOf :: Point f a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Point f a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Point f a))

gmapT :: (forall b. Data b => b -> b) -> Point f a -> Point f a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Point f a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Point f a -> r

gmapQ :: (forall d. Data d => d -> u) -> Point f a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Point f a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a)

Num (f a) => Num (Point f a) 
Instance details

Defined in Linear.Affine

Methods

(+) :: Point f a -> Point f a -> Point f a

(-) :: Point f a -> Point f a -> Point f a

(*) :: Point f a -> Point f a -> Point f a

negate :: Point f a -> Point f a

abs :: Point f a -> Point f a

signum :: Point f a -> Point f a

fromInteger :: Integer -> Point f a

Ord (f a) => Ord (Point f a) 
Instance details

Defined in Linear.Affine

Methods

compare :: Point f a -> Point f a -> Ordering

(<) :: Point f a -> Point f a -> Bool

(<=) :: Point f a -> Point f a -> Bool

(>) :: Point f a -> Point f a -> Bool

(>=) :: Point f a -> Point f a -> Bool

max :: Point f a -> Point f a -> Point f a

min :: Point f a -> Point f a -> Point f a

Read (f a) => Read (Point f a) 
Instance details

Defined in Linear.Affine

Methods

readsPrec :: Int -> ReadS (Point f a)

readList :: ReadS [Point f a]

readPrec :: ReadPrec (Point f a)

readListPrec :: ReadPrec [Point f a]

Show (f a) => Show (Point f a) 
Instance details

Defined in Linear.Affine

Methods

showsPrec :: Int -> Point f a -> ShowS

show :: Point f a -> String

showList :: [Point f a] -> ShowS

Ix (f a) => Ix (Point f a) 
Instance details

Defined in Linear.Affine

Methods

range :: (Point f a, Point f a) -> [Point f a]

index :: (Point f a, Point f a) -> Point f a -> Int

unsafeIndex :: (Point f a, Point f a) -> Point f a -> Int

inRange :: (Point f a, Point f a) -> Point f a -> Bool

rangeSize :: (Point f a, Point f a) -> Int

unsafeRangeSize :: (Point f a, Point f a) -> Int

Generic (Point f a) 
Instance details

Defined in Linear.Affine

Associated Types

type Rep (Point f a) :: Type -> Type

Methods

from :: Point f a -> Rep (Point f a) x

to :: Rep (Point f a) x -> Point f a

Epsilon (f a) => Epsilon (Point f a) 
Instance details

Defined in Linear.Affine

Methods

nearZero :: Point f a -> Bool Source #

Unbox (f a) => Unbox (Point f a) 
Instance details

Defined in Linear.Affine

Storable (f a) => Storable (Point f a) 
Instance details

Defined in Linear.Affine

Methods

sizeOf :: Point f a -> Int

alignment :: Point f a -> Int

peekElemOff :: Ptr (Point f a) -> Int -> IO (Point f a)

pokeElemOff :: Ptr (Point f a) -> Int -> Point f a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (Point f a)

pokeByteOff :: Ptr b -> Int -> Point f a -> IO ()

peek :: Ptr (Point f a) -> IO (Point f a)

poke :: Ptr (Point f a) -> Point f a -> IO ()

Binary (f a) => Binary (Point f a) 
Instance details

Defined in Linear.Affine

Methods

put :: Point f a -> Put

get :: Get (Point f a)

putList :: [Point f a] -> Put

NFData (f a) => NFData (Point f a) 
Instance details

Defined in Linear.Affine

Methods

rnf :: Point f a -> ()

Hashable (f a) => Hashable (Point f a) 
Instance details

Defined in Linear.Affine

Methods

hashWithSalt :: Int -> Point f a -> Int

hash :: Point f a -> Int

Ixed (f a) => Ixed (Point f a) 
Instance details

Defined in Linear.Affine

Methods

ix :: Index (Point f a) -> Traversal' (Point f a) (IxValue (Point f a))

Serial (f a) => Serial (Point f a) 
Instance details

Defined in Linear.Affine

Methods

serialize :: MonadPut m => Point f a -> m ()

deserialize :: MonadGet m => m (Point f a)

Serialize (f a) => Serialize (Point f a) 
Instance details

Defined in Linear.Affine

Methods

put :: Putter (Point f a)

get :: Get (Point f a)

Wrapped (Point f a) 
Instance details

Defined in Linear.Affine

Associated Types

type Unwrapped (Point f a)

Methods

_Wrapped' :: Iso' (Point f a) (Unwrapped (Point f a))

t ~ Point g b => Rewrapped (Point f a) t 
Instance details

Defined in Linear.Affine

Traversable f => Each (Point f a) (Point f b) a b 
Instance details

Defined in Linear.Affine

Methods

each :: Traversal (Point f a) (Point f b) a b

newtype MVector s (Point f a) 
Instance details

Defined in Linear.Affine

newtype MVector s (Point f a) = MV_P (MVector s (f a))
type Diff (Point f) 
Instance details

Defined in Linear.Affine

type Diff (Point f) = f
type Size (Point f) 
Instance details

Defined in Linear.Affine

type Size (Point f) = Size f
type Rep (Point f) 
Instance details

Defined in Linear.Affine

type Rep (Point f) = Rep f
type Rep1 (Point f :: Type -> Type) 
Instance details

Defined in Linear.Affine

type Rep1 (Point f :: Type -> Type) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.20.9-DOReBBPX45Z7wmILVkBViE" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (Point f a) 
Instance details

Defined in Linear.Affine

type Rep (Point f a) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.20.9-DOReBBPX45Z7wmILVkBViE" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))
newtype Vector (Point f a) 
Instance details

Defined in Linear.Affine

newtype Vector (Point f a) = V_P (Vector (f a))
type Index (Point f a) 
Instance details

Defined in Linear.Affine

type Index (Point f a) = Index (f a)
type IxValue (Point f a) 
Instance details

Defined in Linear.Affine

type IxValue (Point f a) = IxValue (f a)
type Unwrapped (Point f a) 
Instance details

Defined in Linear.Affine

type Unwrapped (Point f a) = f a

Vectors

data V2 a Source #

A 2-dimensional vector

>>> pure 1 :: V2 Int
V2 1 1
>>> V2 1 2 + V2 3 4
V2 4 6
>>> V2 1 2 * V2 3 4
V2 3 8
>>> sum (V2 1 2)
3

Constructors

V2 !a !a 

Instances

Instances details
Monad V2 
Instance details

Defined in Linear.V2

Methods

(>>=) :: V2 a -> (a -> V2 b) -> V2 b

(>>) :: V2 a -> V2 b -> V2 b

return :: a -> V2 a

Functor V2 
Instance details

Defined in Linear.V2

Methods

fmap :: (a -> b) -> V2 a -> V2 b

(<$) :: a -> V2 b -> V2 a

MonadFix V2 
Instance details

Defined in Linear.V2

Methods

mfix :: (a -> V2 a) -> V2 a

Applicative V2 
Instance details

Defined in Linear.V2

Methods

pure :: a -> V2 a

(<*>) :: V2 (a -> b) -> V2 a -> V2 b

liftA2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c

(*>) :: V2 a -> V2 b -> V2 b

(<*) :: V2 a -> V2 b -> V2 a

Foldable V2 
Instance details

Defined in Linear.V2

Methods

fold :: Monoid m => V2 m -> m

foldMap :: Monoid m => (a -> m) -> V2 a -> m

foldMap' :: Monoid m => (a -> m) -> V2 a -> m

foldr :: (a -> b -> b) -> b -> V2 a -> b

foldr' :: (a -> b -> b) -> b -> V2 a -> b

foldl :: (b -> a -> b) -> b -> V2 a -> b

foldl' :: (b -> a -> b) -> b -> V2 a -> b

foldr1 :: (a -> a -> a) -> V2 a -> a

foldl1 :: (a -> a -> a) -> V2 a -> a

toList :: V2 a -> [a]

null :: V2 a -> Bool

length :: V2 a -> Int

elem :: Eq a => a -> V2 a -> Bool

maximum :: Ord a => V2 a -> a

minimum :: Ord a => V2 a -> a

sum :: Num a => V2 a -> a

product :: Num a => V2 a -> a

Traversable V2 
Instance details

Defined in Linear.V2

Methods

traverse :: Applicative f => (a -> f b) -> V2 a -> f (V2 b)

sequenceA :: Applicative f => V2 (f a) -> f (V2 a)

mapM :: Monad m => (a -> m b) -> V2 a -> m (V2 b)

sequence :: Monad m => V2 (m a) -> m (V2 a)

Representable V2 
Instance details

Defined in Linear.V2

Associated Types

type Rep V2

Methods

tabulate :: (Rep V2 -> a) -> V2 a

index :: V2 a -> Rep V2 -> a

Affine V2 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V2 :: Type -> Type Source #

Methods

(.-.) :: Num a => V2 a -> V2 a -> Diff V2 a Source #

(.+^) :: Num a => V2 a -> Diff V2 a -> V2 a Source #

(.-^) :: Num a => V2 a -> Diff V2 a -> V2 a Source #

Trace V2 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V2 (V2 a) -> a Source #

diagonal :: V2 (V2 a) -> V2 a Source #

R2 V2 
Instance details

Defined in Linear.V2

Methods

_y :: Lens' (V2 a) a Source #

_xy :: Lens' (V2 a) (V2 a) Source #

R1 V2 
Instance details

Defined in Linear.V2

Methods

_x :: Lens' (V2 a) a Source #

Finite V2 
Instance details

Defined in Linear.V2

Associated Types

type Size V2 :: Nat Source #

Methods

toV :: V2 a -> V (Size V2) a Source #

fromV :: V (Size V2) a -> V2 a Source #

Metric V2 
Instance details

Defined in Linear.V2

Methods

dot :: Num a => V2 a -> V2 a -> a Source #

quadrance :: Num a => V2 a -> a Source #

qd :: Num a => V2 a -> V2 a -> a Source #

distance :: Floating a => V2 a -> V2 a -> a Source #

norm :: Floating a => V2 a -> a Source #

signorm :: Floating a => V2 a -> V2 a Source #

Additive V2 
Instance details

Defined in Linear.V2

Methods

zero :: Num a => V2 a Source #

(^+^) :: Num a => V2 a -> V2 a -> V2 a Source #

(^-^) :: Num a => V2 a -> V2 a -> V2 a Source #

lerp :: Num a => a -> V2 a -> V2 a -> V2 a Source #

liftU2 :: (a -> a -> a) -> V2 a -> V2 a -> V2 a Source #

liftI2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c Source #

Eq1 V2 
Instance details

Defined in Linear.V2

Methods

liftEq :: (a -> b -> Bool) -> V2 a -> V2 b -> Bool

Ord1 V2 
Instance details

Defined in Linear.V2

Methods

liftCompare :: (a -> b -> Ordering) -> V2 a -> V2 b -> Ordering

Read1 V2 
Instance details

Defined in Linear.V2

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V2 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V2 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V2 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V2 a]

Show1 V2 
Instance details

Defined in Linear.V2

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V2 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V2 a] -> ShowS

MonadZip V2 
Instance details

Defined in Linear.V2

Methods

mzip :: V2 a -> V2 b -> V2 (a, b)

mzipWith :: (a -> b -> c) -> V2 a -> V2 b -> V2 c

munzip :: V2 (a, b) -> (V2 a, V2 b)

Apply V2 
Instance details

Defined in Linear.V2

Methods

(<.>) :: V2 (a -> b) -> V2 a -> V2 b

(.>) :: V2 a -> V2 b -> V2 b

(<.) :: V2 a -> V2 b -> V2 a

liftF2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c

Bind V2 
Instance details

Defined in Linear.V2

Methods

(>>-) :: V2 a -> (a -> V2 b) -> V2 b

join :: V2 (V2 a) -> V2 a

Distributive V2 
Instance details

Defined in Linear.V2

Methods

distribute :: Functor f => f (V2 a) -> V2 (f a)

collect :: Functor f => (a -> V2 b) -> f a -> V2 (f b)

distributeM :: Monad m => m (V2 a) -> V2 (m a)

collectM :: Monad m => (a -> V2 b) -> m a -> V2 (m b)

Hashable1 V2 
Instance details

Defined in Linear.V2

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V2 a -> Int

Serial1 V2 
Instance details

Defined in Linear.V2

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V2 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V2 a)

Foldable1 V2 
Instance details

Defined in Linear.V2

Methods

fold1 :: Semigroup m => V2 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V2 a -> m

toNonEmpty :: V2 a -> NonEmpty a

Traversable1 V2 
Instance details

Defined in Linear.V2

Methods

traverse1 :: Apply f => (a -> f b) -> V2 a -> f (V2 b)

sequence1 :: Apply f => V2 (f b) -> f (V2 b)

Num r => Coalgebra r (E V2) 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V2 -> r) -> E V2 -> E V2 -> r Source #

counital :: (E V2 -> r) -> r Source #

Unbox a => Vector Vector (V2 a) 
Instance details

Defined in Linear.V2

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V2 a) -> m (Vector (V2 a)) Source #

basicUnsafeThaw :: PrimMonad m => Vector (V2 a) -> m (Mutable Vector (PrimState m) (V2 a)) Source #

basicLength :: Vector (V2 a) -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector (V2 a) -> Vector (V2 a) Source #

basicUnsafeIndexM :: Monad m => Vector (V2 a) -> Int -> m (V2 a) Source #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V2 a) -> Vector (V2 a) -> m () Source #

elemseq :: Vector (V2 a) -> V2 a -> b -> b Source #

Unbox a => MVector MVector (V2 a) 
Instance details

Defined in Linear.V2

Methods

basicLength :: MVector s (V2 a) -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s (V2 a) -> MVector s (V2 a) Source #

basicOverlaps :: MVector s (V2 a) -> MVector s (V2 a) -> Bool Source #

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (V2 a)) Source #

basicInitialize :: PrimMonad m => MVector (PrimState m) (V2 a) -> m () Source #

basicUnsafeReplicate :: PrimMonad m => Int -> V2 a -> m (MVector (PrimState m) (V2 a)) Source #

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V2 a) -> Int -> m (V2 a) Source #

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V2 a) -> Int -> V2 a -> m () Source #

basicClear :: PrimMonad m => MVector (PrimState m) (V2 a) -> m () Source #

basicSet :: PrimMonad m => MVector (PrimState m) (V2 a) -> V2 a -> m () Source #

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V2 a) -> MVector (PrimState m) (V2 a) -> m () Source #

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V2 a) -> MVector (PrimState m) (V2 a) -> m () Source #

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V2 a) -> Int -> m (MVector (PrimState m) (V2 a)) Source #

Bounded a => Bounded (V2 a) 
Instance details

Defined in Linear.V2

Methods

minBound :: V2 a

maxBound :: V2 a

Eq a => Eq (V2 a) 
Instance details

Defined in Linear.V2

Methods

(==) :: V2 a -> V2 a -> Bool

(/=) :: V2 a -> V2 a -> Bool

Floating a => Floating (V2 a) 
Instance details

Defined in Linear.V2

Methods

pi :: V2 a

exp :: V2 a -> V2 a

log :: V2 a -> V2 a

sqrt :: V2 a -> V2 a

(**) :: V2 a -> V2 a -> V2 a

logBase :: V2 a -> V2 a -> V2 a

sin :: V2 a -> V2 a

cos :: V2 a -> V2 a

tan :: V2 a -> V2 a

asin :: V2 a -> V2 a

acos :: V2 a -> V2 a

atan :: V2 a -> V2 a

sinh :: V2 a -> V2 a

cosh :: V2 a -> V2 a

tanh :: V2 a -> V2 a

asinh :: V2 a -> V2 a

acosh :: V2 a -> V2 a

atanh :: V2 a -> V2 a

log1p :: V2 a -> V2 a

expm1 :: V2 a -> V2 a

log1pexp :: V2 a -> V2 a

log1mexp :: V2 a -> V2 a

Fractional a => Fractional (V2 a) 
Instance details

Defined in Linear.V2

Methods

(/) :: V2 a -> V2 a -> V2 a

recip :: V2 a -> V2 a

fromRational :: Rational -> V2 a

Data a => Data (V2 a) 
Instance details

Defined in Linear.V2

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V2 a -> c (V2 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V2 a)

toConstr :: V2 a -> Constr

dataTypeOf :: V2 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V2 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V2 a))

gmapT :: (forall b. Data b => b -> b) -> V2 a -> V2 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V2 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V2 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V2 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V2 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a)

Num a => Num (V2 a) 
Instance details

Defined in Linear.V2

Methods

(+) :: V2 a -> V2 a -> V2 a

(-) :: V2 a -> V2 a -> V2 a

(*) :: V2 a -> V2 a -> V2 a

negate :: V2 a -> V2 a

abs :: V2 a -> V2 a

signum :: V2 a -> V2 a

fromInteger :: Integer -> V2 a

Ord a => Ord (V2 a) 
Instance details

Defined in Linear.V2

Methods

compare :: V2 a -> V2 a -> Ordering

(<) :: V2 a -> V2 a -> Bool

(<=) :: V2 a -> V2 a -> Bool

(>) :: V2 a -> V2 a -> Bool

(>=) :: V2 a -> V2 a -> Bool

max :: V2 a -> V2 a -> V2 a

min :: V2 a -> V2 a -> V2 a

Read a => Read (V2 a) 
Instance details

Defined in Linear.V2

Methods

readsPrec :: Int -> ReadS (V2 a)

readList :: ReadS [V2 a]

readPrec :: ReadPrec (V2 a)

readListPrec :: ReadPrec [V2 a]

Show a => Show (V2 a) 
Instance details

Defined in Linear.V2

Methods

showsPrec :: Int -> V2 a -> ShowS

show :: V2 a -> String

showList :: [V2 a] -> ShowS

Ix a => Ix (V2 a) 
Instance details

Defined in Linear.V2

Methods

range :: (V2 a, V2 a) -> [V2 a]

index :: (V2 a, V2 a) -> V2 a -> Int

unsafeIndex :: (V2 a, V2 a) -> V2 a -> Int

inRange :: (V2 a, V2 a) -> V2 a -> Bool

rangeSize :: (V2 a, V2 a) -> Int

unsafeRangeSize :: (V2 a, V2 a) -> Int

Generic (V2 a) 
Instance details

Defined in Linear.V2

Associated Types

type Rep (V2 a) :: Type -> Type

Methods

from :: V2 a -> Rep (V2 a) x

to :: Rep (V2 a) x -> V2 a

Lift a => Lift (V2 a) 
Instance details

Defined in Linear.V2

Methods

lift :: V2 a -> Q Exp

Epsilon a => Epsilon (V2 a) 
Instance details

Defined in Linear.V2

Methods

nearZero :: V2 a -> Bool Source #

Unbox a => Unbox (V2 a) 
Instance details

Defined in Linear.V2

Storable a => Storable (V2 a) 
Instance details

Defined in Linear.V2

Methods

sizeOf :: V2 a -> Int

alignment :: V2 a -> Int

peekElemOff :: Ptr (V2 a) -> Int -> IO (V2 a)

pokeElemOff :: Ptr (V2 a) -> Int -> V2 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V2 a)

pokeByteOff :: Ptr b -> Int -> V2 a -> IO ()

peek :: Ptr (V2 a) -> IO (V2 a)

poke :: Ptr (V2 a) -> V2 a -> IO ()

Binary a => Binary (V2 a) 
Instance details

Defined in Linear.V2

Methods

put :: V2 a -> Put

get :: Get (V2 a)

putList :: [V2 a] -> Put

NFData a => NFData (V2 a) 
Instance details

Defined in Linear.V2

Methods

rnf :: V2 a -> ()

Hashable a => Hashable (V2 a) 
Instance details

Defined in Linear.V2

Methods

hashWithSalt :: Int -> V2 a -> Int

hash :: V2 a -> Int

Ixed (V2 a) 
Instance details

Defined in Linear.V2

Methods

ix :: Index (V2 a) -> Traversal' (V2 a) (IxValue (V2 a))

Serial a => Serial (V2 a) 
Instance details

Defined in Linear.V2

Methods

serialize :: MonadPut m => V2 a -> m ()

deserialize :: MonadGet m => m (V2 a)

Serialize a => Serialize (V2 a) 
Instance details

Defined in Linear.V2

Methods

put :: Putter (V2 a)

get :: Get (V2 a)

Generic1 V2 
Instance details

Defined in Linear.V2

Associated Types

type Rep1 V2 :: k -> Type

Methods

from1 :: forall (a :: k). V2 a -> Rep1 V2 a

to1 :: forall (a :: k). Rep1 V2 a -> V2 a

FoldableWithIndex (E V2) V2 
Instance details

Defined in Linear.V2

Methods

ifoldMap :: Monoid m => (E V2 -> a -> m) -> V2 a -> m

ifolded :: IndexedFold (E V2) (V2 a) a

ifoldr :: (E V2 -> a -> b -> b) -> b -> V2 a -> b

ifoldl :: (E V2 -> b -> a -> b) -> b -> V2 a -> b

ifoldr' :: (E V2 -> a -> b -> b) -> b -> V2 a -> b

ifoldl' :: (E V2 -> b -> a -> b) -> b -> V2 a -> b

FunctorWithIndex (E V2) V2 
Instance details

Defined in Linear.V2

Methods

imap :: (E V2 -> a -> b) -> V2 a -> V2 b

imapped :: IndexedSetter (E V2) (V2 a) (V2 b) a b

TraversableWithIndex (E V2) V2 
Instance details

Defined in Linear.V2

Methods

itraverse :: Applicative f => (E V2 -> a -> f b) -> V2 a -> f (V2 b)

itraversed :: IndexedTraversal (E V2) (V2 a) (V2 b) a b

Each (V2 a) (V2 b) a b 
Instance details

Defined in Linear.V2

Methods

each :: Traversal (V2 a) (V2 b) a b

Field1 (V2 a) (V2 a) a a 
Instance details

Defined in Linear.V2

Methods

_1 :: Lens (V2 a) (V2 a) a a

Field2 (V2 a) (V2 a) a a 
Instance details

Defined in Linear.V2

Methods

_2 :: Lens (V2 a) (V2 a) a a

type Diff V2 
Instance details

Defined in Linear.Affine

type Diff V2 = V2
type Size V2 
Instance details

Defined in Linear.V2

type Size V2 = 2
type Rep V2 
Instance details

Defined in Linear.V2

type Rep V2 = E V2
data MVector s (V2 a) 
Instance details

Defined in Linear.V2

data MVector s (V2 a) = MV_V2 !Int !(MVector s a)
type Rep (V2 a) 
Instance details

Defined in Linear.V2

type Rep (V2 a) = D1 ('MetaData "V2" "Linear.V2" "linear-1.20.9-DOReBBPX45Z7wmILVkBViE" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))
data Vector (V2 a) 
Instance details

Defined in Linear.V2

data Vector (V2 a) = V_V2 !Int !(Vector a)
type Index (V2 a) 
Instance details

Defined in Linear.V2

type Index (V2 a) = E V2
type IxValue (V2 a) 
Instance details

Defined in Linear.V2

type IxValue (V2 a) = a
type Rep1 V2 
Instance details

Defined in Linear.V2

type Rep1 V2 = D1 ('MetaData "V2" "Linear.V2" "linear-1.20.9-DOReBBPX45Z7wmILVkBViE" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))

data V3 a Source #

A 3-dimensional vector

Constructors

V3 !a !a !a 

Instances

Instances details
Monad V3 
Instance details

Defined in Linear.V3

Methods

(>>=) :: V3 a -> (a -> V3 b) -> V3 b

(>>) :: V3 a -> V3 b -> V3 b

return :: a -> V3 a

Functor V3 
Instance details

Defined in Linear.V3

Methods

fmap :: (a -> b) -> V3 a -> V3 b

(<$) :: a -> V3 b -> V3 a

MonadFix V3 
Instance details

Defined in Linear.V3

Methods

mfix :: (a -> V3 a) -> V3 a

Applicative V3 
Instance details

Defined in Linear.V3

Methods

pure :: a -> V3 a

(<*>) :: V3 (a -> b) -> V3 a -> V3 b

liftA2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c

(*>) :: V3 a -> V3 b -> V3 b

(<*) :: V3 a -> V3 b -> V3 a

Foldable V3 
Instance details

Defined in Linear.V3

Methods

fold :: Monoid m => V3 m -> m

foldMap :: Monoid m => (a -> m) -> V3 a -> m

foldMap' :: Monoid m => (a -> m) -> V3 a -> m

foldr :: (a -> b -> b) -> b -> V3 a -> b

foldr' :: (a -> b -> b) -> b -> V3 a -> b

foldl :: (b -> a -> b) -> b -> V3 a -> b

foldl' :: (b -> a -> b) -> b -> V3 a -> b

foldr1 :: (a -> a -> a) -> V3 a -> a

foldl1 :: (a -> a -> a) -> V3 a -> a

toList :: V3 a -> [a]

null :: V3 a -> Bool

length :: V3 a -> Int

elem :: Eq a => a -> V3 a -> Bool

maximum :: Ord a => V3 a -> a

minimum :: Ord a => V3 a -> a

sum :: Num a => V3 a -> a

product :: Num a => V3 a -> a

Traversable V3 
Instance details

Defined in Linear.V3

Methods

traverse :: Applicative f => (a -> f b) -> V3 a -> f (V3 b)

sequenceA :: Applicative f => V3 (f a) -> f (V3 a)

mapM :: Monad m => (a -> m b) -> V3 a -> m (V3 b)

sequence :: Monad m => V3 (m a) -> m (V3 a)

Representable V3 
Instance details

Defined in Linear.V3

Associated Types

type Rep V3

Methods

tabulate :: (Rep V3 -> a) -> V3 a

index :: V3 a -> Rep V3 -> a

Affine V3 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V3 :: Type -> Type Source #

Methods

(.-.) :: Num a => V3 a -> V3 a -> Diff V3 a Source #

(.+^) :: Num a => V3 a -> Diff V3 a -> V3 a Source #

(.-^) :: Num a => V3 a -> Diff V3 a -> V3 a Source #

Trace V3 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V3 (V3 a) -> a Source #

diagonal :: V3 (V3 a) -> V3 a Source #

R3 V3 
Instance details

Defined in Linear.V3

Methods

_z :: Lens' (V3 a) a Source #

_xyz :: Lens' (V3 a) (V3 a) Source #

R2 V3 
Instance details

Defined in Linear.V3

Methods

_y :: Lens' (V3 a) a Source #

_xy :: Lens' (V3 a) (V2 a) Source #

R1 V3 
Instance details

Defined in Linear.V3

Methods

_x :: Lens' (V3 a) a Source #

Finite V3 
Instance details

Defined in Linear.V3

Associated Types

type Size V3 :: Nat Source #

Methods

toV :: V3 a -> V (Size V3) a Source #

fromV :: V (Size V3) a -> V3 a Source #

Metric V3 
Instance details

Defined in Linear.V3

Methods

dot :: Num a => V3 a -> V3 a -> a Source #

quadrance :: Num a => V3 a -> a Source #

qd :: Num a => V3 a -> V3 a -> a Source #

distance :: Floating a => V3 a -> V3 a -> a Source #

norm :: Floating a => V3 a -> a Source #

signorm :: Floating a => V3 a -> V3 a Source #

Additive V3 
Instance details

Defined in Linear.V3

Methods

zero :: Num a => V3 a Source #

(^+^) :: Num a => V3 a -> V3 a -> V3 a Source #

(^-^) :: Num a => V3 a -> V3 a -> V3 a Source #

lerp :: Num a => a -> V3 a -> V3 a -> V3 a Source #

liftU2 :: (a -> a -> a) -> V3 a -> V3 a -> V3 a Source #

liftI2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c Source #

Eq1 V3 
Instance details

Defined in Linear.V3

Methods

liftEq :: (a -> b -> Bool) -> V3 a -> V3 b -> Bool

Ord1 V3 
Instance details

Defined in Linear.V3

Methods

liftCompare :: (a -> b -> Ordering) -> V3 a -> V3 b -> Ordering

Read1 V3 
Instance details

Defined in Linear.V3

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V3 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V3 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V3 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V3 a]

Show1 V3 
Instance details

Defined in Linear.V3

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V3 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V3 a] -> ShowS

MonadZip V3 
Instance details

Defined in Linear.V3

Methods

mzip :: V3 a -> V3 b -> V3 (a, b)

mzipWith :: (a -> b -> c) -> V3 a -> V3 b -> V3 c

munzip :: V3 (a, b) -> (V3 a, V3 b)

Apply V3 
Instance details

Defined in Linear.V3

Methods

(<.>) :: V3 (a -> b) -> V3 a -> V3 b

(.>) :: V3 a -> V3 b -> V3 b

(<.) :: V3 a -> V3 b -> V3 a

liftF2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c

Bind V3 
Instance details

Defined in Linear.V3

Methods

(>>-) :: V3 a -> (a -> V3 b) -> V3 b

join :: V3 (V3 a) -> V3 a

Distributive V3 
Instance details

Defined in Linear.V3

Methods

distribute :: Functor f => f (V3 a) -> V3 (f a)

collect :: Functor f => (a -> V3 b) -> f a -> V3 (f b)

distributeM :: Monad m => m (V3 a) -> V3 (m a)

collectM :: Monad m => (a -> V3 b) -> m a -> V3 (m b)

Hashable1 V3 
Instance details

Defined in Linear.V3

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V3 a -> Int

Serial1 V3 
Instance details

Defined in Linear.V3

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V3 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V3 a)

Foldable1 V3 
Instance details

Defined in Linear.V3

Methods

fold1 :: Semigroup m => V3 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V3 a -> m

toNonEmpty :: V3 a -> NonEmpty a

Traversable1 V3 
Instance details

Defined in Linear.V3

Methods

traverse1 :: Apply f => (a -> f b) -> V3 a -> f (V3 b)

sequence1 :: Apply f => V3 (f b) -> f (V3 b)

Num r => Coalgebra r (E V3) 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V3 -> r) -> E V3 -> E V3 -> r Source #

counital :: (E V3 -> r) -> r Source #

Unbox a => Vector Vector (V3 a) 
Instance details

Defined in Linear.V3

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V3 a) -> m (Vector (V3 a)) Source #

basicUnsafeThaw :: PrimMonad m => Vector (V3 a) -> m (Mutable Vector (PrimState m) (V3 a)) Source #

basicLength :: Vector (V3 a) -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector (V3 a) -> Vector (V3 a) Source #

basicUnsafeIndexM :: Monad m => Vector (V3 a) -> Int -> m (V3 a) Source #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V3 a) -> Vector (V3 a) -> m () Source #

elemseq :: Vector (V3 a) -> V3 a -> b -> b Source #

Unbox a => MVector MVector (V3 a) 
Instance details

Defined in Linear.V3

Methods

basicLength :: MVector s (V3 a) -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s (V3 a) -> MVector s (V3 a) Source #

basicOverlaps :: MVector s (V3 a) -> MVector s (V3 a) -> Bool Source #

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (V3 a)) Source #

basicInitialize :: PrimMonad m => MVector (PrimState m) (V3 a) -> m () Source #

basicUnsafeReplicate :: PrimMonad m => Int -> V3 a -> m (MVector (PrimState m) (V3 a)) Source #

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V3 a) -> Int -> m (V3 a) Source #

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V3 a) -> Int -> V3 a -> m () Source #

basicClear :: PrimMonad m => MVector (PrimState m) (V3 a) -> m () Source #

basicSet :: PrimMonad m => MVector (PrimState m) (V3 a) -> V3 a -> m () Source #

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V3 a) -> MVector (PrimState m) (V3 a) -> m () Source #

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V3 a) -> MVector (PrimState m) (V3 a) -> m () Source #

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V3 a) -> Int -> m (MVector (PrimState m) (V3 a)) Source #

Bounded a => Bounded (V3 a) 
Instance details

Defined in Linear.V3

Methods

minBound :: V3 a

maxBound :: V3 a

Eq a => Eq (V3 a) 
Instance details

Defined in Linear.V3

Methods

(==) :: V3 a -> V3 a -> Bool

(/=) :: V3 a -> V3 a -> Bool

Floating a => Floating (V3 a) 
Instance details

Defined in Linear.V3

Methods

pi :: V3 a

exp :: V3 a -> V3 a

log :: V3 a -> V3 a

sqrt :: V3 a -> V3 a

(**) :: V3 a -> V3 a -> V3 a

logBase :: V3 a -> V3 a -> V3 a

sin :: V3 a -> V3 a

cos :: V3 a -> V3 a

tan :: V3 a -> V3 a

asin :: V3 a -> V3 a

acos :: V3 a -> V3 a

atan :: V3 a -> V3 a

sinh :: V3 a -> V3 a

cosh :: V3 a -> V3 a

tanh :: V3 a -> V3 a

asinh :: V3 a -> V3 a

acosh :: V3 a -> V3 a

atanh :: V3 a -> V3 a

log1p :: V3 a -> V3 a

expm1 :: V3 a -> V3 a

log1pexp :: V3 a -> V3 a

log1mexp :: V3 a -> V3 a

Fractional a => Fractional (V3 a) 
Instance details

Defined in Linear.V3

Methods

(/) :: V3 a -> V3 a -> V3 a

recip :: V3 a -> V3 a

fromRational :: Rational -> V3 a

Data a => Data (V3 a) 
Instance details

Defined in Linear.V3

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V3 a -> c (V3 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V3 a)

toConstr :: V3 a -> Constr

dataTypeOf :: V3 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V3 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V3 a))

gmapT :: (forall b. Data b => b -> b) -> V3 a -> V3 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V3 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V3 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V3 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V3 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a)

Num a => Num (V3 a) 
Instance details

Defined in Linear.V3

Methods

(+) :: V3 a -> V3 a -> V3 a

(-) :: V3 a -> V3 a -> V3 a

(*) :: V3 a -> V3 a -> V3 a

negate :: V3 a -> V3 a

abs :: V3 a -> V3 a

signum :: V3 a -> V3 a

fromInteger :: Integer -> V3 a

Ord a => Ord (V3 a) 
Instance details

Defined in Linear.V3

Methods

compare :: V3 a -> V3 a -> Ordering

(<) :: V3 a -> V3 a -> Bool

(<=) :: V3 a -> V3 a -> Bool

(>) :: V3 a -> V3 a -> Bool

(>=) :: V3 a -> V3 a -> Bool

max :: V3 a -> V3 a -> V3 a

min :: V3 a -> V3 a -> V3 a

Read a => Read (V3 a) 
Instance details

Defined in Linear.V3

Methods

readsPrec :: Int -> ReadS (V3 a)

readList :: ReadS [V3 a]

readPrec :: ReadPrec (V3 a)

readListPrec :: ReadPrec [V3 a]

Show a => Show (V3 a) 
Instance details

Defined in Linear.V3

Methods

showsPrec :: Int -> V3 a -> ShowS

show :: V3 a -> String

showList :: [V3 a] -> ShowS

Ix a => Ix (V3 a) 
Instance details

Defined in Linear.V3

Methods

range :: (V3 a, V3 a) -> [V3 a]

index :: (V3 a, V3 a) -> V3 a -> Int

unsafeIndex :: (V3 a, V3 a) -> V3 a -> Int

inRange :: (V3 a, V3 a) -> V3 a -> Bool

rangeSize :: (V3 a, V3 a) -> Int

unsafeRangeSize :: (V3 a, V3 a) -> Int

Generic (V3 a) 
Instance details

Defined in Linear.V3

Associated Types

type Rep (V3 a) :: Type -> Type

Methods

from :: V3 a -> Rep (V3 a) x

to :: Rep (V3 a) x -> V3 a

Lift a => Lift (V3 a) 
Instance details

Defined in Linear.V3

Methods

lift :: V3 a -> Q Exp

Epsilon a => Epsilon (V3 a) 
Instance details

Defined in Linear.V3

Methods

nearZero :: V3 a -> Bool Source #

Unbox a => Unbox (V3 a) 
Instance details

Defined in Linear.V3

Storable a => Storable (V3 a) 
Instance details

Defined in Linear.V3

Methods

sizeOf :: V3 a -> Int

alignment :: V3 a -> Int

peekElemOff :: Ptr (V3 a) -> Int -> IO (V3 a)

pokeElemOff :: Ptr (V3 a) -> Int -> V3 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V3 a)

pokeByteOff :: Ptr b -> Int -> V3 a -> IO ()

peek :: Ptr (V3 a) -> IO (V3 a)

poke :: Ptr (V3 a) -> V3 a -> IO ()

Binary a => Binary (V3 a) 
Instance details

Defined in Linear.V3

Methods

put :: V3 a -> Put

get :: Get (V3 a)

putList :: [V3 a] -> Put

NFData a => NFData (V3 a) 
Instance details

Defined in Linear.V3

Methods

rnf :: V3 a -> ()

Hashable a => Hashable (V3 a) 
Instance details

Defined in Linear.V3

Methods

hashWithSalt :: Int -> V3 a -> Int

hash :: V3 a -> Int

Ixed (V3 a) 
Instance details

Defined in Linear.V3

Methods

ix :: Index (V3 a) -> Traversal' (V3 a) (IxValue (V3 a))

Serial a => Serial (V3 a) 
Instance details

Defined in Linear.V3

Methods

serialize :: MonadPut m => V3 a -> m ()

deserialize :: MonadGet m => m (V3 a)

Serialize a => Serialize (V3 a) 
Instance details

Defined in Linear.V3

Methods

put :: Putter (V3 a)

get :: Get (V3 a)

Generic1 V3 
Instance details

Defined in Linear.V3

Associated Types

type Rep1 V3 :: k -> Type

Methods

from1 :: forall (a :: k). V3 a -> Rep1 V3 a

to1 :: forall (a :: k). Rep1 V3 a -> V3 a

FoldableWithIndex (E V3) V3 
Instance details

Defined in Linear.V3

Methods

ifoldMap :: Monoid m => (E V3 -> a -> m) -> V3 a -> m

ifolded :: IndexedFold (E V3) (V3 a) a

ifoldr :: (E V3 -> a -> b -> b) -> b -> V3 a -> b

ifoldl :: (E V3 -> b -> a -> b) -> b -> V3 a -> b

ifoldr' :: (E V3 -> a -> b -> b) -> b -> V3 a -> b

ifoldl' :: (E V3 -> b -> a -> b) -> b -> V3 a -> b

FunctorWithIndex (E V3) V3 
Instance details

Defined in Linear.V3

Methods

imap :: (E V3 -> a -> b) -> V3 a -> V3 b

imapped :: IndexedSetter (E V3) (V3 a) (V3 b) a b

TraversableWithIndex (E V3) V3 
Instance details

Defined in Linear.V3

Methods

itraverse :: Applicative f => (E V3 -> a -> f b) -> V3 a -> f (V3 b)

itraversed :: IndexedTraversal (E V3) (V3 a) (V3 b) a b

Each (V3 a) (V3 b) a b 
Instance details

Defined in Linear.V3

Methods

each :: Traversal (V3 a) (V3 b) a b

Field1 (V3 a) (V3 a) a a 
Instance details

Defined in Linear.V3

Methods

_1 :: Lens (V3 a) (V3 a) a a

Field2 (V3 a) (V3 a) a a 
Instance details

Defined in Linear.V3

Methods

_2 :: Lens (V3 a) (V3 a) a a

Field3 (V3 a) (V3 a) a a 
Instance details

Defined in Linear.V3

Methods

_3 :: Lens (V3 a) (V3 a) a a

type Diff V3 
Instance details

Defined in Linear.Affine

type Diff V3 = V3
type Size V3 
Instance details

Defined in Linear.V3

type Size V3 = 3
type Rep V3 
Instance details

Defined in Linear.V3

type Rep V3 = E V3
data MVector s (V3 a) 
Instance details

Defined in Linear.V3

data MVector s (V3 a) = MV_V3 !Int !(MVector s a)
type Rep (V3 a) 
Instance details

Defined in Linear.V3

type Rep (V3 a) = D1 ('MetaData "V3" "Linear.V3" "linear-1.20.9-DOReBBPX45Z7wmILVkBViE" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))
data Vector (V3 a) 
Instance details

Defined in Linear.V3

data Vector (V3 a) = V_V3 !Int !(Vector a)
type Index (V3 a) 
Instance details

Defined in Linear.V3

type Index (V3 a) = E V3
type IxValue (V3 a) 
Instance details

Defined in Linear.V3

type IxValue (V3 a) = a
type Rep1 V3 
Instance details

Defined in Linear.V3

type Rep1 V3 = D1 ('MetaData "V3" "Linear.V3" "linear-1.20.9-DOReBBPX45Z7wmILVkBViE" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))

data V4 a Source #

A 4-dimensional vector.

Constructors

V4 !a !a !a !a 

Instances

Instances details
Monad V4 
Instance details

Defined in Linear.V4

Methods

(>>=) :: V4 a -> (a -> V4 b) -> V4 b

(>>) :: V4 a -> V4 b -> V4 b

return :: a -> V4 a

Functor V4 
Instance details

Defined in Linear.V4

Methods

fmap :: (a -> b) -> V4 a -> V4 b

(<$) :: a -> V4 b -> V4 a

MonadFix V4 
Instance details

Defined in Linear.V4

Methods

mfix :: (a -> V4 a) -> V4 a

Applicative V4 
Instance details

Defined in Linear.V4

Methods

pure :: a -> V4 a

(<*>) :: V4 (a -> b) -> V4 a -> V4 b

liftA2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c

(*>) :: V4 a -> V4 b -> V4 b

(<*) :: V4 a -> V4 b -> V4 a

Foldable V4 
Instance details

Defined in Linear.V4

Methods

fold :: Monoid m => V4 m -> m

foldMap :: Monoid m => (a -> m) -> V4 a -> m

foldMap' :: Monoid m => (a -> m) -> V4 a -> m

foldr :: (a -> b -> b) -> b -> V4 a -> b

foldr' :: (a -> b -> b) -> b -> V4 a -> b

foldl :: (b -> a -> b) -> b -> V4 a -> b

foldl' :: (b -> a -> b) -> b -> V4 a -> b

foldr1 :: (a -> a -> a) -> V4 a -> a

foldl1 :: (a -> a -> a) -> V4 a -> a

toList :: V4 a -> [a]

null :: V4 a -> Bool

length :: V4 a -> Int

elem :: Eq a => a -> V4 a -> Bool

maximum :: Ord a => V4 a -> a

minimum :: Ord a => V4 a -> a

sum :: Num a => V4 a -> a

product :: Num a => V4 a -> a

Traversable V4 
Instance details

Defined in Linear.V4

Methods

traverse :: Applicative f => (a -> f b) -> V4 a -> f (V4 b)

sequenceA :: Applicative f => V4 (f a) -> f (V4 a)

mapM :: Monad m => (a -> m b) -> V4 a -> m (V4 b)

sequence :: Monad m => V4 (m a) -> m (V4 a)

Representable V4 
Instance details

Defined in Linear.V4

Associated Types

type Rep V4

Methods

tabulate :: (Rep V4 -> a) -> V4 a

index :: V4 a -> Rep V4 -> a

Affine V4 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V4 :: Type -> Type Source #

Methods

(.-.) :: Num a => V4 a -> V4 a -> Diff V4 a Source #

(.+^) :: Num a => V4 a -> Diff V4 a -> V4 a Source #

(.-^) :: Num a => V4 a -> Diff V4 a -> V4 a Source #

Trace V4 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V4 (V4 a) -> a Source #

diagonal :: V4 (V4 a) -> V4 a Source #

R4 V4 
Instance details

Defined in Linear.V4

Methods

_w :: Lens' (V4 a) a Source #

_xyzw :: Lens' (V4 a) (V4 a) Source #

R3 V4 
Instance details

Defined in Linear.V4

Methods

_z :: Lens' (V4 a) a Source #

_xyz :: Lens' (V4 a) (V3 a) Source #

R2 V4 
Instance details

Defined in Linear.V4

Methods

_y :: Lens' (V4 a) a Source #

_xy :: Lens' (V4 a) (V2 a) Source #

R1 V4 
Instance details

Defined in Linear.V4

Methods

_x :: Lens' (V4 a) a Source #

Finite V4 
Instance details

Defined in Linear.V4

Associated Types

type Size V4 :: Nat Source #

Methods

toV :: V4 a -> V (Size V4) a Source #

fromV :: V (Size V4) a -> V4 a Source #

Metric V4 
Instance details

Defined in Linear.V4

Methods

dot :: Num a => V4 a -> V4 a -> a Source #

quadrance :: Num a => V4 a -> a Source #

qd :: Num a => V4 a -> V4 a -> a Source #

distance :: Floating a => V4 a -> V4 a -> a Source #

norm :: Floating a => V4 a -> a Source #

signorm :: Floating a => V4 a -> V4 a Source #

Additive V4 
Instance details

Defined in Linear.V4

Methods

zero :: Num a => V4 a Source #

(^+^) :: Num a => V4 a -> V4 a -> V4 a Source #

(^-^) :: Num a => V4 a -> V4 a -> V4 a Source #

lerp :: Num a => a -> V4 a -> V4 a -> V4 a Source #

liftU2 :: (a -> a -> a) -> V4 a -> V4 a -> V4 a Source #

liftI2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c Source #

Eq1 V4 
Instance details

Defined in Linear.V4

Methods

liftEq :: (a -> b -> Bool) -> V4 a -> V4 b -> Bool

Ord1 V4 
Instance details

Defined in Linear.V4

Methods

liftCompare :: (a -> b -> Ordering) -> V4 a -> V4 b -> Ordering

Read1 V4 
Instance details

Defined in Linear.V4

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V4 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V4 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V4 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V4 a]

Show1 V4 
Instance details

Defined in Linear.V4

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V4 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V4 a] -> ShowS

MonadZip V4 
Instance details

Defined in Linear.V4

Methods

mzip :: V4 a -> V4 b -> V4 (a, b)

mzipWith :: (a -> b -> c) -> V4 a -> V4 b -> V4 c

munzip :: V4 (a, b) -> (V4 a, V4 b)

Apply V4 
Instance details

Defined in Linear.V4

Methods

(<.>) :: V4 (a -> b) -> V4 a -> V4 b

(.>) :: V4 a -> V4 b -> V4 b

(<.) :: V4 a -> V4 b -> V4 a

liftF2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c

Bind V4 
Instance details

Defined in Linear.V4

Methods

(>>-) :: V4 a -> (a -> V4 b) -> V4 b

join :: V4 (V4 a) -> V4 a

Distributive V4 
Instance details

Defined in Linear.V4

Methods

distribute :: Functor f => f (V4 a) -> V4 (f a)

collect :: Functor f => (a -> V4 b) -> f a -> V4 (f b)

distributeM :: Monad m => m (V4 a) -> V4 (m a)

collectM :: Monad m => (a -> V4 b) -> m a -> V4 (m b)

Hashable1 V4 
Instance details

Defined in Linear.V4

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V4 a -> Int

Serial1 V4 
Instance details

Defined in Linear.V4

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V4 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V4 a)

Foldable1 V4 
Instance details

Defined in Linear.V4

Methods

fold1 :: Semigroup m => V4 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V4 a -> m

toNonEmpty :: V4 a -> NonEmpty a

Traversable1 V4 
Instance details

Defined in Linear.V4

Methods

traverse1 :: Apply f => (a -> f b) -> V4 a -> f (V4 b)

sequence1 :: Apply f => V4 (f b) -> f (V4 b)

Num r => Coalgebra r (E V4) 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V4 -> r) -> E V4 -> E V4 -> r Source #

counital :: (E V4 -> r) -> r Source #

Unbox a => Vector Vector (V4 a) 
Instance details

Defined in Linear.V4

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V4 a) -> m (Vector (V4 a)) Source #

basicUnsafeThaw :: PrimMonad m => Vector (V4 a) -> m (Mutable Vector (PrimState m) (V4 a)) Source #

basicLength :: Vector (V4 a) -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector (V4 a) -> Vector (V4 a) Source #

basicUnsafeIndexM :: Monad m => Vector (V4 a) -> Int -> m (V4 a) Source #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V4 a) -> Vector (V4 a) -> m () Source #

elemseq :: Vector (V4 a) -> V4 a -> b -> b Source #

Unbox a => MVector MVector (V4 a) 
Instance details

Defined in Linear.V4

Methods

basicLength :: MVector s (V4 a) -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s (V4 a) -> MVector s (V4 a) Source #

basicOverlaps :: MVector s (V4 a) -> MVector s (V4 a) -> Bool Source #

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (V4 a)) Source #

basicInitialize :: PrimMonad m => MVector (PrimState m) (V4 a) -> m () Source #

basicUnsafeReplicate :: PrimMonad m => Int -> V4 a -> m (MVector (PrimState m) (V4 a)) Source #

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V4 a) -> Int -> m (V4 a) Source #

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V4 a) -> Int -> V4 a -> m () Source #

basicClear :: PrimMonad m => MVector (PrimState m) (V4 a) -> m () Source #

basicSet :: PrimMonad m => MVector (PrimState m) (V4 a) -> V4 a -> m () Source #

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V4 a) -> MVector (PrimState m) (V4 a) -> m () Source #

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V4 a) -> MVector (PrimState m) (V4 a) -> m () Source #

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V4 a) -> Int -> m (MVector (PrimState m) (V4 a)) Source #

Bounded a => Bounded (V4 a) 
Instance details

Defined in Linear.V4

Methods

minBound :: V4 a

maxBound :: V4 a

Eq a => Eq (V4 a) 
Instance details

Defined in Linear.V4

Methods

(==) :: V4 a -> V4 a -> Bool

(/=) :: V4 a -> V4 a -> Bool

Floating a => Floating (V4 a) 
Instance details

Defined in Linear.V4

Methods

pi :: V4 a

exp :: V4 a -> V4 a

log :: V4 a -> V4 a

sqrt :: V4 a -> V4 a

(**) :: V4 a -> V4 a -> V4 a

logBase :: V4 a -> V4 a -> V4 a

sin :: V4 a -> V4 a

cos :: V4 a -> V4 a

tan :: V4 a -> V4 a

asin :: V4 a -> V4 a

acos :: V4 a -> V4 a

atan :: V4 a -> V4 a

sinh :: V4 a -> V4 a

cosh :: V4 a -> V4 a

tanh :: V4 a -> V4 a

asinh :: V4 a -> V4 a

acosh :: V4 a -> V4 a

atanh :: V4 a -> V4 a

log1p :: V4 a -> V4 a

expm1 :: V4 a -> V4 a

log1pexp :: V4 a -> V4 a

log1mexp :: V4 a -> V4 a

Fractional a => Fractional (V4 a) 
Instance details

Defined in Linear.V4

Methods

(/) :: V4 a -> V4 a -> V4 a

recip :: V4 a -> V4 a

fromRational :: Rational -> V4 a

Data a => Data (V4 a) 
Instance details

Defined in Linear.V4

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V4 a -> c (V4 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V4 a)

toConstr :: V4 a -> Constr

dataTypeOf :: V4 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V4 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V4 a))

gmapT :: (forall b. Data b => b -> b) -> V4 a -> V4 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V4 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V4 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V4 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V4 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a)

Num a => Num (V4 a) 
Instance details

Defined in Linear.V4

Methods

(+) :: V4 a -> V4 a -> V4 a

(-) :: V4 a -> V4 a -> V4 a

(*) :: V4 a -> V4 a -> V4 a

negate :: V4 a -> V4 a

abs :: V4 a -> V4 a

signum :: V4 a -> V4 a

fromInteger :: Integer -> V4 a

Ord a => Ord (V4 a) 
Instance details

Defined in Linear.V4

Methods

compare :: V4 a -> V4 a -> Ordering

(<) :: V4 a -> V4 a -> Bool

(<=) :: V4 a -> V4 a -> Bool

(>) :: V4 a -> V4 a -> Bool

(>=) :: V4 a -> V4 a -> Bool

max :: V4 a -> V4 a -> V4 a

min :: V4 a -> V4 a -> V4 a

Read a => Read (V4 a) 
Instance details

Defined in Linear.V4

Methods

readsPrec :: Int -> ReadS (V4 a)

readList :: ReadS [V4 a]

readPrec :: ReadPrec (V4 a)

readListPrec :: ReadPrec [V4 a]

Show a => Show (V4 a) 
Instance details

Defined in Linear.V4

Methods

showsPrec :: Int -> V4 a -> ShowS

show :: V4 a -> String

showList :: [V4 a] -> ShowS

Ix a => Ix (V4 a) 
Instance details

Defined in Linear.V4

Methods

range :: (V4 a, V4 a) -> [V4 a]

index :: (V4 a, V4 a) -> V4 a -> Int

unsafeIndex :: (V4 a, V4 a) -> V4 a -> Int

inRange :: (V4 a, V4 a) -> V4 a -> Bool

rangeSize :: (V4 a, V4 a) -> Int

unsafeRangeSize :: (V4 a, V4 a) -> Int

Generic (V4 a) 
Instance details

Defined in Linear.V4

Associated Types

type Rep (V4 a) :: Type -> Type

Methods

from :: V4 a -> Rep (V4 a) x

to :: Rep (V4 a) x -> V4 a

Lift a => Lift (V4 a) 
Instance details

Defined in Linear.V4

Methods

lift :: V4 a -> Q Exp

Epsilon a => Epsilon (V4 a) 
Instance details

Defined in Linear.V4

Methods

nearZero :: V4 a -> Bool Source #

Unbox a => Unbox (V4 a) 
Instance details

Defined in Linear.V4

Storable a => Storable (V4 a) 
Instance details

Defined in Linear.V4

Methods

sizeOf :: V4 a -> Int

alignment :: V4 a -> Int

peekElemOff :: Ptr (V4 a) -> Int -> IO (V4 a)

pokeElemOff :: Ptr (V4 a) -> Int -> V4 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V4 a)

pokeByteOff :: Ptr b -> Int -> V4 a -> IO ()

peek :: Ptr (V4 a) -> IO (V4 a)

poke :: Ptr (V4 a) -> V4 a -> IO ()

Binary a => Binary (V4 a) 
Instance details

Defined in Linear.V4

Methods

put :: V4 a -> Put

get :: Get (V4 a)

putList :: [V4 a] -> Put

NFData a => NFData (V4 a) 
Instance details

Defined in Linear.V4

Methods

rnf :: V4 a -> ()

Hashable a => Hashable (V4 a) 
Instance details

Defined in Linear.V4

Methods

hashWithSalt :: Int -> V4 a -> Int

hash :: V4 a -> Int

Ixed (V4 a) 
Instance details

Defined in Linear.V4

Methods

ix :: Index (V4 a) -> Traversal' (V4 a) (IxValue (V4 a))

Serial a => Serial (V4 a) 
Instance details

Defined in Linear.V4

Methods

serialize :: MonadPut m => V4 a -> m ()

deserialize :: MonadGet m => m (V4 a)

Serialize a => Serialize (V4 a) 
Instance details

Defined in Linear.V4

Methods

put :: Putter (V4 a)

get :: Get (V4 a)

Generic1 V4 
Instance details

Defined in Linear.V4

Associated Types

type Rep1 V4 :: k -> Type

Methods

from1 :: forall (a :: k). V4 a -> Rep1 V4 a

to1 :: forall (a :: k). Rep1 V4 a -> V4 a

FoldableWithIndex (E V4) V4 
Instance details

Defined in Linear.V4

Methods

ifoldMap :: Monoid m => (E V4 -> a -> m) -> V4 a -> m

ifolded :: IndexedFold (E V4) (V4 a) a

ifoldr :: (E V4 -> a -> b -> b) -> b -> V4 a -> b

ifoldl :: (E V4 -> b -> a -> b) -> b -> V4 a -> b

ifoldr' :: (E V4 -> a -> b -> b) -> b -> V4 a -> b

ifoldl' :: (E V4 -> b -> a -> b) -> b -> V4 a -> b

FunctorWithIndex (E V4) V4 
Instance details

Defined in Linear.V4

Methods

imap :: (E V4 -> a -> b) -> V4 a -> V4 b

imapped :: IndexedSetter (E V4) (V4 a) (V4 b) a b

TraversableWithIndex (E V4) V4 
Instance details

Defined in Linear.V4

Methods

itraverse :: Applicative f => (E V4 -> a -> f b) -> V4 a -> f (V4 b)

itraversed :: IndexedTraversal (E V4) (V4 a) (V4 b) a b

Each (V4 a) (V4 b) a b 
Instance details

Defined in Linear.V4

Methods

each :: Traversal (V4 a) (V4 b) a b

Field1 (V4 a) (V4 a) a a 
Instance details

Defined in Linear.V4

Methods

_1 :: Lens (V4 a) (V4 a) a a

Field2 (V4 a) (V4 a) a a 
Instance details

Defined in Linear.V4

Methods

_2 :: Lens (V4 a) (V4 a) a a

Field3 (V4 a) (V4 a) a a 
Instance details

Defined in Linear.V4

Methods

_3 :: Lens (V4 a) (V4 a) a a

Field4 (V4 a) (V4 a) a a 
Instance details

Defined in Linear.V4

Methods

_4 :: Lens (V4 a) (V4 a) a a

type Diff V4 
Instance details

Defined in Linear.Affine

type Diff V4 = V4
type Size V4 
Instance details

Defined in Linear.V4

type Size V4 = 4
type Rep V4 
Instance details

Defined in Linear.V4

type Rep V4 = E V4
data MVector s (V4 a) 
Instance details

Defined in Linear.V4

data MVector s (V4 a) = MV_V4 !Int !(MVector s a)
type Rep (V4 a) 
Instance details

Defined in Linear.V4

type Rep (V4 a) = D1 ('MetaData "V4" "Linear.V4" "linear-1.20.9-DOReBBPX45Z7wmILVkBViE" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))
data Vector (V4 a) 
Instance details

Defined in Linear.V4

data Vector (V4 a) = V_V4 !Int !(Vector a)
type Index (V4 a) 
Instance details

Defined in Linear.V4

type Index (V4 a) = E V4
type IxValue (V4 a) 
Instance details

Defined in Linear.V4

type IxValue (V4 a) = a
type Rep1 V4 
Instance details

Defined in Linear.V4

type Rep1 V4 = D1 ('MetaData "V4" "Linear.V4" "linear-1.20.9-DOReBBPX45Z7wmILVkBViE" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))