| Copyright | [2016..2020] The Accelerate Team |
|---|---|
| License | BSD3 |
| Maintainer | Trevor L. McDonell <trevor.mcdonell@gmail.com> |
| Stability | experimental |
| Portability | non-portable (GHC extensions) |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Array.Accelerate.Data.Monoid
Contents
Description
Monoid instances for Accelerate
Since: 1.2.0.0
Synopsis
Documentation
class Semigroup a => Monoid a where #
The class of monoids (types with an associative binary operation that has an identity). Instances should satisfy the following:
- Right identity
x<>mempty= x- Left identity
mempty<>x = x- Associativity
x(<>(y<>z) = (x<>y)<>zSemigrouplaw)- Concatenation
mconcat=foldr(<>)mempty
You can alternatively define mconcat instead of mempty, in which case the
laws are:
- Unit
mconcat(purex) = x- Multiplication
mconcat(joinxss) =mconcat(fmapmconcatxss)- Subclass
mconcat(toListxs) =sconcatxs
The method names refer to the monoid of lists under concatenation, but there are many other instances.
Some types can be viewed as a monoid in more than one way,
e.g. both addition and multiplication on numbers.
In such cases we often define newtypes and make those instances
of Monoid, e.g. Sum and Product.
NOTE: Semigroup is a superclass of Monoid since base-4.11.0.0.
Methods
Identity of mappend
Examples
>>>"Hello world" <> mempty"Hello world"
>>>mempty <> [1, 2, 3][1,2,3]
An associative operation
NOTE: This method is redundant and has the default
implementation since base-4.11.0.0.
Should it be implemented manually, since mappend = (<>)mappend is a synonym for
(<>), it is expected that the two functions are defined the same
way. In a future GHC release mappend will be removed from Monoid.
Fold a list using the monoid.
For most types, the default definition for mconcat will be
used, but the function is included in the class definition so
that an optimized version can be provided for specific types.
>>>mconcat ["Hello", " ", "Haskell", "!"]"Hello Haskell!"
Instances
| Monoid ByteArray | Since: base-4.17.0.0 |
| Monoid All | Since: base-2.1 |
| Monoid Any | Since: base-2.1 |
| Monoid Builder | |
| Monoid ByteString | |
Defined in Data.ByteString.Internal.Type Methods mempty :: ByteString # mappend :: ByteString -> ByteString -> ByteString # mconcat :: [ByteString] -> ByteString # | |
| Monoid ByteString | |
Defined in Data.ByteString.Lazy.Internal Methods mempty :: ByteString # mappend :: ByteString -> ByteString -> ByteString # mconcat :: [ByteString] -> ByteString # | |
| Monoid ShortByteString | |
Defined in Data.ByteString.Short.Internal Methods mappend :: ShortByteString -> ShortByteString -> ShortByteString # mconcat :: [ShortByteString] -> ShortByteString # | |
| Monoid IntSet | |
| Monoid Unit | |
| Monoid OsString | "String-Concatenation" for |
| Monoid PosixString | |
Defined in System.OsString.Internal.Types.Hidden Methods mempty :: PosixString # mappend :: PosixString -> PosixString -> PosixString # mconcat :: [PosixString] -> PosixString # | |
| Monoid WindowsString | |
Defined in System.OsString.Internal.Types.Hidden Methods mempty :: WindowsString # mappend :: WindowsString -> WindowsString -> WindowsString # mconcat :: [WindowsString] -> WindowsString # | |
| Monoid Ordering | Since: base-2.1 |
| Monoid Slot | |
| Monoid Cover | |
| Monoid CoverCount | |
| Monoid Journal | |
| Monoid LabelName | |
| Monoid ColumnWidth | |
| Monoid Summary | |
| Monoid Completer | |
| Monoid ParseError | |
| Monoid OsString | |
| Monoid PosixString | |
| Monoid WindowsString | |
| Monoid Doc | |
| Monoid AnsiStyle | |
| Monoid Statistics | |
| Monoid TestOutput | |
| Monoid OptionSet | |
| Monoid Builder | |
| Monoid StrictBuilder | |
Defined in Data.Text.Internal.StrictBuilder Methods mempty :: StrictBuilder # mappend :: StrictBuilder -> StrictBuilder -> StrictBuilder # mconcat :: [StrictBuilder] -> StrictBuilder # | |
| Monoid () | Since: base-2.1 |
| (Ord a, Bounded a) => Monoid (Exp (Max a)) Source # | |
| (Ord a, Bounded a) => Monoid (Exp (Min a)) Source # | |
| Num a => Monoid (Exp (Product a)) Source # | |
| Num a => Monoid (Exp (Sum a)) Source # | |
| (Monoid (Exp a), Elt a) => Monoid (Exp (Maybe a)) Source # | |
| (Elt a, Elt b, Monoid (Exp a), Monoid (Exp b)) => Monoid (Exp (a, b)) Source # | |
| (Elt a, Elt b, Elt c, Monoid (Exp a), Monoid (Exp b), Monoid (Exp c)) => Monoid (Exp (a, b, c)) Source # | |
| (Elt a, Elt b, Elt c, Elt d, Monoid (Exp a), Monoid (Exp b), Monoid (Exp c), Monoid (Exp d)) => Monoid (Exp (a, b, c, d)) Source # | |
| (Elt a, Elt b, Elt c, Elt d, Elt e, Monoid (Exp a), Monoid (Exp b), Monoid (Exp c), Monoid (Exp d), Monoid (Exp e)) => Monoid (Exp (a, b, c, d, e)) Source # | |
| Monoid (Exp ()) Source # | |
| FiniteBits a => Monoid (And a) | This constraint is arguably too strong. However,
as some types (such as Since: base-4.16 |
| FiniteBits a => Monoid (Iff a) | This constraint is arguably
too strong. However, as some types (such as Since: base-4.16 |
| Bits a => Monoid (Ior a) | Since: base-4.16 |
| Bits a => Monoid (Xor a) | Since: base-4.16 |
| Monoid (Comparison a) |
mempty :: Comparison a mempty = Comparison _ _ -> EQ |
Defined in Data.Functor.Contravariant Methods mempty :: Comparison a # mappend :: Comparison a -> Comparison a -> Comparison a # mconcat :: [Comparison a] -> Comparison a # | |
| Monoid (Equivalence a) |
mempty :: Equivalence a mempty = Equivalence _ _ -> True |
Defined in Data.Functor.Contravariant Methods mempty :: Equivalence a # mappend :: Equivalence a -> Equivalence a -> Equivalence a # mconcat :: [Equivalence a] -> Equivalence a # | |
| Monoid (Predicate a) |
mempty :: Predicate a mempty = _ -> True |
| Monoid a => Monoid (Identity a) | Since: base-4.9.0.0 |
| Monoid (First a) | Since: base-2.1 |
| Monoid (Last a) | Since: base-2.1 |
| Monoid a => Monoid (Down a) | Since: base-4.11.0.0 |
| (Ord a, Bounded a) => Monoid (Max a) | Since: base-4.9.0.0 |
| (Ord a, Bounded a) => Monoid (Min a) | Since: base-4.9.0.0 |
| Monoid m => Monoid (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods mempty :: WrappedMonoid m # mappend :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # mconcat :: [WrappedMonoid m] -> WrappedMonoid m # | |
| Monoid a => Monoid (Dual a) | Since: base-2.1 |
| Monoid (Endo a) | Since: base-2.1 |
| Num a => Monoid (Product a) | Since: base-2.1 |
| Num a => Monoid (Sum a) | Since: base-2.1 |
| Monoid a => Monoid (STM a) | Since: base-4.17.0.0 |
| (Generic a, Monoid (Rep a ())) => Monoid (Generically a) | Since: base-4.17.0.0 |
Defined in GHC.Generics Methods mempty :: Generically a # mappend :: Generically a -> Generically a -> Generically a # mconcat :: [Generically a] -> Generically a # | |
| Monoid p => Monoid (Par1 p) | Since: base-4.12.0.0 |
| Monoid (IntMap a) | |
| Monoid (Seq a) | |
| Monoid (MergeSet a) | |
| Ord a => Monoid (Set a) | |
| Monoid a => Monoid (IO a) | Since: base-4.9.0.0 |
| (Semigroup a, Monoid a) => Monoid (Coverage a) | |
| Monoid (Doc a) | |
| Monoid (Doc ann) | |
| Monoid (Array a) | |
| Monoid (PrimArray a) | |
| Monoid (SmallArray a) | |
| Monoid a => Monoid (Q a) | Since: template-haskell-2.17.0.0 |
| Monoid (Validity k) | |
| Hashable a => Monoid (HashSet a) | |
| Monoid (Vector a) | |
| Prim a => Monoid (Vector a) | |
| Storable a => Monoid (Vector a) | |
| Monoid (Vector a) | |
| Monoid (Doc a) | |
| Semigroup a => Monoid (Maybe a) | Lift a semigroup into Since 4.11.0: constraint on inner Since: base-2.1 |
| Monoid a => Monoid (Solo a) | Since: base-4.15 |
| Monoid [a] | Since: base-2.1 |
| Monoid a => Monoid (Op a b) |
mempty :: Op a b mempty = Op _ -> mempty |
| Monoid (Proxy s) | Since: base-4.7.0.0 |
| Monoid (U1 p) | Since: base-4.12.0.0 |
| Monoid a => Monoid (ST s a) | Since: base-4.11.0.0 |
| Ord k => Monoid (Map k v) | |
| Monoid (Format r (a -> r)) | |
| (Monad m, Monoid a) => Monoid (GenT m a) | |
| Applicative f => Monoid (Traversed a f) | |
| Hashable k => Monoid (HashMap k v) | |
| (Monoid a, Monoid b) => Monoid (a, b) | Since: base-2.1 |
| Monoid b => Monoid (a -> b) | Since: base-2.1 |
| Monoid a => Monoid (Const a b) | Since: base-4.9.0.0 |
| (Applicative f, Monoid a) => Monoid (Ap f a) | Since: base-4.12.0.0 |
| Alternative f => Monoid (Alt f a) | Since: base-4.8.0.0 |
| Monoid (f p) => Monoid (Rec1 f p) | Since: base-4.12.0.0 |
| (Semigroup a, Monoid a) => Monoid (Tagged s a) | |
| Monoid a => Monoid (Constant a b) | |
| (Monoid a, Monoid b, Monoid c) => Monoid (a, b, c) | Since: base-2.1 |
| (Monoid (f a), Monoid (g a)) => Monoid (Product f g a) | Since: base-4.16.0.0 |
| (Monoid (f p), Monoid (g p)) => Monoid ((f :*: g) p) | Since: base-4.12.0.0 |
| Monoid c => Monoid (K1 i c p) | Since: base-4.12.0.0 |
| (Monoid a, Monoid b, Monoid c, Monoid d) => Monoid (a, b, c, d) | Since: base-2.1 |
| Monoid (f (g a)) => Monoid (Compose f g a) | Since: base-4.16.0.0 |
| Monoid (f (g p)) => Monoid ((f :.: g) p) | Since: base-4.12.0.0 |
| Monoid (f p) => Monoid (M1 i c f p) | Since: base-4.12.0.0 |
| (Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monoid (a, b, c, d, e) | Since: base-2.1 |
(<>) :: Semigroup a => a -> a -> a infixr 6 #
An associative operation.
Examples
>>>[1,2,3] <> [4,5,6][1,2,3,4,5,6]
>>>Just [1, 2, 3] <> Just [4, 5, 6]Just [1,2,3,4,5,6]
>>>putStr "Hello, " <> putStrLn "World!"Hello, World!
Monoid under addition.
Sum a <> Sum b = Sum (a + b)
Examples
>>>Sum 1 <> Sum 2 <> memptySum {getSum = 3}
>>>mconcat [ Sum n | n <- [3 .. 9]]Sum {getSum = 42}
Instances
| Functor Sum Source # | |||||
| MonadFix Sum | Since: base-4.8.0.0 | ||||
Defined in Control.Monad.Fix | |||||
| MonadZip Sum | Since: base-4.8.0.0 | ||||
| Foldable Sum | Since: base-4.8.0.0 | ||||
Defined in Data.Foldable Methods fold :: Monoid m => Sum m -> m # foldMap :: Monoid m => (a -> m) -> Sum a -> m # foldMap' :: Monoid m => (a -> m) -> Sum a -> m # foldr :: (a -> b -> b) -> b -> Sum a -> b # foldr' :: (a -> b -> b) -> b -> Sum a -> b # foldl :: (b -> a -> b) -> b -> Sum a -> b # foldl' :: (b -> a -> b) -> b -> Sum a -> b # foldr1 :: (a -> a -> a) -> Sum a -> a # foldl1 :: (a -> a -> a) -> Sum a -> a # elem :: Eq a => a -> Sum a -> Bool # maximum :: Ord a => Sum a -> a # | |||||
| Foldable1 Sum | Since: base-4.18.0.0 | ||||
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Sum m -> m # foldMap1 :: Semigroup m => (a -> m) -> Sum a -> m # foldMap1' :: Semigroup m => (a -> m) -> Sum a -> m # toNonEmpty :: Sum a -> NonEmpty a # maximum :: Ord a => Sum a -> a # minimum :: Ord a => Sum a -> a # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Sum a -> b # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Sum a -> b # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Sum a -> b # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Sum a -> b # | |||||
| Traversable Sum | Since: base-4.8.0.0 | ||||
| Applicative Sum | Since: base-4.8.0.0 | ||||
| Functor Sum | Since: base-4.8.0.0 | ||||
| Monad Sum | Since: base-4.8.0.0 | ||||
| NFData1 Sum | Since: deepseq-1.4.3.0 | ||||
Defined in Control.DeepSeq | |||||
| Generic1 Sum | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
| (Lift Exp a, Elt (Plain a)) => Lift Exp (Sum a) Source # | |||||
| Elt a => Unlift Exp (Sum (Exp a)) Source # | |||||
| Unbox a => Vector Vector (Sum a) | |||||
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: Mutable Vector s (Sum a) -> ST s (Vector (Sum a)) basicUnsafeThaw :: Vector (Sum a) -> ST s (Mutable Vector s (Sum a)) basicLength :: Vector (Sum a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Sum a) -> Vector (Sum a) basicUnsafeIndexM :: Vector (Sum a) -> Int -> Box (Sum a) basicUnsafeCopy :: Mutable Vector s (Sum a) -> Vector (Sum a) -> ST s () | |||||
| Unbox a => MVector MVector (Sum a) | |||||
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Sum a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Sum a) -> MVector s (Sum a) basicOverlaps :: MVector s (Sum a) -> MVector s (Sum a) -> Bool basicUnsafeNew :: Int -> ST s (MVector s (Sum a)) basicInitialize :: MVector s (Sum a) -> ST s () basicUnsafeReplicate :: Int -> Sum a -> ST s (MVector s (Sum a)) basicUnsafeRead :: MVector s (Sum a) -> Int -> ST s (Sum a) basicUnsafeWrite :: MVector s (Sum a) -> Int -> Sum a -> ST s () basicClear :: MVector s (Sum a) -> ST s () basicSet :: MVector s (Sum a) -> Sum a -> ST s () basicUnsafeCopy :: MVector s (Sum a) -> MVector s (Sum a) -> ST s () basicUnsafeMove :: MVector s (Sum a) -> MVector s (Sum a) -> ST s () basicUnsafeGrow :: MVector s (Sum a) -> Int -> ST s (MVector s (Sum a)) | |||||
| Eq a => Eq (Sum a) Source # | |||||
| Ord a => Ord (Sum a) Source # | |||||
Defined in Data.Array.Accelerate.Data.Monoid Methods (<) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool Source # (>) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool Source # (<=) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool Source # (>=) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool Source # min :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) Source # max :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) Source # compare :: Exp (Sum a) -> Exp (Sum a) -> Exp Ordering Source # | |||||
| Elt a => Elt (Sum a) Source # | |||||
| Data a => Data (Sum a) | Since: base-4.8.0.0 | ||||
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sum a -> c (Sum a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Sum a) # dataTypeOf :: Sum a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Sum a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Sum a)) # gmapT :: (forall b. Data b => b -> b) -> Sum a -> Sum a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sum a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sum a -> r # gmapQ :: (forall d. Data d => d -> u) -> Sum a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Sum a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) # | |||||
| Num a => Monoid (Exp (Sum a)) Source # | |||||
| Num a => Monoid (Sum a) | Since: base-2.1 | ||||
| Num a => Semigroup (Exp (Sum a)) Source # | Since: 1.2.0.0 | ||||
| Num a => Semigroup (Sum a) | Since: base-4.9.0.0 | ||||
| Bounded a => Bounded (Exp (Sum a)) Source # | |||||
| Bounded a => Bounded (Sum a) | Since: base-2.1 | ||||
| Generic (Sum a) | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
| Num a => Num (Exp (Sum a)) Source # | |||||
Defined in Data.Array.Accelerate.Data.Monoid Methods (+) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) # (-) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) # (*) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) # negate :: Exp (Sum a) -> Exp (Sum a) # abs :: Exp (Sum a) -> Exp (Sum a) # signum :: Exp (Sum a) -> Exp (Sum a) # fromInteger :: Integer -> Exp (Sum a) # | |||||
| Num a => Num (Sum a) | Since: base-4.7.0.0 | ||||
| Read a => Read (Sum a) | Since: base-2.1 | ||||
| Show a => Show (Sum a) | Since: base-2.1 | ||||
| NFData a => NFData (Sum a) | Since: deepseq-1.4.0.0 | ||||
Defined in Control.DeepSeq | |||||
| Eq a => Eq (Sum a) | Since: base-2.1 | ||||
| Ord a => Ord (Sum a) | Since: base-2.1 | ||||
| Prim a => Prim (Sum a) | |||||
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Sum a) -> Int# alignmentOfType# :: Proxy (Sum a) -> Int# alignment# :: Sum a -> Int# indexByteArray# :: ByteArray# -> Int# -> Sum a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Sum a #) writeByteArray# :: MutableByteArray# s -> Int# -> Sum a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Sum a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Sum a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Sum a #) writeOffAddr# :: Addr# -> Int# -> Sum a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Sum a -> State# s -> State# s | |||||
| Unbox a => Unbox (Sum a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
| type Rep1 Sum | Since: base-4.7.0.0 | ||||
Defined in Data.Semigroup.Internal | |||||
| newtype MVector s (Sum a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
| type Plain (Sum a) Source # | |||||
Defined in Data.Array.Accelerate.Data.Monoid | |||||
| type Rep (Sum a) | Since: base-4.7.0.0 | ||||
Defined in Data.Semigroup.Internal | |||||
| newtype Vector (Sum a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
Monoid under multiplication.
Product x <> Product y == Product (x * y)
Examples
>>>Product 3 <> Product 4 <> memptyProduct {getProduct = 12}
>>>mconcat [ Product n | n <- [2 .. 10]]Product {getProduct = 3628800}
Constructors
| Product | |
Fields
| |
Instances
| Functor Product Source # | |||||
| MonadFix Product | Since: base-4.8.0.0 | ||||
Defined in Control.Monad.Fix | |||||
| MonadZip Product | Since: base-4.8.0.0 | ||||
| Foldable Product | Since: base-4.8.0.0 | ||||
Defined in Data.Foldable Methods fold :: Monoid m => Product m -> m # foldMap :: Monoid m => (a -> m) -> Product a -> m # foldMap' :: Monoid m => (a -> m) -> Product a -> m # foldr :: (a -> b -> b) -> b -> Product a -> b # foldr' :: (a -> b -> b) -> b -> Product a -> b # foldl :: (b -> a -> b) -> b -> Product a -> b # foldl' :: (b -> a -> b) -> b -> Product a -> b # foldr1 :: (a -> a -> a) -> Product a -> a # foldl1 :: (a -> a -> a) -> Product a -> a # elem :: Eq a => a -> Product a -> Bool # maximum :: Ord a => Product a -> a # minimum :: Ord a => Product a -> a # | |||||
| Foldable1 Product | Since: base-4.18.0.0 | ||||
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Product m -> m # foldMap1 :: Semigroup m => (a -> m) -> Product a -> m # foldMap1' :: Semigroup m => (a -> m) -> Product a -> m # toNonEmpty :: Product a -> NonEmpty a # maximum :: Ord a => Product a -> a # minimum :: Ord a => Product a -> a # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Product a -> b # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Product a -> b # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Product a -> b # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Product a -> b # | |||||
| Traversable Product | Since: base-4.8.0.0 | ||||
| Applicative Product | Since: base-4.8.0.0 | ||||
| Functor Product | Since: base-4.8.0.0 | ||||
| Monad Product | Since: base-4.8.0.0 | ||||
| NFData1 Product | Since: deepseq-1.4.3.0 | ||||
Defined in Control.DeepSeq | |||||
| Generic1 Product | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
| (Lift Exp a, Elt (Plain a)) => Lift Exp (Product a) Source # | |||||
| Elt a => Unlift Exp (Product (Exp a)) Source # | |||||
| Unbox a => Vector Vector (Product a) | |||||
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: Mutable Vector s (Product a) -> ST s (Vector (Product a)) basicUnsafeThaw :: Vector (Product a) -> ST s (Mutable Vector s (Product a)) basicLength :: Vector (Product a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Product a) -> Vector (Product a) basicUnsafeIndexM :: Vector (Product a) -> Int -> Box (Product a) basicUnsafeCopy :: Mutable Vector s (Product a) -> Vector (Product a) -> ST s () | |||||
| Unbox a => MVector MVector (Product a) | |||||
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Product a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Product a) -> MVector s (Product a) basicOverlaps :: MVector s (Product a) -> MVector s (Product a) -> Bool basicUnsafeNew :: Int -> ST s (MVector s (Product a)) basicInitialize :: MVector s (Product a) -> ST s () basicUnsafeReplicate :: Int -> Product a -> ST s (MVector s (Product a)) basicUnsafeRead :: MVector s (Product a) -> Int -> ST s (Product a) basicUnsafeWrite :: MVector s (Product a) -> Int -> Product a -> ST s () basicClear :: MVector s (Product a) -> ST s () basicSet :: MVector s (Product a) -> Product a -> ST s () basicUnsafeCopy :: MVector s (Product a) -> MVector s (Product a) -> ST s () basicUnsafeMove :: MVector s (Product a) -> MVector s (Product a) -> ST s () basicUnsafeGrow :: MVector s (Product a) -> Int -> ST s (MVector s (Product a)) | |||||
| Eq a => Eq (Product a) Source # | |||||
| Ord a => Ord (Product a) Source # | |||||
Defined in Data.Array.Accelerate.Data.Monoid Methods (<) :: Exp (Product a) -> Exp (Product a) -> Exp Bool Source # (>) :: Exp (Product a) -> Exp (Product a) -> Exp Bool Source # (<=) :: Exp (Product a) -> Exp (Product a) -> Exp Bool Source # (>=) :: Exp (Product a) -> Exp (Product a) -> Exp Bool Source # min :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) Source # max :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) Source # compare :: Exp (Product a) -> Exp (Product a) -> Exp Ordering Source # | |||||
| Elt a => Elt (Product a) Source # | |||||
| Data a => Data (Product a) | Since: base-4.8.0.0 | ||||
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Product a -> c (Product a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Product a) # toConstr :: Product a -> Constr # dataTypeOf :: Product a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Product a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Product a)) # gmapT :: (forall b. Data b => b -> b) -> Product a -> Product a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Product a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Product a -> r # gmapQ :: (forall d. Data d => d -> u) -> Product a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Product a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) # | |||||
| Num a => Monoid (Exp (Product a)) Source # | |||||
| Num a => Monoid (Product a) | Since: base-2.1 | ||||
| Num a => Semigroup (Exp (Product a)) Source # | Since: 1.2.0.0 | ||||
| Num a => Semigroup (Product a) | Since: base-4.9.0.0 | ||||
| Bounded a => Bounded (Exp (Product a)) Source # | |||||
| Bounded a => Bounded (Product a) | Since: base-2.1 | ||||
| Generic (Product a) | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
| Num a => Num (Exp (Product a)) Source # | |||||
Defined in Data.Array.Accelerate.Data.Monoid Methods (+) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) # (-) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) # (*) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) # negate :: Exp (Product a) -> Exp (Product a) # abs :: Exp (Product a) -> Exp (Product a) # signum :: Exp (Product a) -> Exp (Product a) # fromInteger :: Integer -> Exp (Product a) # | |||||
| Num a => Num (Product a) | Since: base-4.7.0.0 | ||||
Defined in Data.Semigroup.Internal | |||||
| Read a => Read (Product a) | Since: base-2.1 | ||||
| Show a => Show (Product a) | Since: base-2.1 | ||||
| NFData a => NFData (Product a) | Since: deepseq-1.4.0.0 | ||||
Defined in Control.DeepSeq | |||||
| Eq a => Eq (Product a) | Since: base-2.1 | ||||
| Ord a => Ord (Product a) | Since: base-2.1 | ||||
| Prim a => Prim (Product a) | |||||
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Product a) -> Int# alignmentOfType# :: Proxy (Product a) -> Int# alignment# :: Product a -> Int# indexByteArray# :: ByteArray# -> Int# -> Product a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Product a #) writeByteArray# :: MutableByteArray# s -> Int# -> Product a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Product a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Product a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Product a #) writeOffAddr# :: Addr# -> Int# -> Product a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Product a -> State# s -> State# s | |||||
| Unbox a => Unbox (Product a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
| type Rep1 Product | Since: base-4.7.0.0 | ||||
Defined in Data.Semigroup.Internal | |||||
| newtype MVector s (Product a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
| type Plain (Product a) Source # | |||||
Defined in Data.Array.Accelerate.Data.Monoid | |||||
| type Rep (Product a) | Since: base-4.7.0.0 | ||||
Defined in Data.Semigroup.Internal | |||||
| newtype Vector (Product a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||