mischief-render
Safe HaskellNone
LanguageGHC2024

Mischief.Materials

Synopsis

Documentation

liftExt :: forall a b c. ExtensionOf b a => Shader a c -> Shader b c Source #

type family B a :: Type -> Type Source #

Instances

Instances details
type B FullscreenMaterial Source # 
Instance details

Defined in Mischief.Materials.Fullscreen

type B CustomMat Source # 
Instance details

Defined in Mischief.Materials.Sprite

type B SpriteMaterial Source # 
Instance details

Defined in Mischief.Materials.Sprite

type B TimeMaterial Source # 
Instance details

Defined in Mischief.Materials.Time

type B ClearMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

type B DummyFullscreenMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

data Clear Source #

Constructors

DontClear 
Clear (V3 Float) 

type family Extends a :: [Type] Source #

Instances

Instances details
type Extends FullscreenMaterial Source # 
Instance details

Defined in Mischief.Materials.Fullscreen

type Extends CustomMat Source # 
Instance details

Defined in Mischief.Materials.Sprite

type Extends SpriteMaterial Source # 
Instance details

Defined in Mischief.Materials.Sprite

type Extends SpriteMaterial = '[] :: [Type]
type Extends TimeMaterial Source # 
Instance details

Defined in Mischief.Materials.Time

type Extends TimeMaterial = '[] :: [Type]
type Extends ClearMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

type Extends ClearMaterial = '[] :: [Type]
type Extends DummyFullscreenMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

data FetchBindings (b :: Type -> Type) where Source #

Constructors

FetchBindings 

Fields

class (Bindable (B a), ShaderParam (VI a), ShaderParam (VO a), Extension (Extends a), Typeable a, Typeable (B a), Typeable (VI a), Typeable (VO a), Typeable (Extends a), Typeable (IsPhantom a)) => Material a where Source #

Minimal complete definition

fetch

Associated Types

type VI a :: Type -> Type Source #

type VO a :: Type -> Type Source #

type B a :: Type -> Type Source #

type Extends a :: [Type] Source #

type Extends a = '[] :: [Type]

type Extandable a :: Bool Source #

type Extandable a = 'True

type IsPhantom a :: Bool Source #

type IsPhantom a = 'False

Methods

vertex :: VI a GPU -> Shader a (VO a GPU) Source #

default vertex :: IsPhantom a ~ 'True => VI a GPU -> Shader a (VO a GPU) Source #

fragment :: VO a GPU -> Shader a (Vec 4 Float) Source #

default fragment :: IsPhantom a ~ 'True => VO a GPU -> Shader a (Vec 4 Float) Source #

fetch :: FetchBindings (B a) Source #

Instances

Instances details
Material FullscreenMaterial Source # 
Instance details

Defined in Mischief.Materials.Fullscreen

Material CustomMat Source # 
Instance details

Defined in Mischief.Materials.Sprite

Associated Types

type VI CustomMat 
Instance details

Defined in Mischief.Materials.Sprite

type VO CustomMat 
Instance details

Defined in Mischief.Materials.Sprite

type B CustomMat 
Instance details

Defined in Mischief.Materials.Sprite

type Extends CustomMat 
Instance details

Defined in Mischief.Materials.Sprite

type Extandable CustomMat 
Instance details

Defined in Mischief.Materials.Sprite

type IsPhantom CustomMat 
Instance details

Defined in Mischief.Materials.Sprite

Material SpriteMaterial Source # 
Instance details

Defined in Mischief.Materials.Sprite

Associated Types

type VI SpriteMaterial 
Instance details

Defined in Mischief.Materials.Sprite

type VO SpriteMaterial 
Instance details

Defined in Mischief.Materials.Sprite

type B SpriteMaterial 
Instance details

Defined in Mischief.Materials.Sprite

type Extends SpriteMaterial 
Instance details

Defined in Mischief.Materials.Sprite

type Extends SpriteMaterial = '[] :: [Type]
type Extandable SpriteMaterial 
Instance details

Defined in Mischief.Materials.Sprite

