Copyright | (c) Sven Panne 2014-2018 |
---|---|
License | BSD3 |
Maintainer | Sven Panne <svenpanne@gmail.com> |
Stability | stable |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.Tensor
Description
This package contains tensor data types and their instances for some basic type classes.
Documentation
A vertex with y=0, z=0 and w=1.
Constructors
Vertex1 a |
Instances
Functor Vertex1 # | |
Applicative Vertex1 # | |
Foldable Vertex1 # | |
Defined in Data.Tensor Methods fold :: Monoid m => Vertex1 m -> m # foldMap :: Monoid m => (a -> m) -> Vertex1 a -> m # foldMap' :: Monoid m => (a -> m) -> Vertex1 a -> m # foldr :: (a -> b -> b) -> b -> Vertex1 a -> b # foldr' :: (a -> b -> b) -> b -> Vertex1 a -> b # foldl :: (b -> a -> b) -> b -> Vertex1 a -> b # foldl' :: (b -> a -> b) -> b -> Vertex1 a -> b # foldr1 :: (a -> a -> a) -> Vertex1 a -> a # foldl1 :: (a -> a -> a) -> Vertex1 a -> a # elem :: Eq a => a -> Vertex1 a -> Bool # maximum :: Ord a => Vertex1 a -> a # minimum :: Ord a => Vertex1 a -> a # | |
Traversable Vertex1 # | |
Bounded a => Bounded (Vertex1 a) # | |
Eq a => Eq (Vertex1 a) # | |
Ord a => Ord (Vertex1 a) # | |
Read a => Read (Vertex1 a) # | |
Show a => Show (Vertex1 a) # | |
Ix a => Ix (Vertex1 a) # | |
Defined in Data.Tensor Methods range :: (Vertex1 a, Vertex1 a) -> [Vertex1 a] # index :: (Vertex1 a, Vertex1 a) -> Vertex1 a -> Int # unsafeIndex :: (Vertex1 a, Vertex1 a) -> Vertex1 a -> Int # inRange :: (Vertex1 a, Vertex1 a) -> Vertex1 a -> Bool # rangeSize :: (Vertex1 a, Vertex1 a) -> Int # unsafeRangeSize :: (Vertex1 a, Vertex1 a) -> Int # | |
Storable a => Storable (Vertex1 a) # | |
Defined in Data.Tensor |
A vertex with z=0 and w=1.
Constructors
Vertex2 !a !a |
Instances
Functor Vertex2 # | |
Applicative Vertex2 # | |
Foldable Vertex2 # | |
Defined in Data.Tensor Methods fold :: Monoid m => Vertex2 m -> m # foldMap :: Monoid m => (a -> m) -> Vertex2 a -> m # foldMap' :: Monoid m => (a -> m) -> Vertex2 a -> m # foldr :: (a -> b -> b) -> b -> Vertex2 a -> b # foldr' :: (a -> b -> b) -> b -> Vertex2 a -> b # foldl :: (b -> a -> b) -> b -> Vertex2 a -> b # foldl' :: (b -> a -> b) -> b -> Vertex2 a -> b # foldr1 :: (a -> a -> a) -> Vertex2 a -> a # foldl1 :: (a -> a -> a) -> Vertex2 a -> a # elem :: Eq a => a -> Vertex2 a -> Bool # maximum :: Ord a => Vertex2 a -> a # minimum :: Ord a => Vertex2 a -> a # | |
Traversable Vertex2 # | |
Bounded a => Bounded (Vertex2 a) # | |
Eq a => Eq (Vertex2 a) # | |
Ord a => Ord (Vertex2 a) # | |
Read a => Read (Vertex2 a) # | |
Show a => Show (Vertex2 a) # | |
Ix a => Ix (Vertex2 a) # | |
Defined in Data.Tensor Methods range :: (Vertex2 a, Vertex2 a) -> [Vertex2 a] # index :: (Vertex2 a, Vertex2 a) -> Vertex2 a -> Int # unsafeIndex :: (Vertex2 a, Vertex2 a) -> Vertex2 a -> Int # inRange :: (Vertex2 a, Vertex2 a) -> Vertex2 a -> Bool # rangeSize :: (Vertex2 a, Vertex2 a) -> Int # unsafeRangeSize :: (Vertex2 a, Vertex2 a) -> Int # | |
Storable a => Storable (Vertex2 a) # | |
Defined in Data.Tensor |
A vertex with w=1.
Constructors
Vertex3 !a !a !a |
Instances
Functor Vertex3 # | |
Applicative Vertex3 # | |
Foldable Vertex3 # | |
Defined in Data.Tensor Methods fold :: Monoid m => Vertex3 m -> m # foldMap :: Monoid m => (a -> m) -> Vertex3 a -> m # foldMap' :: Monoid m => (a -> m) -> Vertex3 a -> m # foldr :: (a -> b -> b) -> b -> Vertex3 a -> b # foldr' :: (a -> b -> b) -> b -> Vertex3 a -> b # foldl :: (b -> a -> b) -> b -> Vertex3 a -> b # foldl' :: (b -> a -> b) -> b -> Vertex3 a -> b # foldr1 :: (a -> a -> a) -> Vertex3 a -> a # foldl1 :: (a -> a -> a) -> Vertex3 a -> a # elem :: Eq a => a -> Vertex3 a -> Bool # maximum :: Ord a => Vertex3 a -> a # minimum :: Ord a => Vertex3 a -> a # | |
Traversable Vertex3 # | |
Bounded a => Bounded (Vertex3 a) # | |
Eq a => Eq (Vertex3 a) # | |
Ord a => Ord (Vertex3 a) # | |
Read a => Read (Vertex3 a) # | |
Show a => Show (Vertex3 a) # | |
Ix a => Ix (Vertex3 a) # | |
Defined in Data.Tensor Methods range :: (Vertex3 a, Vertex3 a) -> [Vertex3 a] # index :: (Vertex3 a, Vertex3 a) -> Vertex3 a -> Int # unsafeIndex :: (Vertex3 a, Vertex3 a) -> Vertex3 a -> Int # inRange :: (Vertex3 a, Vertex3 a) -> Vertex3 a -> Bool # rangeSize :: (Vertex3 a, Vertex3 a) -> Int # unsafeRangeSize :: (Vertex3 a, Vertex3 a) -> Int # | |
Storable a => Storable (Vertex3 a) # | |
Defined in Data.Tensor |
A fully-fledged four-dimensional vertex.
Constructors
Vertex4 !a !a !a !a |
Instances
Functor Vertex4 # | |
Applicative Vertex4 # | |
Foldable Vertex4 # | |
Defined in Data.Tensor Methods fold :: Monoid m => Vertex4 m -> m # foldMap :: Monoid m => (a -> m) -> Vertex4 a -> m # foldMap' :: Monoid m => (a -> m) -> Vertex4 a -> m # foldr :: (a -> b -> b) -> b -> Vertex4 a -> b # foldr' :: (a -> b -> b) -> b -> Vertex4 a -> b # foldl :: (b -> a -> b) -> b -> Vertex4 a -> b # foldl' :: (b -> a -> b) -> b -> Vertex4 a -> b # foldr1 :: (a -> a -> a) -> Vertex4 a -> a # foldl1 :: (a -> a -> a) -> Vertex4 a -> a # elem :: Eq a => a -> Vertex4 a -> Bool # maximum :: Ord a => Vertex4 a -> a # minimum :: Ord a => Vertex4 a -> a # | |
Traversable Vertex4 # | |
Bounded a => Bounded (Vertex4 a) # | |
Eq a => Eq (Vertex4 a) # | |
Ord a => Ord (Vertex4 a) # | |
Read a => Read (Vertex4 a) # | |
Show a => Show (Vertex4 a) # | |
Ix a => Ix (Vertex4 a) # | |
Defined in Data.Tensor Methods range :: (Vertex4 a, Vertex4 a) -> [Vertex4 a] # index :: (Vertex4 a, Vertex4 a) -> Vertex4 a -> Int # unsafeIndex :: (Vertex4 a, Vertex4 a) -> Vertex4 a -> Int # inRange :: (Vertex4 a, Vertex4 a) -> Vertex4 a -> Bool # rangeSize :: (Vertex4 a, Vertex4 a) -> Int # unsafeRangeSize :: (Vertex4 a, Vertex4 a) -> Int # | |
Storable a => Storable (Vertex4 a) # | |
Defined in Data.Tensor |
A one-dimensional vector.
Constructors
Vector1 a |
Instances
Functor Vector1 # | |
Applicative Vector1 # | |
Foldable Vector1 # | |
Defined in Data.Tensor Methods fold :: Monoid m => Vector1 m -> m # foldMap :: Monoid m => (a -> m) -> Vector1 a -> m # foldMap' :: Monoid m => (a -> m) -> Vector1 a -> m # foldr :: (a -> b -> b) -> b -> Vector1 a -> b # foldr' :: (a -> b -> b) -> b -> Vector1 a -> b # foldl :: (b -> a -> b) -> b -> Vector1 a -> b # foldl' :: (b -> a -> b) -> b -> Vector1 a -> b # foldr1 :: (a -> a -> a) -> Vector1 a -> a # foldl1 :: (a -> a -> a) -> Vector1 a -> a # elem :: Eq a => a -> Vector1 a -> Bool # maximum :: Ord a => Vector1 a -> a # minimum :: Ord a => Vector1 a -> a # | |
Traversable Vector1 # | |
Bounded a => Bounded (Vector1 a) # | |
Eq a => Eq (Vector1 a) # | |
Ord a => Ord (Vector1 a) # | |
Read a => Read (Vector1 a) # | |
Show a => Show (Vector1 a) # | |
Ix a => Ix (Vector1 a) # | |
Defined in Data.Tensor Methods range :: (Vector1 a, Vector1 a) -> [Vector1 a] # index :: (Vector1 a, Vector1 a) -> Vector1 a -> Int # unsafeIndex :: (Vector1 a, Vector1 a) -> Vector1 a -> Int # inRange :: (Vector1 a, Vector1 a) -> Vector1 a -> Bool # rangeSize :: (Vector1 a, Vector1 a) -> Int # unsafeRangeSize :: (Vector1 a, Vector1 a) -> Int # | |
Storable a => Storable (Vector1 a) # | |
Defined in Data.Tensor |
A two-dimensional vector.
Constructors
Vector2 !a !a |
Instances
Functor Vector2 # | |
Applicative Vector2 # | |
Foldable Vector2 # | |
Defined in Data.Tensor Methods fold :: Monoid m => Vector2 m -> m # foldMap :: Monoid m => (a -> m) -> Vector2 a -> m # foldMap' :: Monoid m => (a -> m) -> Vector2 a -> m # foldr :: (a -> b -> b) -> b -> Vector2 a -> b # foldr' :: (a -> b -> b) -> b -> Vector2 a -> b # foldl :: (b -> a -> b) -> b -> Vector2 a -> b # foldl' :: (b -> a -> b) -> b -> Vector2 a -> b # foldr1 :: (a -> a -> a) -> Vector2 a -> a # foldl1 :: (a -> a -> a) -> Vector2 a -> a # elem :: Eq a => a -> Vector2 a -> Bool # maximum :: Ord a => Vector2 a -> a # minimum :: Ord a => Vector2 a -> a # | |
Traversable Vector2 # | |
Bounded a => Bounded (Vector2 a) # | |
Eq a => Eq (Vector2 a) # | |
Ord a => Ord (Vector2 a) # | |
Read a => Read (Vector2 a) # | |
Show a => Show (Vector2 a) # | |
Ix a => Ix (Vector2 a) # | |
Defined in Data.Tensor Methods range :: (Vector2 a, Vector2 a) -> [Vector2 a] # index :: (Vector2 a, Vector2 a) -> Vector2 a -> Int # unsafeIndex :: (Vector2 a, Vector2 a) -> Vector2 a -> Int # inRange :: (Vector2 a, Vector2 a) -> Vector2 a -> Bool # rangeSize :: (Vector2 a, Vector2 a) -> Int # unsafeRangeSize :: (Vector2 a, Vector2 a) -> Int # | |
Storable a => Storable (Vector2 a) # | |
Defined in Data.Tensor |
A three-dimensional vector.
Constructors
Vector3 !a !a !a |
Instances
Functor Vector3 # | |
Applicative Vector3 # | |
Foldable Vector3 # | |
Defined in Data.Tensor Methods fold :: Monoid m => Vector3 m -> m # foldMap :: Monoid m => (a -> m) -> Vector3 a -> m # foldMap' :: Monoid m => (a -> m) -> Vector3 a -> m # foldr :: (a -> b -> b) -> b -> Vector3 a -> b # foldr' :: (a -> b -> b) -> b -> Vector3 a -> b # foldl :: (b -> a -> b) -> b -> Vector3 a -> b # foldl' :: (b -> a -> b) -> b -> Vector3 a -> b # foldr1 :: (a -> a -> a) -> Vector3 a -> a # foldl1 :: (a -> a -> a) -> Vector3 a -> a # elem :: Eq a => a -> Vector3 a -> Bool # maximum :: Ord a => Vector3 a -> a # minimum :: Ord a => Vector3 a -> a # | |
Traversable Vector3 # | |
Bounded a => Bounded (Vector3 a) # | |
Eq a => Eq (Vector3 a) # | |
Ord a => Ord (Vector3 a) # | |
Read a => Read (Vector3 a) # | |
Show a => Show (Vector3 a) # | |
Ix a => Ix (Vector3 a) # | |
Defined in Data.Tensor Methods range :: (Vector3 a, Vector3 a) -> [Vector3 a] # index :: (Vector3 a, Vector3 a) -> Vector3 a -> Int # unsafeIndex :: (Vector3 a, Vector3 a) -> Vector3 a -> Int # inRange :: (Vector3 a, Vector3 a) -> Vector3 a -> Bool # rangeSize :: (Vector3 a, Vector3 a) -> Int # unsafeRangeSize :: (Vector3 a, Vector3 a) -> Int # | |
Storable a => Storable (Vector3 a) # | |
Defined in Data.Tensor |
A four-dimensional vector.
Constructors
Vector4 !a !a !a !a |
Instances
Functor Vector4 # | |
Applicative Vector4 # | |
Foldable Vector4 # | |
Defined in Data.Tensor Methods fold :: Monoid m => Vector4 m -> m # foldMap :: Monoid m => (a -> m) -> Vector4 a -> m # foldMap' :: Monoid m => (a -> m) -> Vector4 a -> m # foldr :: (a -> b -> b) -> b -> Vector4 a -> b # foldr' :: (a -> b -> b) -> b -> Vector4 a -> b # foldl :: (b -> a -> b) -> b -> Vector4 a -> b # foldl' :: (b -> a -> b) -> b -> Vector4 a -> b # foldr1 :: (a -> a -> a) -> Vector4 a -> a # foldl1 :: (a -> a -> a) -> Vector4 a -> a # elem :: Eq a => a -> Vector4 a -> Bool # maximum :: Ord a => Vector4 a -> a # minimum :: Ord a => Vector4 a -> a # | |
Traversable Vector4 # | |
Bounded a => Bounded (Vector4 a) # | |
Eq a => Eq (Vector4 a) # | |
Ord a => Ord (Vector4 a) # | |
Read a => Read (Vector4 a) # | |
Show a => Show (Vector4 a) # | |
Ix a => Ix (Vector4 a) # | |
Defined in Data.Tensor Methods range :: (Vector4 a, Vector4 a) -> [Vector4 a] # index :: (Vector4 a, Vector4 a) -> Vector4 a -> Int # unsafeIndex :: (Vector4 a, Vector4 a) -> Vector4 a -> Int # inRange :: (Vector4 a, Vector4 a) -> Vector4 a -> Bool # rangeSize :: (Vector4 a, Vector4 a) -> Int # unsafeRangeSize :: (Vector4 a, Vector4 a) -> Int # | |
Storable a => Storable (Vector4 a) # | |
Defined in Data.Tensor |