| Safe Haskell | Safe-Inferred |
|---|---|
| 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.
Documentation
module Linear
module Linear.Affine
Point
newtype Point (f :: Type -> Type) a Source #
A handy wrapper to help distinguish points from vectors at the type level
Constructors
| P (f a) |
Instances
| Generic1 (Point f :: Type -> Type) | |||||
Defined in Linear.Affine Associated Types
| |||||
| Unbox (f a) => Vector Vector (Point f a) | |||||
Defined in Linear.Affine Methods basicUnsafeFreeze :: Mutable Vector s (Point f a) -> ST s (Vector (Point f a)) basicUnsafeThaw :: Vector (Point f a) -> ST s (Mutable Vector s (Point f a)) basicLength :: Vector (Point f a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Point f a) -> Vector (Point f a) basicUnsafeIndexM :: Vector (Point f a) -> Int -> Box (Point f a) basicUnsafeCopy :: Mutable Vector s (Point f a) -> Vector (Point f a) -> ST s () | |||||
| Unbox (f a) => MVector MVector (Point f a) | |||||
Defined in Linear.Affine 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 :: Int -> ST s (MVector s (Point f a)) basicInitialize :: MVector s (Point f a) -> ST s () basicUnsafeReplicate :: Int -> Point f a -> ST s (MVector s (Point f a)) basicUnsafeRead :: MVector s (Point f a) -> Int -> ST s (Point f a) basicUnsafeWrite :: MVector s (Point f a) -> Int -> Point f a -> ST s () basicClear :: MVector s (Point f a) -> ST s () basicSet :: MVector s (Point f a) -> Point f a -> ST s () basicUnsafeCopy :: MVector s (Point f a) -> MVector s (Point f a) -> ST s () basicUnsafeMove :: MVector s (Point f a) -> MVector s (Point f a) -> ST s () basicUnsafeGrow :: MVector s (Point f a) -> Int -> ST s (MVector s (Point f a)) | |||||
| Representable f => Representable (Point f) | |||||
Defined in Linear.Affine Associated Types
| |||||
| Eq1 f => Eq1 (Point f) | |||||
Defined in Linear.Affine | |||||
| Ord1 f => Ord1 (Point f) | |||||
Defined in Linear.Affine Methods liftCompare :: (a -> b -> Ordering) -> Point f a -> Point f b -> Ordering | |||||
| Read1 f => Read1 (Point f) | |||||
Defined in Linear.Affine Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Point f a) liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Point f a] liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Point f a) liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Point f a] | |||||
| Show1 f => Show1 (Point f) | |||||
Defined in Linear.Affine Methods liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Point f a -> ShowS liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Point f a] -> ShowS | |||||
| Serial1 f => Serial1 (Point f) | |||||
Defined in Linear.Affine Methods serializeWith :: MonadPut m => (a -> m ()) -> Point f a -> m () deserializeWith :: MonadGet m => m a -> m (Point f a) | |||||
| Distributive f => Distributive (Point f) | |||||
Defined in Linear.Affine | |||||
| Applicative f => Applicative (Point f) | |||||
| Functor f => Functor (Point f) | |||||
| Monad f => Monad (Point f) | |||||
| Foldable f => Foldable (Point f) | |||||
Defined in Linear.Affine Methods fold :: Monoid m => Point f m -> m foldMap :: Monoid m => (a -> m) -> Point f a -> m foldMap' :: Monoid m => (a -> m) -> Point f a -> m foldr :: (a -> b -> b) -> b -> Point f a -> b foldr' :: (a -> b -> b) -> b -> Point f a -> b foldl :: (b -> a -> b) -> b -> Point f a -> b foldl' :: (b -> a -> b) -> b -> Point f a -> b foldr1 :: (a -> a -> a) -> Point f a -> a foldl1 :: (a -> a -> a) -> Point f a -> a 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) | |||||
| Hashable1 f => Hashable1 (Point f) | |||||
Defined in Linear.Affine Methods liftHashWithSalt :: (Int -> a -> Int) -> Int -> Point f a -> Int | |||||
| Additive f => Affine (Point f) | |||||
Defined in Linear.Affine Associated Types
| |||||
| Metric f => Metric (Point f) | |||||
| Finite f => Finite (Point f) | |||||
| R1 f => R1 (Point f) | |||||
Defined in Linear.Affine | |||||
| R2 f => R2 (Point f) | |||||
| R3 f => R3 (Point f) | |||||
| R4 f => R4 (Point f) | |||||
| Additive f => Additive (Point f) | |||||
Defined in Linear.Affine Methods zero :: Num a => Point f a Source # (^+^) :: Num a => Point f a -> Point f a -> Point f a Source # (^-^) :: Num a => Point f a -> Point f a -> Point f a Source # lerp :: Num a => a -> Point f a -> Point f a -> Point f a Source # liftU2 :: (a -> a -> a) -> Point f a -> Point f a -> Point f a Source # liftI2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c Source # | |||||
| Apply f => Apply (Point f) | |||||
| Bind f => Bind (Point f) | |||||
| Binary (f a) => Binary (Point f a) | |||||
| Serial (f a) => Serial (Point f a) | |||||
Defined in Linear.Affine | |||||
| Serialize (f a) => Serialize (Point f a) | |||||
Defined in Linear.Affine | |||||
| NFData (f a) => NFData (Point f a) | |||||
Defined in Linear.Affine | |||||
| Monoid (f a) => Monoid (Point f a) | |||||
| Semigroup (f a) => Semigroup (Point f a) | |||||
| (Typeable f, Typeable a, Data (f a)) => Data (Point f a) | |||||
Defined in Linear.Affine Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Point f a -> c (Point f a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Point f a) toConstr :: Point f a -> Constr dataTypeOf :: Point f a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Point f a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Point f a)) gmapT :: (forall b. Data b => b -> b) -> Point f a -> Point f a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Point f a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Point f a -> r gmapQ :: (forall d. Data d => d -> u) -> Point f a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Point f a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a) | |||||
| Storable (f a) => Storable (Point f a) | |||||
Defined in Linear.Affine Methods peekElemOff :: Ptr (Point f a) -> Int -> IO (Point f a) pokeElemOff :: Ptr (Point f a) -> Int -> Point f a -> IO () peekByteOff :: Ptr b -> Int -> IO (Point f a) pokeByteOff :: Ptr b -> Int -> Point f a -> IO () | |||||
| Generic (Point f a) | |||||
Defined in Linear.Affine Associated Types
| |||||
| Ix (f a) => Ix (Point f a) | |||||
Defined in Linear.Affine Methods range :: (Point f a, Point f a) -> [Point f a] index :: (Point f a, Point f a) -> Point f a -> Int unsafeIndex :: (Point f a, Point f a) -> Point f a -> Int inRange :: (Point f a, Point f a) -> Point f a -> Bool rangeSize :: (Point f a, Point f a) -> Int unsafeRangeSize :: (Point f a, Point f a) -> Int | |||||
| Num (f a) => Num (Point f a) | |||||
| Read (f a) => Read (Point f a) | |||||
Defined in Linear.Affine | |||||
| Fractional (f a) => Fractional (Point f a) | |||||
Defined in Linear.Affine | |||||
| Show (f a) => Show (Point f a) | |||||
| Eq (f a) => Eq (Point f a) | |||||
| Ord (f a) => Ord (Point f a) | |||||
Defined in Linear.Affine | |||||
| Hashable (f a) => Hashable (Point f a) | |||||
Defined in Linear.Affine | |||||
| Ixed (f a) => Ixed (Point f a) | |||||
Defined in Linear.Affine | |||||
| Wrapped (Point f a) | |||||
Defined in Linear.Affine Associated Types
| |||||
| Epsilon (f a) => Epsilon (Point f a) | |||||
Defined in Linear.Affine | |||||
| Random (f a) => Random (Point f a) | |||||
| Unbox (f a) => Unbox (Point f a) | |||||
Defined in Linear.Affine | |||||
| t ~ Point g b => Rewrapped (Point f a) t | |||||
Defined in Linear.Affine | |||||
| Traversable f => Each (Point f a) (Point f b) a b | |||||
Defined in Linear.Affine | |||||
| type Rep1 (Point f :: Type -> Type) | |||||
Defined in Linear.Affine type Rep1 (Point f :: Type -> Type) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.2-5AqyVb8sK1m3MfzHCRCQd3" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f))) | |||||
| newtype MVector s (Point f a) | |||||
Defined in Linear.Affine | |||||
| type Rep (Point f) | |||||
Defined in Linear.Affine type Rep (Point f) = Rep f | |||||
| type Diff (Point f) | |||||
Defined in Linear.Affine | |||||
| type Size (Point f) | |||||
Defined in Linear.Affine | |||||
| type Rep (Point f a) | |||||
Defined in Linear.Affine type Rep (Point f a) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.2-5AqyVb8sK1m3MfzHCRCQd3" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)))) | |||||
| type Index (Point f a) | |||||
Defined in Linear.Affine type Index (Point f a) = Index (f a) | |||||
| type IxValue (Point f a) | |||||
Defined in Linear.Affine type IxValue (Point f a) = IxValue (f a) | |||||
| type Unwrapped (Point f a) | |||||
Defined in Linear.Affine type Unwrapped (Point f a) = f a | |||||
| newtype Vector (Point f a) | |||||
Defined in Linear.Affine | |||||
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
| Representable V2 | |||||
| MonadZip V2 | |||||
| Foldable1 V2 | |||||
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 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 | |||||
| Ord1 V2 | |||||
Defined in Linear.V2 Methods liftCompare :: (a -> b -> Ordering) -> V2 a -> V2 b -> Ordering | |||||
| Read1 V2 | |||||
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 | |||||
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 | |||||
Defined in Linear.V2 Methods serializeWith :: MonadPut m => (a -> m ()) -> V2 a -> m () deserializeWith :: MonadGet m => m a -> m (V2 a) | |||||
| Distributive V2 | |||||
| Applicative V2 | |||||
| Functor V2 | |||||
| Monad V2 | |||||
| MonadFix V2 | |||||
| Foldable V2 | |||||
Defined in Linear.V2 Methods 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 | |||||
| Traversable V2 | |||||
| Hashable1 V2 | |||||
Defined in Linear.V2 Methods liftHashWithSalt :: (Int -> a -> Int) -> Int -> V2 a -> Int | |||||
| Affine V2 | |||||
| Metric V2 | |||||
| Trace V2 | |||||
| Finite V2 | |||||
| R1 V2 | |||||
| R2 V2 | |||||
| Additive V2 | |||||
Defined in Linear.V2 | |||||
| Apply V2 | |||||
| Bind V2 | |||||
| Traversable1 V2 | |||||
| Generic1 V2 | |||||
Defined in Linear.V2 Associated Types
| |||||
| Num r => Coalgebra r (E V2) | |||||
| Lift a => Lift (V2 a :: Type) | |||||
| Unbox a => Vector Vector (V2 a) | |||||
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 () | |||||
| Unbox a => MVector MVector (V2 a) | |||||
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) | |||||
| Serial a => Serial (V2 a) | |||||
Defined in Linear.V2 | |||||
| Serialize a => Serialize (V2 a) | |||||
| NFData a => NFData (V2 a) | |||||
| Monoid a => Monoid (V2 a) | |||||
| Semigroup a => Semigroup (V2 a) | |||||
| Data a => Data (V2 a) | |||||
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) 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) | |||||
| Floating a => Floating (V2 a) | |||||
| Storable a => Storable (V2 a) | |||||
Defined in Linear.V2 Methods 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 () | |||||
| Generic (V2 a) | |||||
Defined in Linear.V2 Associated Types
| |||||
| Ix a => Ix (V2 a) | |||||
| Num a => Num (V2 a) | |||||
| Read a => Read (V2 a) | |||||
| Fractional a => Fractional (V2 a) | |||||
| Show a => Show (V2 a) | |||||
| Eq a => Eq (V2 a) | |||||
| Ord a => Ord (V2 a) | |||||
| Hashable a => Hashable (V2 a) | |||||
Defined in Linear.V2 | |||||
| Ixed (V2 a) | |||||
| Epsilon a => Epsilon (V2 a) | |||||
| Random a => Random (V2 a) | |||||
| Uniform a => Uniform (V2 a) | |||||
| UniformRange a => UniformRange (V2 a) | |||||
| Unbox a => Unbox (V2 a) | |||||
Defined in Linear.V2 | |||||
| FoldableWithIndex (E V2) V2 | |||||
| FunctorWithIndex (E V2) V2 | |||||
| TraversableWithIndex (E V2) V2 | |||||
| Each (V2 a) (V2 b) a b | |||||
| Field1 (V2 a) (V2 a) a a | |||||
| Field2 (V2 a) (V2 a) a a | |||||
| type Rep V2 | |||||
| type Diff V2 | |||||
Defined in Linear.Affine | |||||
| type Size V2 | |||||
| type Rep1 V2 | |||||
Defined in Linear.V2 type Rep1 V2 = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.2-5AqyVb8sK1m3MfzHCRCQd3" '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) | |||||
| type Rep (V2 a) | |||||
Defined in Linear.V2 type Rep (V2 a) = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.2-5AqyVb8sK1m3MfzHCRCQd3" '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) | |||||
| type IxValue (V2 a) | |||||
| data Vector (V2 a) | |||||
A 3-dimensional vector
Constructors
| V3 !a !a !a |
Instances
| Representable V3 | |||||
| MonadZip V3 | |||||
| Foldable1 V3 | |||||
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 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 | |||||
| Ord1 V3 | |||||
Defined in Linear.V3 Methods liftCompare :: (a -> b -> Ordering) -> V3 a -> V3 b -> Ordering | |||||
| Read1 V3 | |||||
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 | |||||
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 | |||||
Defined in Linear.V3 Methods serializeWith :: MonadPut m => (a -> m ()) -> V3 a -> m () deserializeWith :: MonadGet m => m a -> m (V3 a) | |||||
| Distributive V3 | |||||
| Applicative V3 | |||||
| Functor V3 | |||||
| Monad V3 | |||||
| MonadFix V3 | |||||
| Foldable V3 | |||||
Defined in Linear.V3 Methods 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 | |||||
| Traversable V3 | |||||
| Hashable1 V3 | |||||
Defined in Linear.V3 Methods liftHashWithSalt :: (Int -> a -> Int) -> Int -> V3 a -> Int | |||||
| Affine V3 | |||||
| Metric V3 | |||||
| Trace V3 | |||||
| Finite V3 | |||||
| R1 V3 | |||||
| R2 V3 | |||||
| R3 V3 | |||||
| Additive V3 | |||||
Defined in Linear.V3 | |||||
| Apply V3 | |||||
| Bind V3 | |||||
| Traversable1 V3 | |||||
| Generic1 V3 | |||||
Defined in Linear.V3 Associated Types
| |||||
| Num r => Coalgebra r (E V3) | |||||
| Lift a => Lift (V3 a :: Type) | |||||
| Unbox a => Vector Vector (V3 a) | |||||
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 () | |||||
| Unbox a => MVector MVector (V3 a) | |||||
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) | |||||
| Serial a => Serial (V3 a) | |||||
Defined in Linear.V3 | |||||
| Serialize a => Serialize (V3 a) | |||||
| NFData a => NFData (V3 a) | |||||
| Monoid a => Monoid (V3 a) | |||||
| Semigroup a => Semigroup (V3 a) | |||||
| Data a => Data (V3 a) | |||||
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) 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) | |||||
| Floating a => Floating (V3 a) | |||||
| Storable a => Storable (V3 a) | |||||
Defined in Linear.V3 Methods 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 () | |||||
| Generic (V3 a) | |||||
Defined in Linear.V3 Associated Types
| |||||
| Ix a => Ix (V3 a) | |||||
| Num a => Num (V3 a) | |||||
| Read a => Read (V3 a) | |||||
| Fractional a => Fractional (V3 a) | |||||
| Show a => Show (V3 a) | |||||
| Eq a => Eq (V3 a) | |||||
| Ord a => Ord (V3 a) | |||||
| Hashable a => Hashable (V3 a) | |||||
Defined in Linear.V3 | |||||
| Ixed (V3 a) | |||||
| Epsilon a => Epsilon (V3 a) | |||||
| Random a => Random (V3 a) | |||||
| Uniform a => Uniform (V3 a) | |||||
| UniformRange a => UniformRange (V3 a) | |||||
| Unbox a => Unbox (V3 a) | |||||
Defined in Linear.V3 | |||||
| FoldableWithIndex (E V3) V3 | |||||
| FunctorWithIndex (E V3) V3 | |||||
| TraversableWithIndex (E V3) V3 | |||||
| Each (V3 a) (V3 b) a b | |||||
| Field1 (V3 a) (V3 a) a a | |||||
| Field2 (V3 a) (V3 a) a a | |||||
| Field3 (V3 a) (V3 a) a a | |||||
| type Rep V3 | |||||
| type Diff V3 | |||||
Defined in Linear.Affine | |||||
| type Size V3 | |||||
| type Rep1 V3 | |||||
Defined in Linear.V3 type Rep1 V3 = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.2-5AqyVb8sK1m3MfzHCRCQd3" '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) | |||||
| type Rep (V3 a) | |||||
Defined in Linear.V3 type Rep (V3 a) = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.2-5AqyVb8sK1m3MfzHCRCQd3" '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) | |||||
| type IxValue (V3 a) | |||||
| data Vector (V3 a) | |||||
A 4-dimensional vector.
Constructors
| V4 !a !a !a !a |
Instances
| Representable V4 | |||||
| MonadZip V4 | |||||
| Foldable1 V4 | |||||
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 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 | |||||
| Ord1 V4 | |||||
Defined in Linear.V4 Methods liftCompare :: (a -> b -> Ordering) -> V4 a -> V4 b -> Ordering | |||||
| Read1 V4 | |||||
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 | |||||
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 | |||||
Defined in Linear.V4 Methods serializeWith :: MonadPut m => (a -> m ()) -> V4 a -> m () deserializeWith :: MonadGet m => m a -> m (V4 a) | |||||
| Distributive V4 | |||||
| Applicative V4 | |||||
| Functor V4 | |||||
| Monad V4 | |||||
| MonadFix V4 | |||||
| Foldable V4 | |||||
Defined in Linear.V4 Methods 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 | |||||
| Traversable V4 | |||||
| Hashable1 V4 | |||||
Defined in Linear.V4 Methods liftHashWithSalt :: (Int -> a -> Int) -> Int -> V4 a -> Int | |||||
| Affine V4 | |||||
| Metric V4 | |||||
| Trace V4 | |||||
| Finite V4 | |||||
| R1 V4 | |||||
| R2 V4 | |||||
| R3 V4 | |||||
| R4 V4 | |||||
| Additive V4 | |||||
Defined in Linear.V4 | |||||
| Apply V4 | |||||
| Bind V4 | |||||
| Traversable1 V4 | |||||
| Generic1 V4 | |||||
Defined in Linear.V4 Associated Types
| |||||
| Num r => Coalgebra r (E V4) | |||||
| Lift a => Lift (V4 a :: Type) | |||||
| Unbox a => Vector Vector (V4 a) | |||||
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 () | |||||
| Unbox a => MVector MVector (V4 a) | |||||
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) | |||||
| Serial a => Serial (V4 a) | |||||
Defined in Linear.V4 | |||||
| Serialize a => Serialize (V4 a) | |||||
| NFData a => NFData (V4 a) | |||||
| Monoid a => Monoid (V4 a) | |||||
| Semigroup a => Semigroup (V4 a) | |||||
| Data a => Data (V4 a) | |||||
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) 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) | |||||
| Floating a => Floating (V4 a) | |||||
| Storable a => Storable (V4 a) | |||||
Defined in Linear.V4 Methods 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 () | |||||
| Generic (V4 a) | |||||
Defined in Linear.V4 Associated Types
| |||||
| Ix a => Ix (V4 a) | |||||
| Num a => Num (V4 a) | |||||
| Read a => Read (V4 a) | |||||
| Fractional a => Fractional (V4 a) | |||||
| Show a => Show (V4 a) | |||||
| Eq a => Eq (V4 a) | |||||
| Ord a => Ord (V4 a) | |||||
| Hashable a => Hashable (V4 a) | |||||
Defined in Linear.V4 | |||||
| Ixed (V4 a) | |||||
| Epsilon a => Epsilon (V4 a) | |||||
| Random a => Random (V4 a) | |||||
| Uniform a => Uniform (V4 a) | |||||
| UniformRange a => UniformRange (V4 a) | |||||
| Unbox a => Unbox (V4 a) | |||||
Defined in Linear.V4 | |||||
| FoldableWithIndex (E V4) V4 | |||||
| FunctorWithIndex (E V4) V4 | |||||
| TraversableWithIndex (E V4) V4 | |||||
| Each (V4 a) (V4 b) a b | |||||
| Field1 (V4 a) (V4 a) a a | |||||
| Field2 (V4 a) (V4 a) a a | |||||
| Field3 (V4 a) (V4 a) a a | |||||
| Field4 (V4 a) (V4 a) a a | |||||
| type Rep V4 | |||||
| type Diff V4 | |||||
Defined in Linear.Affine | |||||
| type Size V4 | |||||
| type Rep1 V4 | |||||
Defined in Linear.V4 type Rep1 V4 = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.2-5AqyVb8sK1m3MfzHCRCQd3" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))) | |||||
| data MVector s (V4 a) | |||||
| type Rep (V4 a) | |||||
Defined in Linear.V4 type Rep (V4 a) = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.2-5AqyVb8sK1m3MfzHCRCQd3" '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) | |||||
| type IxValue (V4 a) | |||||
| data Vector (V4 a) | |||||