type IsPhantom SpriteMaterial 
Instance details

Defined in Mischief.Materials.Sprite

Material TimeMaterial Source # 
Instance details

Defined in Mischief.Materials.Time

Associated Types

type VI TimeMaterial 
Instance details

Defined in Mischief.Materials.Time

type VO TimeMaterial 
Instance details

Defined in Mischief.Materials.Time

type B TimeMaterial 
Instance details

Defined in Mischief.Materials.Time

type Extends TimeMaterial 
Instance details

Defined in Mischief.Materials.Time

type Extends TimeMaterial = '[] :: [Type]
type Extandable TimeMaterial 
Instance details

Defined in Mischief.Materials.Time

type IsPhantom TimeMaterial 
Instance details

Defined in Mischief.Materials.Time

Material ClearMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

Associated Types

type VI ClearMaterial 
Instance details

Defined in Mischief.Render.Plugin

type VO ClearMaterial 
Instance details

Defined in Mischief.Render.Plugin

type B ClearMaterial 
Instance details

Defined in Mischief.Render.Plugin

type Extends ClearMaterial 
Instance details

Defined in Mischief.Render.Plugin

type Extends ClearMaterial = '[] :: [Type]
type Extandable ClearMaterial 
Instance details

Defined in Mischief.Render.Plugin

type IsPhantom ClearMaterial 
Instance details

Defined in Mischief.Render.Plugin

Material DummyFullscreenMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

type family VI a :: Type -> Type Source #

Instances

Instances details
type VI FullscreenMaterial Source # 
Instance details

Defined in Mischief.Materials.Fullscreen

type VI CustomMat Source # 
Instance details

Defined in Mischief.Materials.Sprite

type VI SpriteMaterial Source # 
Instance details

Defined in Mischief.Materials.Sprite

type VI TimeMaterial Source # 
Instance details

Defined in Mischief.Materials.Time

type VI ClearMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

type VI DummyFullscreenMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

type family VO a :: Type -> Type Source #

Instances

Instances details
type VO FullscreenMaterial Source # 
Instance details

Defined in Mischief.Materials.Fullscreen

type VO CustomMat Source # 
Instance details

Defined in Mischief.Materials.Sprite

type VO SpriteMaterial Source # 
Instance details

Defined in Mischief.Materials.Sprite

type VO TimeMaterial Source # 
Instance details

Defined in Mischief.Materials.Time

type VO ClearMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

type VO DummyFullscreenMaterial Source # 
Instance details

Defined in Mischief.Render.Plugin

data Buffer (a :: k) Source #

Instances

Instances details
(Typeable a, Typeable k) => Component (Buffer a) Source # 
Instance details

Defined in Mischief.Render.Buffer

Associated Types

type IsExclusiveRel (Buffer a) 
Instance details

Defined in Mischief.Render.Buffer

type IsExclusiveRel (Buffer a) Source # 
Instance details

Defined in Mischief.Render.Buffer

data V2 a #

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

Defined in Linear.V2

Associated Types

type Rep V2 
Instance details

Defined in Linear.V2

type Rep V2 = E V2

Methods

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

index :: V2 a -> Rep 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 #

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

toNonEmpty :: V2 a -> NonEmpty a #

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

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

head :: V2 a -> a #

last :: V2 a -> a #

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

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V2 a -> b #

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

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V2 a -> b #

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 #

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

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

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 #

Functor V2 # 
Instance details

Defined in Linear.V2

Methods

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

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

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 #

MonadFix V2 # 
Instance details

Defined in Linear.V2

Methods

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

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

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

Hashable1 V2 # 
Instance details

Defined in Linear.V2

Methods

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

Affine V2 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V2 
Instance details

Defined in Linear.Affine

type Diff V2 = V2

Methods

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

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

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

Metric V2 # 
Instance details

Defined in Linear.V2

Methods

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

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

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

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

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

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

Trace V2 # 
Instance details

Defined in Linear.Trace

Methods

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

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

Finite V2 # 
Instance details

Defined in Linear.V2

Associated Types

type Size V2 
Instance details

Defined in Linear.V2

