| Copyright | [2018..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.Semigroup
Contents
Description
Semigroup instances for Accelerate
Since: 1.2.0.0
Documentation
The class of semigroups (types with an associative binary operation).
Instances should satisfy the following:
You can alternatively define sconcat instead of (<>), in which case the
laws are:
Since: base-4.9.0.0
Methods
(<>) :: 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!
Reduce a non-empty list with <>
The default definition should be sufficient, but this can be overridden for efficiency.
Examples
For the following examples, we will assume that we have:
>>>import Data.List.NonEmpty (NonEmpty (..))
>>>sconcat $ "Hello" :| [" ", "Haskell", "!"]"Hello Haskell!"
>>>sconcat $ Just [1, 2, 3] :| [Nothing, Just [4, 5, 6]]Just [1,2,3,4,5,6]
>>>sconcat $ Left 1 :| [Right 2, Left 3, Right 4]Right 2
stimes :: Integral b => b -> a -> a #
Repeat a value n times.
The default definition will raise an exception for a multiplier that is <= 0.
This may be overridden with an implementation that is total. For monoids
it is preferred to use stimesMonoid.
By making this a member of the class, idempotent semigroups
and monoids can upgrade this to execute in \(\mathcal{O}(1)\) by
picking stimes = or stimesIdempotentstimes =
respectively.stimesIdempotentMonoid
Examples
>>>stimes 4 [1][1,1,1,1]
>>>stimes 5 (putStr "hi!")hi!hi!hi!hi!hi!
>>>stimes 3 (Right ":)")Right ":)"
Instances
| Semigroup ByteArray | Since: base-4.17.0.0 |
| Semigroup All | Since: base-4.9.0.0 |
| Semigroup Any | Since: base-4.9.0.0 |
| Semigroup Void | Since: base-4.9.0.0 |
| Semigroup Builder | |
| Semigroup ByteString | |
Defined in Data.ByteString.Internal.Type Methods (<>) :: ByteString -> ByteString -> ByteString # sconcat :: NonEmpty ByteString -> ByteString # stimes :: Integral b => b -> ByteString -> ByteString # | |
| Semigroup ByteString | |
Defined in Data.ByteString.Lazy.Internal Methods (<>) :: ByteString -> ByteString -> ByteString # sconcat :: NonEmpty ByteString -> ByteString # stimes :: Integral b => b -> ByteString -> ByteString # | |
| Semigroup ShortByteString | |
Defined in Data.ByteString.Short.Internal Methods (<>) :: ShortByteString -> ShortByteString -> ShortByteString # sconcat :: NonEmpty ShortByteString -> ShortByteString # stimes :: Integral b => b -> ShortByteString -> ShortByteString # | |
| Semigroup IntSet | Since: containers-0.5.7 |
| Semigroup Unit | |
| Semigroup OsString | |
| Semigroup PosixString | |
Defined in System.OsString.Internal.Types.Hidden Methods (<>) :: PosixString -> PosixString -> PosixString # sconcat :: NonEmpty PosixString -> PosixString # stimes :: Integral b => b -> PosixString -> PosixString # | |
| Semigroup WindowsString | |
Defined in System.OsString.Internal.Types.Hidden Methods (<>) :: WindowsString -> WindowsString -> WindowsString # sconcat :: NonEmpty WindowsString -> WindowsString # stimes :: Integral b => b -> WindowsString -> WindowsString # | |
| Semigroup Ordering | Since: base-4.9.0.0 |
| Semigroup Slot | |
| Semigroup Cover | |
| Semigroup CoverCount | |
| Semigroup GroupName | |
| Semigroup Journal | |
| Semigroup LabelName | |
| Semigroup PropertyName | |
| Semigroup ColumnWidth | |
| Semigroup Style | |
| Semigroup Summary | |
| Semigroup Completer | |
| Semigroup ParseError | |
| Semigroup OsString | |
| Semigroup PosixString | |
| Semigroup WindowsString | |
| Semigroup Doc | |
| Semigroup AnsiStyle | |
| Semigroup Statistics | |
| Semigroup TestOutput | |
| Semigroup OptionSet | |
| Semigroup Builder | |
| Semigroup StrictBuilder | Concatenation of |
Defined in Data.Text.Internal.StrictBuilder Methods (<>) :: StrictBuilder -> StrictBuilder -> StrictBuilder # sconcat :: NonEmpty StrictBuilder -> StrictBuilder # stimes :: Integral b => b -> StrictBuilder -> StrictBuilder # | |
| Semigroup () | Since: base-4.9.0.0 |
| (Elt a, Elt b) => Semigroup (Exp (Either a b)) Source # | |
| Ord a => Semigroup (Exp (Max a)) Source # | |
| Ord a => Semigroup (Exp (Min a)) Source # | |
| Num a => Semigroup (Exp (Product a)) Source # | Since: 1.2.0.0 |
| Num a => Semigroup (Exp (Sum a)) Source # | Since: 1.2.0.0 |
| (Semigroup (Exp a), Elt a) => Semigroup (Exp (Maybe a)) Source # | |
| (Elt a, Elt b, Semigroup (Exp a), Semigroup (Exp b)) => Semigroup (Exp (a, b)) Source # | |
| (Elt a, Elt b, Elt c, Semigroup (Exp a), Semigroup (Exp b), Semigroup (Exp c)) => Semigroup (Exp (a, b, c)) Source # | |
| (Elt a, Elt b, Elt c, Elt d, Semigroup (Exp a), Semigroup (Exp b), Semigroup (Exp c), Semigroup (Exp d)) => Semigroup (Exp (a, b, c, d)) Source # | |
| (Elt a, Elt b, Elt c, Elt d, Elt e, Semigroup (Exp a), Semigroup (Exp b), Semigroup (Exp c), Semigroup (Exp d), Semigroup (Exp e)) => Semigroup (Exp (a, b, c, d, e)) Source # | |
| Semigroup (Exp ()) Source # | |
| Bits a => Semigroup (And a) | Since: base-4.16 |
| FiniteBits a => Semigroup (Iff a) | This constraint is arguably
too strong. However, as some types (such as Since: base-4.16 |
| Bits a => Semigroup (Ior a) | Since: base-4.16 |
| Bits a => Semigroup (Xor a) | Since: base-4.16 |
| Semigroup (FromMaybe b) | |
| Semigroup a => Semigroup (JoinWith a) | |
| Semigroup (NonEmptyDList a) | |
| Semigroup (Comparison a) |
(<>) :: Comparison a -> Comparison a -> Comparison a Comparison cmp <> Comparison cmp' = Comparison a a' -> cmp a a' <> cmp a a' |
Defined in Data.Functor.Contravariant Methods (<>) :: Comparison a -> Comparison a -> Comparison a # sconcat :: NonEmpty (Comparison a) -> Comparison a # stimes :: Integral b => b -> Comparison a -> Comparison a # | |
| Semigroup (Equivalence a) |
(<>) :: Equivalence a -> Equivalence a -> Equivalence a Equivalence equiv <> Equivalence equiv' = Equivalence a b -> equiv a b && equiv' a b |
Defined in Data.Functor.Contravariant Methods (<>) :: Equivalence a -> Equivalence a -> Equivalence a # sconcat :: NonEmpty (Equivalence a) -> Equivalence a # stimes :: Integral b => b -> Equivalence a -> Equivalence a # | |
| Semigroup (Predicate a) |
(<>) :: Predicate a -> Predicate a -> Predicate a Predicate pred <> Predicate pred' = Predicate a -> pred a && pred' a |
| Semigroup a => Semigroup (Identity a) | Since: base-4.9.0.0 |
| Semigroup (First a) | Since: base-4.9.0.0 |
| Semigroup (Last a) | Since: base-4.9.0.0 |
| Semigroup a => Semigroup (Down a) | Since: base-4.11.0.0 |
| Semigroup (First a) | Since: base-4.9.0.0 |
| Semigroup (Last a) | Since: base-4.9.0.0 |
| Ord a => Semigroup (Max a) | Since: base-4.9.0.0 |
| Ord a => Semigroup (Min a) | Since: base-4.9.0.0 |
| Monoid m => Semigroup (WrappedMonoid m) | Since: base-4.9.0.0 |
Defined in Data.Semigroup Methods (<>) :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # sconcat :: NonEmpty (WrappedMonoid m) -> WrappedMonoid m # stimes :: Integral b => b -> WrappedMonoid m -> WrappedMonoid m # | |
| Semigroup a => Semigroup (Dual a) | Since: base-4.9.0.0 |
| Semigroup (Endo a) | Since: base-4.9.0.0 |
| Num a => Semigroup (Product a) | Since: base-4.9.0.0 |
| Num a => Semigroup (Sum a) | Since: base-4.9.0.0 |
| Semigroup (NonEmpty a) | Since: base-4.9.0.0 |
| Semigroup a => Semigroup (STM a) | Since: base-4.17.0.0 |
| (Generic a, Semigroup (Rep a ())) => Semigroup (Generically a) | Since: base-4.17.0.0 |
Defined in GHC.Generics Methods (<>) :: Generically a -> Generically a -> Generically a # sconcat :: NonEmpty (Generically a) -> Generically a # stimes :: Integral b => b -> Generically a -> Generically a # | |
| Semigroup p => Semigroup (Par1 p) | Since: base-4.12.0.0 |
| Semigroup (IntMap a) | Since: containers-0.5.7 |
| Semigroup (Seq a) | Since: containers-0.5.7 |
| Ord a => Semigroup (Intersection a) | |
Defined in Data.Set.Internal Methods (<>) :: Intersection a -> Intersection a -> Intersection a # sconcat :: NonEmpty (Intersection a) -> Intersection a # stimes :: Integral b => b -> Intersection a -> Intersection a # | |
| Semigroup (MergeSet a) | |
| Ord a => Semigroup (Set a) | Since: containers-0.5.7 |
| Semigroup a => Semigroup (IO a) | Since: base-4.10.0.0 |
| Semigroup a => Semigroup (Pos a) | |
| Semigroup a => Semigroup (Coverage a) | |
| Semigroup a => Semigroup (Label a) | |
| Semigroup (Doc a) | |
| Semigroup (Doc ann) | |
| Semigroup (Array a) | |
| Semigroup (PrimArray a) | |
| Semigroup (SmallArray a) | |
| Semigroup a => Semigroup (Q a) | Since: template-haskell-2.17.0.0 |
| Semigroup (Validity k) | |
| Hashable a => Semigroup (HashSet a) | |
| Semigroup (Vector a) | |
| Prim a => Semigroup (Vector a) | |
| Storable a => Semigroup (Vector a) | |
| Semigroup (Vector a) | |
| Semigroup (Doc a) | |
| Semigroup a => Semigroup (Maybe a) | Since: base-4.9.0.0 |
| Semigroup a => Semigroup (Solo a) | Since: base-4.15 |
| Semigroup [a] | Since: base-4.9.0.0 |
| Semigroup (Either a b) | Since: base-4.9.0.0 |
| Semigroup a => Semigroup (Op a b) |
(<>) :: Op a b -> Op a b -> Op a b Op f <> Op g = Op a -> f a <> g a |
| Semigroup (Proxy s) | Since: base-4.9.0.0 |
| Semigroup (U1 p) | Since: base-4.12.0.0 |
| Semigroup (V1 p) | Since: base-4.12.0.0 |
| Semigroup a => Semigroup (ST s a) | Since: base-4.11.0.0 |
| Ord k => Semigroup (Map k v) | |
| Semigroup (Format r (a -> r)) | |
| (Monad m, Semigroup a) => Semigroup (GenT m a) | |
| Applicative f => Semigroup (Traversed a f) | |
| Hashable k => Semigroup (HashMap k v) | |
| (Semigroup a, Semigroup b) => Semigroup (a, b) | Since: base-4.9.0.0 |
| Semigroup b => Semigroup (a -> b) | Since: base-4.9.0.0 |
| Semigroup a => Semigroup (Const a b) | Since: base-4.9.0.0 |
| (Applicative f, Semigroup a) => Semigroup (Ap f a) | Since: base-4.12.0.0 |
| Alternative f => Semigroup (Alt f a) | Since: base-4.9.0.0 |
| Semigroup (f p) => Semigroup (Rec1 f p) | Since: base-4.12.0.0 |
| Semigroup a => Semigroup (Tagged s a) | |
| Semigroup a => Semigroup (Constant a b) | |
| (Semigroup a, Semigroup b, Semigroup c) => Semigroup (a, b, c) | Since: base-4.9.0.0 |
| (Semigroup (f a), Semigroup (g a)) => Semigroup (Product f g a) | Since: base-4.16.0.0 |
| (Semigroup (f p), Semigroup (g p)) => Semigroup ((f :*: g) p) | Since: base-4.12.0.0 |
| Semigroup c => Semigroup (K1 i c p) | Since: base-4.12.0.0 |
| (Semigroup a, Semigroup b, Semigroup c, Semigroup d) => Semigroup (a, b, c, d) | Since: base-4.9.0.0 |
| Semigroup (f (g a)) => Semigroup (Compose f g a) | Since: base-4.16.0.0 |
| Semigroup (f (g p)) => Semigroup ((f :.: g) p) | Since: base-4.12.0.0 |
| Semigroup (f p) => Semigroup (M1 i c f p) | Since: base-4.12.0.0 |
| (Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e) => Semigroup (a, b, c, d, e) | Since: base-4.9.0.0 |
The Min Monoid and Semigroup always choose the smaller element as
by the Ord instance and min of the contained type.
Examples
>>>Min 42 <> Min 3Min 3
>>>sconcat $ Min 1 :| [ Min n | n <- [2 .. 100]]Min {getMin = 1}
Instances
| Functor Min Source # | |||||
| MonadFix Min | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup | |||||
| Foldable Min | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup Methods fold :: Monoid m => Min m -> m # foldMap :: Monoid m => (a -> m) -> Min a -> m # foldMap' :: Monoid m => (a -> m) -> Min a -> m # foldr :: (a -> b -> b) -> b -> Min a -> b # foldr' :: (a -> b -> b) -> b -> Min a -> b # foldl :: (b -> a -> b) -> b -> Min a -> b # foldl' :: (b -> a -> b) -> b -> Min a -> b # foldr1 :: (a -> a -> a) -> Min a -> a # foldl1 :: (a -> a -> a) -> Min a -> a # elem :: Eq a => a -> Min a -> Bool # maximum :: Ord a => Min a -> a # | |||||
| Foldable1 Min | Since: base-4.18.0.0 | ||||
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Min m -> m # foldMap1 :: Semigroup m => (a -> m) -> Min a -> m # foldMap1' :: Semigroup m => (a -> m) -> Min a -> m # toNonEmpty :: Min a -> NonEmpty a # maximum :: Ord a => Min a -> a # minimum :: Ord a => Min a -> a # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Min a -> b # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Min a -> b # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Min a -> b # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Min a -> b # | |||||
| Traversable Min | Since: base-4.9.0.0 | ||||
| Applicative Min | Since: base-4.9.0.0 | ||||
| Functor Min | Since: base-4.9.0.0 | ||||
| Monad Min | Since: base-4.9.0.0 | ||||
| NFData1 Min | Since: deepseq-1.4.3.0 | ||||
Defined in Control.DeepSeq | |||||
| Generic1 Min | |||||
Defined in Data.Semigroup Associated Types
| |||||
| (Lift Exp a, Elt (Plain a)) => Lift Exp (Min a) Source # | |||||
| Elt a => Unlift Exp (Min (Exp a)) Source # | |||||
| Unbox a => Vector Vector (Min a) | |||||
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: Mutable Vector s (Min a) -> ST s (Vector (Min a)) basicUnsafeThaw :: Vector (Min a) -> ST s (Mutable Vector s (Min a)) basicLength :: Vector (Min a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Min a) -> Vector (Min a) basicUnsafeIndexM :: Vector (Min a) -> Int -> Box (Min a) basicUnsafeCopy :: Mutable Vector s (Min a) -> Vector (Min a) -> ST s () | |||||
| Unbox a => MVector MVector (Min a) | |||||
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Min a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Min a) -> MVector s (Min a) basicOverlaps :: MVector s (Min a) -> MVector s (Min a) -> Bool basicUnsafeNew :: Int -> ST s (MVector s (Min a)) basicInitialize :: MVector s (Min a) -> ST s () basicUnsafeReplicate :: Int -> Min a -> ST s (MVector s (Min a)) basicUnsafeRead :: MVector s (Min a) -> Int -> ST s (Min a) basicUnsafeWrite :: MVector s (Min a) -> Int -> Min a -> ST s () basicClear :: MVector s (Min a) -> ST s () basicSet :: MVector s (Min a) -> Min a -> ST s () basicUnsafeCopy :: MVector s (Min a) -> MVector s (Min a) -> ST s () basicUnsafeMove :: MVector s (Min a) -> MVector s (Min a) -> ST s () basicUnsafeGrow :: MVector s (Min a) -> Int -> ST s (MVector s (Min a)) | |||||
| Eq a => Eq (Min a) Source # | |||||
| Ord a => Ord (Min a) Source # | |||||
Defined in Data.Array.Accelerate.Data.Semigroup Methods (<) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source # (>) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source # (<=) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source # (>=) :: Exp (Min a) -> Exp (Min a) -> Exp Bool Source # min :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) Source # max :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) Source # compare :: Exp (Min a) -> Exp (Min a) -> Exp Ordering Source # | |||||
| Elt a => Elt (Min a) Source # | |||||
| Data a => Data (Min a) | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Min a -> c (Min a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Min a) # dataTypeOf :: Min a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Min a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Min a)) # gmapT :: (forall b. Data b => b -> b) -> Min a -> Min a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Min a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Min a -> r # gmapQ :: (forall d. Data d => d -> u) -> Min a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Min a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Min a -> m (Min a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Min a -> m (Min a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Min a -> m (Min a) # | |||||
| (Ord a, Bounded a) => Monoid (Exp (Min a)) Source # | |||||
| (Ord a, Bounded a) => Monoid (Min a) | Since: base-4.9.0.0 | ||||
| Ord a => Semigroup (Exp (Min a)) Source # | |||||
| Ord a => Semigroup (Min a) | Since: base-4.9.0.0 | ||||
| Bounded a => Bounded (Exp (Min a)) Source # | |||||
| Bounded a => Bounded (Min a) | Since: base-4.9.0.0 | ||||
| Enum a => Enum (Min a) | Since: base-4.9.0.0 | ||||
| Generic (Min a) | |||||
Defined in Data.Semigroup Associated Types
| |||||
| Num a => Num (Exp (Min a)) Source # | |||||
Defined in Data.Array.Accelerate.Data.Semigroup Methods (+) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) # (-) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) # (*) :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) # negate :: Exp (Min a) -> Exp (Min a) # abs :: Exp (Min a) -> Exp (Min a) # signum :: Exp (Min a) -> Exp (Min a) # fromInteger :: Integer -> Exp (Min a) # | |||||
| Num a => Num (Min a) | Since: base-4.9.0.0 | ||||
| Read a => Read (Min a) | Since: base-4.9.0.0 | ||||
| Show a => Show (Min a) | Since: base-4.9.0.0 | ||||
| NFData a => NFData (Min a) | Since: deepseq-1.4.2.0 | ||||
Defined in Control.DeepSeq | |||||
| Eq a => Eq (Min a) | Since: base-4.9.0.0 | ||||
| Ord a => Ord (Min a) | Since: base-4.9.0.0 | ||||
| Hashable a => Hashable (Min a) | |||||
Defined in Data.Hashable.Class | |||||
| Prim a => Prim (Min a) | |||||
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Min a) -> Int# alignmentOfType# :: Proxy (Min a) -> Int# alignment# :: Min a -> Int# indexByteArray# :: ByteArray# -> Int# -> Min a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Min a #) writeByteArray# :: MutableByteArray# s -> Int# -> Min a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Min a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Min a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Min a #) writeOffAddr# :: Addr# -> Int# -> Min a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Min a -> State# s -> State# s | |||||
| Unbox a => Unbox (Min a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
| type Rep1 Min | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup | |||||
| newtype MVector s (Min a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
| type Plain (Min a) Source # | |||||
Defined in Data.Array.Accelerate.Data.Semigroup | |||||
| type Rep (Min a) | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup | |||||
| newtype Vector (Min a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
The Max Monoid and Semigroup always choose the bigger element as
by the Ord instance and max of the contained type.
Examples
>>>Max 42 <> Max 3Max 42
>>>sconcat $ Max 1 :| [ Max n | n <- [2 .. 100]]Max {getMax = 100}
Instances
| Functor Max Source # | |||||
| MonadFix Max | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup | |||||
| Foldable Max | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup Methods fold :: Monoid m => Max m -> m # foldMap :: Monoid m => (a -> m) -> Max a -> m # foldMap' :: Monoid m => (a -> m) -> Max a -> m # foldr :: (a -> b -> b) -> b -> Max a -> b # foldr' :: (a -> b -> b) -> b -> Max a -> b # foldl :: (b -> a -> b) -> b -> Max a -> b # foldl' :: (b -> a -> b) -> b -> Max a -> b # foldr1 :: (a -> a -> a) -> Max a -> a # foldl1 :: (a -> a -> a) -> Max a -> a # elem :: Eq a => a -> Max a -> Bool # maximum :: Ord a => Max a -> a # | |||||
| Foldable1 Max | Since: base-4.18.0.0 | ||||
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Max m -> m # foldMap1 :: Semigroup m => (a -> m) -> Max a -> m # foldMap1' :: Semigroup m => (a -> m) -> Max a -> m # toNonEmpty :: Max a -> NonEmpty a # maximum :: Ord a => Max a -> a # minimum :: Ord a => Max a -> a # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Max a -> b # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Max a -> b # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Max a -> b # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Max a -> b # | |||||
| Traversable Max | Since: base-4.9.0.0 | ||||
| Applicative Max | Since: base-4.9.0.0 | ||||
| Functor Max | Since: base-4.9.0.0 | ||||
| Monad Max | Since: base-4.9.0.0 | ||||
| NFData1 Max | Since: deepseq-1.4.3.0 | ||||
Defined in Control.DeepSeq | |||||
| Generic1 Max | |||||
Defined in Data.Semigroup Associated Types
| |||||
| (Lift Exp a, Elt (Plain a)) => Lift Exp (Max a) Source # | |||||
| Elt a => Unlift Exp (Max (Exp a)) Source # | |||||
| Unbox a => Vector Vector (Max a) | |||||
Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: Mutable Vector s (Max a) -> ST s (Vector (Max a)) basicUnsafeThaw :: Vector (Max a) -> ST s (Mutable Vector s (Max a)) basicLength :: Vector (Max a) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Max a) -> Vector (Max a) basicUnsafeIndexM :: Vector (Max a) -> Int -> Box (Max a) basicUnsafeCopy :: Mutable Vector s (Max a) -> Vector (Max a) -> ST s () | |||||
| Unbox a => MVector MVector (Max a) | |||||
Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Max a) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Max a) -> MVector s (Max a) basicOverlaps :: MVector s (Max a) -> MVector s (Max a) -> Bool basicUnsafeNew :: Int -> ST s (MVector s (Max a)) basicInitialize :: MVector s (Max a) -> ST s () basicUnsafeReplicate :: Int -> Max a -> ST s (MVector s (Max a)) basicUnsafeRead :: MVector s (Max a) -> Int -> ST s (Max a) basicUnsafeWrite :: MVector s (Max a) -> Int -> Max a -> ST s () basicClear :: MVector s (Max a) -> ST s () basicSet :: MVector s (Max a) -> Max a -> ST s () basicUnsafeCopy :: MVector s (Max a) -> MVector s (Max a) -> ST s () basicUnsafeMove :: MVector s (Max a) -> MVector s (Max a) -> ST s () basicUnsafeGrow :: MVector s (Max a) -> Int -> ST s (MVector s (Max a)) | |||||
| Eq a => Eq (Max a) Source # | |||||
| Ord a => Ord (Max a) Source # | |||||
Defined in Data.Array.Accelerate.Data.Semigroup Methods (<) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source # (>) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source # (<=) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source # (>=) :: Exp (Max a) -> Exp (Max a) -> Exp Bool Source # min :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) Source # max :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) Source # compare :: Exp (Max a) -> Exp (Max a) -> Exp Ordering Source # | |||||
| Elt a => Elt (Max a) Source # | |||||
| Data a => Data (Max a) | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Max a -> c (Max a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Max a) # dataTypeOf :: Max a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Max a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Max a)) # gmapT :: (forall b. Data b => b -> b) -> Max a -> Max a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Max a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Max a -> r # gmapQ :: (forall d. Data d => d -> u) -> Max a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Max a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Max a -> m (Max a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Max a -> m (Max a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Max a -> m (Max a) # | |||||
| (Ord a, Bounded a) => Monoid (Exp (Max a)) Source # | |||||
| (Ord a, Bounded a) => Monoid (Max a) | Since: base-4.9.0.0 | ||||
| Ord a => Semigroup (Exp (Max a)) Source # | |||||
| Ord a => Semigroup (Max a) | Since: base-4.9.0.0 | ||||
| Bounded a => Bounded (Exp (Max a)) Source # | |||||
| Bounded a => Bounded (Max a) | Since: base-4.9.0.0 | ||||
| Enum a => Enum (Max a) | Since: base-4.9.0.0 | ||||
| Generic (Max a) | |||||
Defined in Data.Semigroup Associated Types
| |||||
| Num a => Num (Exp (Max a)) Source # | |||||
Defined in Data.Array.Accelerate.Data.Semigroup Methods (+) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) # (-) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) # (*) :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) # negate :: Exp (Max a) -> Exp (Max a) # abs :: Exp (Max a) -> Exp (Max a) # signum :: Exp (Max a) -> Exp (Max a) # fromInteger :: Integer -> Exp (Max a) # | |||||
| Num a => Num (Max a) | Since: base-4.9.0.0 | ||||
| Read a => Read (Max a) | Since: base-4.9.0.0 | ||||
| Show a => Show (Max a) | Since: base-4.9.0.0 | ||||
| NFData a => NFData (Max a) | Since: deepseq-1.4.2.0 | ||||
Defined in Control.DeepSeq | |||||
| Eq a => Eq (Max a) | Since: base-4.9.0.0 | ||||
| Ord a => Ord (Max a) | Since: base-4.9.0.0 | ||||
| Hashable a => Hashable (Max a) | |||||
Defined in Data.Hashable.Class | |||||
| Prim a => Prim (Max a) | |||||
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Max a) -> Int# alignmentOfType# :: Proxy (Max a) -> Int# alignment# :: Max a -> Int# indexByteArray# :: ByteArray# -> Int# -> Max a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Max a #) writeByteArray# :: MutableByteArray# s -> Int# -> Max a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Max a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Max a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Max a #) writeOffAddr# :: Addr# -> Int# -> Max a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Max a -> State# s -> State# s | |||||
| Unbox a => Unbox (Max a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
| type Rep1 Max | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup | |||||
| newtype MVector s (Max a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||
| type Plain (Max a) Source # | |||||
Defined in Data.Array.Accelerate.Data.Semigroup | |||||
| type Rep (Max a) | Since: base-4.9.0.0 | ||||
Defined in Data.Semigroup | |||||
| newtype Vector (Max a) | |||||
Defined in Data.Vector.Unboxed.Base | |||||