| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
SDL.Vect
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
Point
newtype Point f a :: (* -> *) -> * -> * #
A handy wrapper to help distinguish points from vectors at the type level
Constructors
| P (f a) |
Instances
| Unbox (f a) => Vector Vector (Point f a) | |
Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Point f a) -> m (Vector (Point f a)) # basicUnsafeThaw :: PrimMonad m => Vector (Point f a) -> m (Mutable Vector (PrimState m) (Point f a)) # basicLength :: Vector (Point f a) -> Int # basicUnsafeSlice :: Int -> Int -> Vector (Point f a) -> Vector (Point f a) # basicUnsafeIndexM :: Monad m => Vector (Point f a) -> Int -> m (Point f a) # basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Point f a) -> Vector (Point f a) -> m () # | |
| Unbox (f a) => MVector MVector (Point f a) | |
Methods basicLength :: MVector s (Point f a) -> Int # basicUnsafeSlice :: Int -> Int -> MVector s (Point f a) -> MVector s (Point f a) # basicOverlaps :: MVector s (Point f a) -> MVector s (Point f a) -> Bool # basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Point f a)) # basicInitialize :: PrimMonad m => MVector (PrimState m) (Point f a) -> m () # basicUnsafeReplicate :: PrimMonad m => Int -> Point f a -> m (MVector (PrimState m) (Point f a)) # basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Point f a) -> Int -> m (Point f a) # basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Point f a) -> Int -> Point f a -> m () # basicClear :: PrimMonad m => MVector (PrimState m) (Point f a) -> m () # basicSet :: PrimMonad m => MVector (PrimState m) (Point f a) -> Point f a -> m () # basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Point f a) -> MVector (PrimState m) (Point f a) -> m () # basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Point f a) -> MVector (PrimState m) (Point f a) -> m () # basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Point f a) -> Int -> m (MVector (PrimState m) (Point f a)) # | |
| Monad f => Monad (Point f) | |
| Functor f => Functor (Point f) | |
| Applicative f => Applicative (Point f) | |
| Foldable f => Foldable (Point f) | |
Methods fold :: Monoid m => Point f m -> 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 # elem :: Eq a => a -> Point f a -> Bool # maximum :: Ord a => Point f a -> a # minimum :: Ord a => Point f a -> a # | |
| Traversable f => Traversable (Point f) | |
| Generic1 (Point f) | |
| Eq1 f => Eq1 (Point f) | |
| Ord1 f => Ord1 (Point f) | |
| Read1 f => Read1 (Point f) | |
| Show1 f => Show1 (Point f) | |
| Representable f => Representable (Point f) | |
| Additive f => Affine (Point f) | |
| R4 f => R4 (Point f) | |
| R3 f => R3 (Point f) | |
| R2 f => R2 (Point f) | |
| R1 f => R1 (Point f) | |
| Metric f => Metric (Point f) | |
| Additive f => Additive (Point f) | |
Methods (^+^) :: Num a => Point f a -> Point f a -> Point f a # (^-^) :: Num a => Point f a -> Point f a -> Point f a # lerp :: Num a => a -> Point f a -> Point f a -> Point f a # liftU2 :: (a -> a -> a) -> Point f a -> Point f a -> Point f a # liftI2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c # | |
| Serial1 f => Serial1 (Point f) | |
Methods serializeWith :: MonadPut m => (a -> m ()) -> Point f a -> m () deserializeWith :: MonadGet m => m a -> m (Point f a) | |
| Distributive f => Distributive (Point f) | |
| Bind f => Bind (Point f) | |
| Apply f => Apply (Point f) | |
| Eq (f a) => Eq (Point f a) | |
| Fractional (f a) => Fractional (Point f a) | |
| (Data (f a), Typeable * a, Typeable (* -> *) f) => Data (Point f a) | |
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 :: (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) | |
| Ord (f a) => Ord (Point f a) | |
| Read (f a) => Read (Point f a) | |
| Show (f a) => Show (Point f a) | |
| Ix (f a) => Ix (Point f a) | |
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) | |
| Storable (f a) => Storable (Point f a) | |
| Binary (f a) => Binary (Point f a) | |
| NFData (f a) => NFData (Point f a) | |
| Unbox (f a) => Unbox (Point f a) | |
| Hashable (f a) => Hashable (Point f a) | |
| Ixed (f a) => Ixed (Point f a) | |
| Wrapped (Point f a) | |
| Epsilon (f a) => Epsilon (Point f a) | |
| Serialize (f a) => Serialize (Point f a) | |
| Serial (f a) => Serial (Point f a) | |
| (~) * t (Point g b) => Rewrapped (Point f a) t | |
| Traversable f => Each (Point f a) (Point f b) a b | |
| data MVector s (Point f a) | |
| type Rep1 (Point f) | |
| type Diff (Point f) | |
| type Rep (Point f) | |
type Rep (Point f) = Rep f | |
| type Rep (Point f a) | |
| data Vector (Point f a) | |
| type Index (Point f a) | |
| type IxValue (Point f a) | |
| type Unwrapped (Point f a) | |
Vectors
A 2-dimensional vector
>>>pure 1 :: V2 IntV2 1 1
>>>V2 1 2 + V2 3 4V2 4 6
>>>V2 1 2 * V2 3 4V2 3 8
>>>sum (V2 1 2)3
Constructors
| V2 ~a ~a |
Instances
| Monad V2 | |
| Functor V2 | |
| MonadFix V2 | |
| Applicative V2 | |
| Foldable V2 | |
Methods fold :: Monoid m => V2 m -> 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 # elem :: Eq a => a -> V2 a -> Bool # maximum :: Ord a => V2 a -> a # | |
| Traversable V2 | |
| Generic1 V2 | |
| Eq1 V2 | |
| Ord1 V2 | |
| Read1 V2 | |
| Show1 V2 | |
| MonadZip V2 | |
| Traversable1 V2 | |
| Representable V2 | |
| Affine V2 | |
| R2 V2 | |
| R1 V2 | |
| Metric V2 | |
| Additive V2 | |
| Serial1 V2 | |
Methods serializeWith :: MonadPut m => (a -> m ()) -> V2 a -> m () deserializeWith :: MonadGet m => m a -> m (V2 a) | |
| Distributive V2 | |
| Bind V2 | |
| Apply V2 | |
| Foldable1 V2 | |
| Unbox a => Vector Vector (V2 a) | |
Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V2 a) -> m (Vector (V2 a)) # basicUnsafeThaw :: PrimMonad m => Vector (V2 a) -> m (Mutable Vector (PrimState m) (V2 a)) # basicLength :: Vector (V2 a) -> Int # basicUnsafeSlice :: Int -> Int -> Vector (V2 a) -> Vector (V2 a) # basicUnsafeIndexM :: Monad m => Vector (V2 a) -> Int -> m (V2 a) # basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V2 a) -> Vector (V2 a) -> m () # | |
| Unbox a => MVector MVector (V2 a) | |
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 :: PrimMonad m => Int -> m (MVector (PrimState m) (V2 a)) # basicInitialize :: PrimMonad m => MVector (PrimState m) (V2 a) -> m () # basicUnsafeReplicate :: PrimMonad m => Int -> V2 a -> m (MVector (PrimState m) (V2 a)) # basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V2 a) -> Int -> m (V2 a) # basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V2 a) -> Int -> V2 a -> m () # basicClear :: PrimMonad m => MVector (PrimState m) (V2 a) -> m () # basicSet :: PrimMonad m => MVector (PrimState m) (V2 a) -> V2 a -> m () # basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V2 a) -> MVector (PrimState m) (V2 a) -> m () # basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V2 a) -> MVector (PrimState m) (V2 a) -> m () # basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V2 a) -> Int -> m (MVector (PrimState m) (V2 a)) # | |
| Bounded a => Bounded (V2 a) | |
| Eq a => Eq (V2 a) | |
| Floating a => Floating (V2 a) | |
| Fractional a => Fractional (V2 a) | |
| Data a => Data (V2 a) | |
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) # 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 :: (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) | |
| Ord a => Ord (V2 a) | |
| Read a => Read (V2 a) | |
| Show a => Show (V2 a) | |
| Ix a => Ix (V2 a) | |
| Generic (V2 a) | |
| Storable a => Storable (V2 a) | |
| Binary a => Binary (V2 a) | |
| NFData a => NFData (V2 a) | |
| Unbox a => Unbox (V2 a) | |
| Hashable a => Hashable (V2 a) | |
| Ixed (V2 a) | |
| Epsilon a => Epsilon (V2 a) | |
| Serialize a => Serialize (V2 a) | |
| Serial a => Serial (V2 a) | |
| FunctorWithIndex (E V2) V2 | |
| FoldableWithIndex (E V2) V2 | |
Methods ifoldMap :: Monoid m => (E V2 -> a -> m) -> V2 a -> m # ifolded :: (Indexable (E V2) p, Contravariant f, Applicative f) => p a (f a) -> V2 a -> f (V2 a) # ifoldr :: (E V2 -> a -> b -> b) -> b -> V2 a -> b # ifoldl :: (E V2 -> b -> a -> b) -> b -> V2 a -> b # | |
| TraversableWithIndex (E V2) V2 | |
Methods itraverse :: Applicative f => (E V2 -> a -> f b) -> V2 a -> f (V2 b) # itraversed :: (Indexable (E V2) p, Applicative f) => p a (f b) -> V2 a -> f (V2 b) # | |
| Each (V2 a) (V2 b) a b | |
| type Rep1 V2 | |
type Rep1 V2 = D1 (MetaData "V2" "Linear.V2" "linear-1.20.5-Kb2TA86he4D5Arl8FezSRf" False) (C1 (MetaCons "V2" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1))) | |
| type Diff V2 | |
| type Rep V2 | |
| data MVector s (V2 a) | |
| type Rep (V2 a) | |
type Rep (V2 a) = D1 (MetaData "V2" "Linear.V2" "linear-1.20.5-Kb2TA86he4D5Arl8FezSRf" False) (C1 (MetaCons "V2" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a)))) | |
| data Vector (V2 a) | |
| type Index (V2 a) | |
| type IxValue (V2 a) | |
A 3-dimensional vector
Constructors
| V3 ~a ~a ~a |
Instances
| Monad V3 | |
| Functor V3 | |
| MonadFix V3 | |
| Applicative V3 | |
| Foldable V3 | |
Methods fold :: Monoid m => V3 m -> 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 # elem :: Eq a => a -> V3 a -> Bool # maximum :: Ord a => V3 a -> a # | |
| Traversable V3 | |
| Generic1 V3 | |
| Eq1 V3 | |
| Ord1 V3 | |
| Read1 V3 | |
| Show1 V3 | |
| MonadZip V3 | |
| Traversable1 V3 | |
| Representable V3 | |
| Affine V3 | |
| R3 V3 | |
| R2 V3 | |
| R1 V3 | |
| Metric V3 | |
| Additive V3 | |
| Serial1 V3 | |
Methods serializeWith :: MonadPut m => (a -> m ()) -> V3 a -> m () deserializeWith :: MonadGet m => m a -> m (V3 a) | |
| Distributive V3 | |
| Bind V3 | |
| Apply V3 | |
| Foldable1 V3 | |
| Unbox a => Vector Vector (V3 a) | |
Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V3 a) -> m (Vector (V3 a)) # basicUnsafeThaw :: PrimMonad m => Vector (V3 a) -> m (Mutable Vector (PrimState m) (V3 a)) # basicLength :: Vector (V3 a) -> Int # basicUnsafeSlice :: Int -> Int -> Vector (V3 a) -> Vector (V3 a) # basicUnsafeIndexM :: Monad m => Vector (V3 a) -> Int -> m (V3 a) # basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V3 a) -> Vector (V3 a) -> m () # | |
| Unbox a => MVector MVector (V3 a) | |
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 :: PrimMonad m => Int -> m (MVector (PrimState m) (V3 a)) # basicInitialize :: PrimMonad m => MVector (PrimState m) (V3 a) -> m () # basicUnsafeReplicate :: PrimMonad m => Int -> V3 a -> m (MVector (PrimState m) (V3 a)) # basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V3 a) -> Int -> m (V3 a) # basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V3 a) -> Int -> V3 a -> m () # basicClear :: PrimMonad m => MVector (PrimState m) (V3 a) -> m () # basicSet :: PrimMonad m => MVector (PrimState m) (V3 a) -> V3 a -> m () # basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V3 a) -> MVector (PrimState m) (V3 a) -> m () # basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V3 a) -> MVector (PrimState m) (V3 a) -> m () # basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V3 a) -> Int -> m (MVector (PrimState m) (V3 a)) # | |
| Bounded a => Bounded (V3 a) | |
| Eq a => Eq (V3 a) | |
| Floating a => Floating (V3 a) | |
| Fractional a => Fractional (V3 a) | |
| Data a => Data (V3 a) | |
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) # 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 :: (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) | |
| Ord a => Ord (V3 a) | |
| Read a => Read (V3 a) | |
| Show a => Show (V3 a) | |
| Ix a => Ix (V3 a) | |
| Generic (V3 a) | |
| Storable a => Storable (V3 a) | |
| Binary a => Binary (V3 a) | |
| NFData a => NFData (V3 a) | |
| Unbox a => Unbox (V3 a) | |
| Hashable a => Hashable (V3 a) | |
| Ixed (V3 a) | |
| Epsilon a => Epsilon (V3 a) | |
| Serialize a => Serialize (V3 a) | |
| Serial a => Serial (V3 a) | |
| FunctorWithIndex (E V3) V3 | |
| FoldableWithIndex (E V3) V3 | |
Methods ifoldMap :: Monoid m => (E V3 -> a -> m) -> V3 a -> m # ifolded :: (Indexable (E V3) p, Contravariant f, Applicative f) => p a (f a) -> V3 a -> f (V3 a) # ifoldr :: (E V3 -> a -> b -> b) -> b -> V3 a -> b # ifoldl :: (E V3 -> b -> a -> b) -> b -> V3 a -> b # | |
| TraversableWithIndex (E V3) V3 | |
Methods itraverse :: Applicative f => (E V3 -> a -> f b) -> V3 a -> f (V3 b) # itraversed :: (Indexable (E V3) p, Applicative f) => p a (f b) -> V3 a -> f (V3 b) # | |
| Each (V3 a) (V3 b) a b | |
| type Rep1 V3 | |
type Rep1 V3 = D1 (MetaData "V3" "Linear.V3" "linear-1.20.5-Kb2TA86he4D5Arl8FezSRf" False) (C1 (MetaCons "V3" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1)))) | |
| type Diff V3 | |
| type Rep V3 | |
| data MVector s (V3 a) | |
| type Rep (V3 a) | |
type Rep (V3 a) = D1 (MetaData "V3" "Linear.V3" "linear-1.20.5-Kb2TA86he4D5Arl8FezSRf" False) (C1 (MetaCons "V3" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a))))) | |
| data Vector (V3 a) | |
| type Index (V3 a) | |
| type IxValue (V3 a) | |
A 4-dimensional vector.
Constructors
| V4 ~a ~a ~a ~a |
Instances
| Monad V4 | |
| Functor V4 | |
| MonadFix V4 | |
| Applicative V4 | |
| Foldable V4 | |
Methods fold :: Monoid m => V4 m -> 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 # elem :: Eq a => a -> V4 a -> Bool # maximum :: Ord a => V4 a -> a # | |
| Traversable V4 | |
| Generic1 V4 | |
| Eq1 V4 | |
| Ord1 V4 | |
| Read1 V4 | |
| Show1 V4 | |
| MonadZip V4 | |
| Traversable1 V4 | |
| Representable V4 | |
| Affine V4 | |
| R4 V4 | |
| R3 V4 | |
| R2 V4 | |
| R1 V4 | |
| Metric V4 | |
| Additive V4 | |
| Serial1 V4 | |
Methods serializeWith :: MonadPut m => (a -> m ()) -> V4 a -> m () deserializeWith :: MonadGet m => m a -> m (V4 a) | |
| Distributive V4 | |
| Bind V4 | |
| Apply V4 | |
| Foldable1 V4 | |
| Unbox a => Vector Vector (V4 a) | |
Methods basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (V4 a) -> m (Vector (V4 a)) # basicUnsafeThaw :: PrimMonad m => Vector (V4 a) -> m (Mutable Vector (PrimState m) (V4 a)) # basicLength :: Vector (V4 a) -> Int # basicUnsafeSlice :: Int -> Int -> Vector (V4 a) -> Vector (V4 a) # basicUnsafeIndexM :: Monad m => Vector (V4 a) -> Int -> m (V4 a) # basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (V4 a) -> Vector (V4 a) -> m () # | |
| Unbox a => MVector MVector (V4 a) | |
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 :: PrimMonad m => Int -> m (MVector (PrimState m) (V4 a)) # basicInitialize :: PrimMonad m => MVector (PrimState m) (V4 a) -> m () # basicUnsafeReplicate :: PrimMonad m => Int -> V4 a -> m (MVector (PrimState m) (V4 a)) # basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (V4 a) -> Int -> m (V4 a) # basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (V4 a) -> Int -> V4 a -> m () # basicClear :: PrimMonad m => MVector (PrimState m) (V4 a) -> m () # basicSet :: PrimMonad m => MVector (PrimState m) (V4 a) -> V4 a -> m () # basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (V4 a) -> MVector (PrimState m) (V4 a) -> m () # basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (V4 a) -> MVector (PrimState m) (V4 a) -> m () # basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (V4 a) -> Int -> m (MVector (PrimState m) (V4 a)) # | |
| Bounded a => Bounded (V4 a) | |
| Eq a => Eq (V4 a) | |
| Floating a => Floating (V4 a) | |
| Fractional a => Fractional (V4 a) | |
| Data a => Data (V4 a) | |
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) # 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 :: (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) | |
| Ord a => Ord (V4 a) | |
| Read a => Read (V4 a) | |
| Show a => Show (V4 a) | |
| Ix a => Ix (V4 a) | |
| Generic (V4 a) | |
| Storable a => Storable (V4 a) | |
| Binary a => Binary (V4 a) | |
| NFData a => NFData (V4 a) | |
| Unbox a => Unbox (V4 a) | |
| Hashable a => Hashable (V4 a) | |
| Ixed (V4 a) | |
| Epsilon a => Epsilon (V4 a) | |
| Serialize a => Serialize (V4 a) | |
| Serial a => Serial (V4 a) | |
| FunctorWithIndex (E V4) V4 | |
| FoldableWithIndex (E V4) V4 | |
Methods ifoldMap :: Monoid m => (E V4 -> a -> m) -> V4 a -> m # ifolded :: (Indexable (E V4) p, Contravariant f, Applicative f) => p a (f a) -> V4 a -> f (V4 a) # ifoldr :: (E V4 -> a -> b -> b) -> b -> V4 a -> b # ifoldl :: (E V4 -> b -> a -> b) -> b -> V4 a -> b # | |
| TraversableWithIndex (E V4) V4 | |
Methods itraverse :: Applicative f => (E V4 -> a -> f b) -> V4 a -> f (V4 b) # itraversed :: (Indexable (E V4) p, Applicative f) => p a (f b) -> V4 a -> f (V4 b) # | |
| Each (V4 a) (V4 b) a b | |
| type Rep1 V4 | |
type Rep1 V4 = D1 (MetaData "V4" "Linear.V4" "linear-1.20.5-Kb2TA86he4D5Arl8FezSRf" False) (C1 (MetaCons "V4" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1)) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1)))) | |
| type Diff V4 | |
| type Rep V4 | |
| data MVector s (V4 a) | |
| type Rep (V4 a) | |
type Rep (V4 a) = D1 (MetaData "V4" "Linear.V4" "linear-1.20.5-Kb2TA86he4D5Arl8FezSRf" False) (C1 (MetaCons "V4" PrefixI False) ((:*:) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a))) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a))))) | |
| data Vector (V4 a) | |
| type Index (V4 a) | |
| type IxValue (V4 a) | |