type Size V2 = 2

Methods

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

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

R1 V2 # 
Instance details

Defined in Linear.V2

Methods

_x :: Lens' (V2 a) a #

R2 V2 # 
Instance details

Defined in Linear.V2

Methods

_y :: Lens' (V2 a) a #

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

Additive V2 # 
Instance details

Defined in Linear.V2

Methods

zero :: Num a => V2 a #

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

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

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

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

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

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 #

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

Generic1 V2 # 
Instance details

Defined in Linear.V2

Associated Types

type Rep1 V2 
Instance details

Defined in Linear.V2

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

Methods

from1 :: V2 a -> Rep1 V2 a #

to1 :: Rep1 V2 a -> V2 a #

Lift a => Lift (V2 a :: Type) # 
Instance details

Defined in Linear.V2

Methods

lift :: Quote m => V2 a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => V2 a -> Code m (V2 a) #

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

Defined in Linear.Algebra

Methods

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

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

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

Defined in Linear.V2

Methods

basicUnsafeFreeze :: Mutable Vector s (V2 a) -> ST s (Vector (V2 a)) #

basicUnsafeThaw :: Vector (V2 a) -> ST s (Mutable Vector s (V2 a)) #

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

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

basicUnsafeIndexM :: Vector (V2 a) -> Int -> Box (V2 a) #

basicUnsafeCopy :: Mutable Vector s (V2 a) -> Vector (V2 a) -> ST s () #

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

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

Defined in Linear.V2

Methods

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

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

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

basicUnsafeNew :: Int -> ST s (MVector s (V2 a)) #

basicInitialize :: MVector s (V2 a) -> ST s () #

basicUnsafeReplicate :: Int -> V2 a -> ST s (MVector s (V2 a)) #

basicUnsafeRead :: MVector s (V2 a) -> Int -> ST s (V2 a) #

basicUnsafeWrite :: MVector s (V2 a) -> Int -> V2 a -> ST s () #

basicClear :: MVector s (V2 a) -> ST s () #

basicSet :: MVector s (V2 a) -> V2 a -> ST s () #

basicUnsafeCopy :: MVector s (V2 a) -> MVector s (V2 a) -> ST s () #

basicUnsafeMove :: MVector s (V2 a) -> MVector s (V2 a) -> ST s () #

basicUnsafeGrow :: MVector s (V2 a) -> Int -> ST s (MVector s (V2 a)) #

Binary a => Binary (V2 a) # 
Instance details

Defined in Linear.V2

Methods

put :: V2 a -> Put #

get :: Get (V2 a) #

putList :: [V2 a] -> Put #

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

NFData a => NFData (V2 a) # 
Instance details

Defined in Linear.V2

Methods

rnf :: V2 a -> () #

Monoid a => Monoid (V2 a) # 
Instance details

Defined in Linear.V2

Methods

mempty :: V2 a #

mappend :: V2 a -> V2 a -> V2 a #

mconcat :: [V2 a] -> V2 a #

Semigroup a => Semigroup (V2 a) # 
Instance details

Defined in Linear.V2

Methods

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

sconcat :: NonEmpty (V2 a) -> V2 a #

stimes :: Integral b => b -> V2 a -> 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) #

Bounded a => Bounded (V2 a) # 
Instance details

Defined in Linear.V2

Methods

minBound :: V2 a #

maxBound :: V2 a #

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 #

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

Generic (V2 a) # 
Instance details

Defined in Linear.V2

Associated Types

type Rep (V2 a) 
Instance details

Defined in Linear.V2

type Rep (V2 a) = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-5f2e44cc50784b84eb2261548e6d9000492c6e45d89822c8ebe868ce778eb9a3" '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)))

Methods

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

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

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 #

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 #

Read a => Read (V2 a) # 
Instance details

Defined in Linear.V2

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 #

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 #

Eq a => Eq (V2 a) # 
Instance details

Defined in Linear.V2

Methods

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

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

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 #

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

Epsilon a => Epsilon (V2 a) # 
Instance details

Defined in Linear.V2

Methods

