| Safe Haskell | Safe |
|---|---|
| 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) | |
| 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) | |
| Finite f => Finite (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) | |
| Generic1 * (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) | |
| Epsilon (f a) => Epsilon (Point f a) | |
| Unbox (f a) => Unbox (Point f a) | |
| Wrapped (Point f a) | |
| Serialize (f a) => Serialize (Point f a) | |
| Serial (f a) => Serial (Point f a) | |
| Ixed (f a) => Ixed (Point f a) | |
| Hashable (f a) => Hashable (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 Diff (Point f) | |
| type Size (Point f) | |
| type Rep (Point f) | |
type Rep (Point f) = Rep f | |
| type Rep1 * (Point f) | |
| type Rep (Point f a) | |
| data Vector (Point f a) | |
| type Unwrapped (Point f a) | |
type Unwrapped (Point f a) = f a | |
| type IxValue (Point f a) | |
type IxValue (Point f a) = IxValue (f a) | |
| type Index (Point f a) | |
type Index (Point f a) = Index (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 | |
| Eq1 V2 | |
| Ord1 V2 | |
| Read1 V2 | |
| Show1 V2 | |
| MonadZip V2 | |
| Representable V2 | |
| Affine V2 | |
| R2 V2 | |
| R1 V2 | |
| Finite 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 | |
| Traversable1 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) | |
| Epsilon a => Epsilon (V2 a) | |
| Unbox a => Unbox (V2 a) | |
| Serialize a => Serialize (V2 a) | |
| Serial a => Serial (V2 a) | |
| Ixed (V2 a) | |
| Hashable a => Hashable (V2 a) | |
| Generic1 * V2 | |
| 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) | |
| 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 | |
| Each (V2 a) (V2 b) a b | |
| type Diff V2 | |
| type Size 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.7-KXFlkgq5dy48PEyJxREgiQ" 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 IxValue (V2 a) | |
type IxValue (V2 a) = a | |
| type Index (V2 a) | |
| type Rep1 * V2 | |
type Rep1 * V2 = D1 * (MetaData "V2" "Linear.V2" "linear-1.20.7-KXFlkgq5dy48PEyJxREgiQ" False) (C1 * (MetaCons "V2" PrefixI False) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1))) | |
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 | |
| Eq1 V3 | |
| Ord1 V3 | |
| Read1 V3 | |
| Show1 V3 | |
| MonadZip V3 | |
| Representable V3 | |
| Affine V3 | |
| R3 V3 | |
| R2 V3 | |
| R1 V3 | |
| Finite 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 | |
| Traversable1 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) | |
| Epsilon a => Epsilon (V3 a) | |
| Unbox a => Unbox (V3 a) | |
| Serialize a => Serialize (V3 a) | |
| Serial a => Serial (V3 a) | |
| Ixed (V3 a) | |
| Hashable a => Hashable (V3 a) | |
| Generic1 * V3 | |
| 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) | |
| 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 | |
| Each (V3 a) (V3 b) a b | |
| type Diff V3 | |
| type Size 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.7-KXFlkgq5dy48PEyJxREgiQ" 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 IxValue (V3 a) | |
type IxValue (V3 a) = a | |
| type Index (V3 a) | |
| type Rep1 * V3 | |
type Rep1 * V3 = D1 * (MetaData "V3" "Linear.V3" "linear-1.20.7-KXFlkgq5dy48PEyJxREgiQ" 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)))) | |
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 | |
| Eq1 V4 | |
| Ord1 V4 | |
| Read1 V4 | |
| Show1 V4 | |
| MonadZip V4 | |
| Representable V4 | |
| Affine V4 | |
| R4 V4 | |
| R3 V4 | |
| R2 V4 | |
| R1 V4 | |
| Finite 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 | |
| Traversable1 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) | |
| Epsilon a => Epsilon (V4 a) | |
| Unbox a => Unbox (V4 a) | |
| Serialize a => Serialize (V4 a) | |
| Serial a => Serial (V4 a) | |
| Ixed (V4 a) | |
| Hashable a => Hashable (V4 a) | |
| Generic1 * V4 | |
| 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) | |
| 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 | |
| Each (V4 a) (V4 b) a b | |
| type Diff V4 | |
| type Size 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.7-KXFlkgq5dy48PEyJxREgiQ" 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 IxValue (V4 a) | |
type IxValue (V4 a) = a | |
| type Index (V4 a) | |
| type Rep1 * V4 | |
type Rep1 * V4 = D1 * (MetaData "V4" "Linear.V4" "linear-1.20.7-KXFlkgq5dy48PEyJxREgiQ" 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)))) | |