nearZero :: V2 a -> Bool #

Random a => Random (V2 a) # 
Instance details

Defined in Linear.V2

Methods

randomR :: RandomGen g => (V2 a, V2 a) -> g -> (V2 a, g) #

random :: RandomGen g => g -> (V2 a, g) #

randomRs :: RandomGen g => (V2 a, V2 a) -> g -> [V2 a] #

randoms :: RandomGen g => g -> [V2 a] #

Uniform a => Uniform (V2 a) # 
Instance details

Defined in Linear.V2

Methods

uniformM :: StatefulGen g m => g -> m (V2 a) #

UniformRange a => UniformRange (V2 a) # 
Instance details

Defined in Linear.V2

Methods

uniformRM :: StatefulGen g m => (V2 a, V2 a) -> g -> m (V2 a) #

isInRange :: (V2 a, V2 a) -> V2 a -> Bool #

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

Defined in Linear.V2

FoldableWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

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

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

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 #

TraversableWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

itraverse :: Applicative f => (E V2 -> a -> f b) -> V2 a -> f (V2 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 Rep V2 # 
Instance details

Defined in Linear.V2

type Rep V2 = E V2
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 Rep1 V2 # 
Instance details

Defined in Linear.V2

type Rep1 V2 = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-5f2e44cc50784b84eb2261548e6d9000492c6e45d89822c8ebe868ce778eb9a3" '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 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.23.3-5f2e44cc50784b84eb2261548e6d9000492c6e45d89822c8ebe868ce778eb9a3" '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)))
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
data Vector (V2 a) # 
Instance details

Defined in Linear.V2

data Vector (V2 a) = V_V2 !Int !(Vector a)

data V3 a #

A 3-dimensional vector

Constructors

V3 !a !a !a 

Instances

Instances details
Representable V3 # 
Instance details

Defined in Linear.V3

Associated Types

type Rep V3 
Instance details

Defined in Linear.V3

type Rep V3 = E V3

Methods

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

index :: V3 a -> Rep 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 #

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

toNonEmpty :: V3 a -> NonEmpty a #

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

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

head :: V3 a -> a #

last :: V3 a -> a #

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

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V3 a -> b #

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

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V3 a -> b #

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 #

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

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

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 #

Functor V3 # 
Instance details

Defined in Linear.V3

Methods

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

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

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 #

MonadFix V3 # 
Instance details

Defined in Linear.V3

Methods

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

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

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

Hashable1 V3 # 
Instance details

Defined in Linear.V3

Methods

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

Affine V3 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V3 
Instance details

Defined in Linear.Affine

type Diff V3 = V3

Methods

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

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

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

Metric V3 # 
Instance details

Defined in Linear.V3

Methods

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

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

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

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

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

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

Trace V3 # 
Instance details

Defined in Linear.Trace

Methods

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

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

Finite V3 # 
Instance details

Defined in Linear.V3

Associated Types

type Size V3 
Instance details

Defined in Linear.V3

type Size V3 = 3

Methods

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

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

R1 V3 # 
Instance details

Defined in Linear.V3

Methods

_x :: Lens' (V3 a) a #

R2 V3 # 
Instance details

Defined in Linear.V3

Methods

_y :: Lens' (V3 a) a #

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

R3 V3 # 
Instance details

Defined in Linear.V3

Methods

_z :: Lens' (V3 a) a #

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

Additive V3 # 
Instance details

Defined in Linear.V3

Methods

zero :: Num a => V3 a #

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

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

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

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

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

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 #

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

Generic1 V3 # 
Instance details

Defined in Linear.V3

Associated Types

type Rep1 V3 
Instance details

Defined in Linear.V3

type Rep1 V3 = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-5f2e44cc50784b84eb2261548e6d9000492c6e45d89822c8ebe868ce778eb9a3" '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)))

Methods

from1 :: V3 a -> Rep1 V3 a #

to1 :: Rep1 V3 a -> V3 a #

HasField "vec" (Dir3 a :: Type) (V3 a :: Type) # 
Instance details

Defined in Mischief.Math.Vec

Methods

getField :: Dir3 a -> V3 a #

Lift a => Lift (V3 a :: Type) # 
Instance details

Defined in Linear.V3

Methods

lift :: Quote m => V3 a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => V3 a -> Code m (V3 a) #

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

Defined in Linear.Algebra

Methods

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

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

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

Defined in Linear.V3

Methods

basicUnsafeFreeze :: Mutable Vector s (V3 a) -> ST s (Vector (V3 a)) #

basicUnsafeThaw :: Vector (V3 a) -> ST s (Mutable Vector s (V3 a)) #

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

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

basicUnsafeIndexM :: Vector (V3 a) -> Int -> Box (V3 a) #

basicUnsafeCopy :: Mutable Vector s (V3 a) -> Vector (V3 a) -> ST s () #

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

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

Defined in Linear.V3

Methods

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

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

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

basicUnsafeNew :: Int -> ST s (MVector s (V3 a)) #

basicInitialize :: MVector s (V3 a) -> ST s () #

basicUnsafeReplicate :: Int -> V3 a -> ST s (MVector s (V3 a)) #

basicUnsafeRead :: MVector s (V3 a) -> Int -> ST s (V3 a) #

basicUnsafeWrite :: MVector s (V3 a) -> Int -> V3 a -> ST s () #

basicClear :: MVector s (V3 a) -> ST s () #

basicSet :: MVector s (V3 a) -> V3 a -> ST s () #

basicUnsafeCopy :: MVector s (V3 a) -> MVector s (V3 a) -> ST s () #

basicUnsafeMove :: MVector s (V3 a) -> MVector s (V3 a) -> ST s () #

basicUnsafeGrow :: MVector s (V3 a) -> Int -> ST s (MVector s (V3 a)) #

Binary a => Binary (V3 a) # 
Instance details

Defined in Linear.V3

Methods

put :: V3 a -> Put #

get :: Get (V3 a) #

putList :: [V3 a] -> Put #

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

NFData a => NFData (V3 a) # 
Instance details

Defined in Linear.V3

Methods

rnf :: V3 a -> () #

Monoid a => Monoid (V3 a) # 
Instance details

Defined in Linear.V3

Methods

mempty :: V3 a #

mappend :: V3 a -> V3 a -> V3 a #

mconcat :: [V3 a] -> V3 a #

Semigroup a => Semigroup (V3 a) # 
Instance details

Defined in Linear.V3

Methods

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

sconcat :: NonEmpty (V3 a) -> V3 a #

stimes :: Integral b => b -> V3 a -> 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) #

Bounded a => Bounded (V3 a) # 
Instance details

Defined in Linear.V3

Methods

minBound :: V3 a #

maxBound :: V3 a #

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 #

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

Generic (V3 a) # 
Instance details

Defined in Linear.V3

Associated Types

type Rep (V3 a) 
Instance details

Defined in Linear.V3

type Rep (V3 a) = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-5f2e44cc50784b84eb2261548e6d9000492c6e45d89822c8ebe868ce778eb9a3" '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))))

Methods

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

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

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 #

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 #

Read a => Read (V3 a) # 
Instance details

Defined in Linear.V3

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 #

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 #

Eq a => Eq (V3 a) # 
Instance details

Defined in Linear.V3

Methods

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

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

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 #

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

Epsilon a => Epsilon (V3 a) # 
Instance details

Defined in Linear.V3

Methods

nearZero :: V3 a -> Bool #

Random a => Random (V3 a) # 
Instance details

Defined in Linear.V3

Methods

randomR :: RandomGen g => (V3 a, V3 a) -> g -> (V3 a, g) #

random :: RandomGen g => g -> (V3 a, g) #

randomRs :: RandomGen g => (V3 a, V3 a) -> g -> [V3 a] #

randoms :: RandomGen g => g -> [V3 a] #

Uniform a => Uniform (V3 a) # 
Instance details

Defined in Linear.V3

Methods

uniformM :: StatefulGen g m => g -> m (V3 a) #

UniformRange a => UniformRange (V3 a) # 
Instance details

Defined in Linear.V3

Methods

uniformRM :: StatefulGen g m => (V3 a, V3 a) -> g -> m (V3 a) #

isInRange :: (V3 a, V3 a) -> V3 a -> Bool #

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

Defined in Linear.V3

FoldableWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

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

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

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 #

TraversableWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

itraverse :: Applicative f => (E V3 -> a -> f b) -> V3 a -> f (V3 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 Rep V3 # 
Instance details

Defined in Linear.V3

type Rep V3 = E V3
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 Rep1 V3 # 
Instance details

Defined in Linear.V3

type Rep1 V3 = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-5f2e44cc50784b84eb2261548e6d9000492c6e45d89822c8ebe868ce778eb9a3" '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 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.23.3-5f2e44cc50784b84eb2261548e6d9000492c6e45d89822c8ebe868ce778eb9a3" '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))))
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
data Vector (V3 a) # 
Instance details

Defined in Linear.V3

data Vector (V3 a) = V_V3 !Int !(Vector a)

data V4 a #

A 4-dimensional vector.

Constructors

V4 !a !a !a !a 

Instances

Instances details
Representable V4 # 
Instance details

Defined in Linear.V4

Associated Types

type Rep V4 
Instance details

Defined in Linear.V4

type Rep V4 = E V4

Methods

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

index :: V4 a -> Rep 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 #

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

toNonEmpty :: V4 a -> NonEmpty a #

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

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

head :: V4 a -> a #

last :: V4 a -> a #

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

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V4 a -> b #

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

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V4 a -> b #

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 #

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

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

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 #

Functor V4 # 
Instance details

Defined in Linear.V4

Methods

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

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

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 #

MonadFix V4 # 
Instance details

Defined in Linear.V4

Methods

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

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

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

Hashable1 V4 # 
Instance details

Defined in Linear.V4

Methods

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

Affine V4 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V4 
Instance details

Defined in Linear.Affine

type Diff V4 = V4

Methods

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

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

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

Metric V4 # 
Instance details

Defined in Linear.V4

Methods

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

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

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

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

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

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

Trace V4 # 
Instance details

Defined in Linear.Trace

Methods

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

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

Finite V4 # 
Instance details

Defined in Linear.V4

Associated Types

type Size V4 
Instance details

Defined in Linear.V4

type Size V4 = 4

Methods

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

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

R1 V4 # 
Instance details

Defined in Linear.V4

Methods

_x :: Lens' (V4 a) a #

R2 V4 # 
Instance details

Defined in Linear.V4

Methods

_y :: Lens' (V4 a) a #

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

R3 V4 # 
Instance details

Defined in Linear.V4

Methods

_z :: Lens' (V4 a) a #

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

R4 V4 # 
Instance details

Defined in Linear.V4

Methods

_w :: Lens' (V4 a) a #

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

Additive V4 # 
Instance details

Defined in Linear.V4

Methods

zero :: Num a => V4 a #

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

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

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

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

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

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 #

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

Generic1 V4 # 
Instance details

Defined in Linear.V4

Associated Types

type Rep1 V4 
Instance details

Defined in Linear.V4

Methods

from1 :: V4 a -> Rep1 V4 a #

to1 :: Rep1 V4 a -> V4 a #

Lift a => Lift (V4 a :: Type) # 
Instance details

Defined in Linear.V4

Methods

lift :: Quote m => V4 a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => V4 a -> Code m (V4 a) #

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

Defined in Linear.Algebra

Methods

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

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

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

Defined in Linear.V4

Methods

basicUnsafeFreeze :: Mutable Vector s (V4 a) -> ST s (Vector (V4 a)) #

basicUnsafeThaw :: Vector (V4 a) -> ST s (Mutable Vector s (V4 a)) #

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

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

basicUnsafeIndexM :: Vector (V4 a) -> Int -> Box (V4 a) #

basicUnsafeCopy :: Mutable Vector s (V4 a) -> Vector (V4 a) -> ST s () #

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

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

Defined in Linear.V4

Methods

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

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

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

basicUnsafeNew :: Int -> ST s (MVector s (V4 a)) #

basicInitialize :: MVector s (V4 a) -> ST s () #

basicUnsafeReplicate :: Int -> V4 a -> ST s (MVector s (V4 a)) #

basicUnsafeRead :: MVector s (V4 a) -> Int -> ST s (V4 a) #

basicUnsafeWrite :: MVector s (V4 a) -> Int -> V4 a -> ST s () #

basicClear :: MVector s (V4 a) -> ST s () #

basicSet :: MVector s (V4 a) -> V4 a -> ST s () #

basicUnsafeCopy :: MVector s (V4 a) -> MVector s (V4 a) -> ST s () #

basicUnsafeMove :: MVector s (V4 a) -> MVector s (V4 a) -> ST s () #

basicUnsafeGrow :: MVector s (V4 a) -> Int -> ST s (MVector s (V4 a)) #

Binary a => Binary (V4 a) # 
Instance details

Defined in Linear.V4

Methods

put :: V4 a -> Put #

get :: Get (V4 a) #

putList :: [V4 a] -> Put #

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

NFData a => NFData (V4 a) # 
Instance details

Defined in Linear.V4

Methods

rnf :: V4 a -> () #

Monoid a => Monoid (V4 a) # 
Instance details

Defined in Linear.V4

Methods

mempty :: V4 a #

mappend :: V4 a -> V4 a -> V4 a #

mconcat :: [V4 a] -> V4 a #

Semigroup a => Semigroup (V4 a) # 
Instance details

Defined in Linear.V4

Methods

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

sconcat :: NonEmpty (V4 a) -> V4 a #

stimes :: Integral b => b -> V4 a -> 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) #

Bounded a => Bounded (V4 a) # 
Instance details

Defined in Linear.V4

Methods

minBound :: V4 a #

maxBound :: V4 a #

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 #

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

Generic (V4 a) # 
Instance details

Defined in Linear.V4

Associated Types

type Rep (V4 a) 
Instance details

Defined in Linear.V4

type Rep (V4 a) = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.3-5f2e44cc50784b84eb2261548e6d9000492c6e45d89822c8ebe868ce778eb9a3" '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))))

Methods

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

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

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 #

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 #

Read a => Read (V4 a) # 
Instance details

Defined in Linear.V4

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 #

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 #

Eq a => Eq (V4 a) # 
Instance details

Defined in Linear.V4

Methods

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

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

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 #

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

Epsilon a => Epsilon (V4 a) # 
Instance details

Defined in Linear.V4

Methods

nearZero :: V4 a -> Bool #

Random a => Random (V4 a) # 
Instance details

Defined in Linear.V4

Methods

randomR :: RandomGen g => (V4 a, V4 a) -> g -> (V4 a, g) #

random :: RandomGen g => g -> (V4 a, g) #

randomRs :: RandomGen g => (V4 a, V4 a) -> g -> [V4 a] #

randoms :: RandomGen g => g -> [V4 a] #

Uniform a => Uniform (V4 a) # 
Instance details

Defined in Linear.V4

Methods

uniformM :: StatefulGen g m => g -> m (V4 a) #

UniformRange a => UniformRange (V4 a) # 
Instance details

Defined in Linear.V4

Methods

uniformRM :: StatefulGen g m => (V4 a, V4 a) -> g -> m (V4 a) #

isInRange :: (V4 a, V4 a) -> V4 a -> Bool #

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

Defined in Linear.V4

FoldableWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

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

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

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 #

TraversableWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

itraverse :: Applicative f => (E V4 -> a -> f b) -> V4 a -> f (V4 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 Rep V4 # 
Instance details

Defined in Linear.V4

type Rep V4 = E V4
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 Rep1 V4 # 
Instance details

Defined in Linear.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.23.3-5f2e44cc50784b84eb2261548e6d9000492c6e45d89822c8ebe868ce778eb9a3" '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))))
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
data Vector (V4 a) # 
Instance details

Defined in Linear.V4

data Vector (V4 a) = V_V4 !Int !(Vector a)