| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Array.Nested.Shaped.Base
Synopsis
- newtype Shaped (sh :: [Nat]) a = Shaped (Mixed (MapJust sh) a)
- liftShaped1 :: forall (sh :: [Nat]) a b. (Mixed (MapJust sh) a -> Mixed (MapJust sh) b) -> Shaped sh a -> Shaped sh b
- liftShaped2 :: forall (sh :: [Nat]) a b c. (Mixed (MapJust sh) a -> Mixed (MapJust sh) b -> Mixed (MapJust sh) c) -> Shaped sh a -> Shaped sh b -> Shaped sh c
- squotArray :: forall a (sh :: [Nat]). (IntElt a, PrimElt a) => Shaped sh a -> Shaped sh a -> Shaped sh a
- sremArray :: forall a (sh :: [Nat]). (IntElt a, PrimElt a) => Shaped sh a -> Shaped sh a -> Shaped sh a
- satan2Array :: forall a (sh :: [Nat]). (FloatElt a, PrimElt a) => Shaped sh a -> Shaped sh a -> Shaped sh a
- sshape :: forall (sh :: [Nat]) a. Elt a => Shaped sh a -> ShS sh
- shsFromShX :: forall (sh :: [Nat]) i. ShX (MapJust sh) i -> ShS sh
Documentation
newtype Shaped (sh :: [Nat]) a Source #
A shape-typed array: the full shape of the array (the sizes of its
dimensions) is represented on the type level as a list of Nats. Note that
these are GHC.TypeLits naturals, because we do not need induction over
them and we want very large arrays to be possible.
Like for Ranked, the valid elements are described by the Elt type class,
and Shaped itself is again an instance of Elt as well.
Instances
| (FloatElt a, PrimElt a) => Floating (Shaped sh a) Source # | |||||
Defined in Data.Array.Nested.Shaped.Base Methods exp :: Shaped sh a -> Shaped sh a # log :: Shaped sh a -> Shaped sh a # sqrt :: Shaped sh a -> Shaped sh a # (**) :: Shaped sh a -> Shaped sh a -> Shaped sh a # logBase :: Shaped sh a -> Shaped sh a -> Shaped sh a # sin :: Shaped sh a -> Shaped sh a # cos :: Shaped sh a -> Shaped sh a # tan :: Shaped sh a -> Shaped sh a # asin :: Shaped sh a -> Shaped sh a # acos :: Shaped sh a -> Shaped sh a # atan :: Shaped sh a -> Shaped sh a # sinh :: Shaped sh a -> Shaped sh a # cosh :: Shaped sh a -> Shaped sh a # tanh :: Shaped sh a -> Shaped sh a # asinh :: Shaped sh a -> Shaped sh a # acosh :: Shaped sh a -> Shaped sh a # atanh :: Shaped sh a -> Shaped sh a # log1p :: Shaped sh a -> Shaped sh a # expm1 :: Shaped sh a -> Shaped sh a # | |||||
| Generic (Mixed sh (Shaped sh' a)) Source # | |||||
Defined in Data.Array.Nested.Shaped.Base Associated Types
| |||||
| (NumElt a, PrimElt a) => Num (Shaped sh a) Source # | |||||
Defined in Data.Array.Nested.Shaped.Base Methods (+) :: Shaped sh a -> Shaped sh a -> Shaped sh a # (-) :: Shaped sh a -> Shaped sh a -> Shaped sh a # (*) :: Shaped sh a -> Shaped sh a -> Shaped sh a # negate :: Shaped sh a -> Shaped sh a # abs :: Shaped sh a -> Shaped sh a # signum :: Shaped sh a -> Shaped sh a # fromInteger :: Integer -> Shaped sh a # | |||||
| (FloatElt a, PrimElt a) => Fractional (Shaped sh a) Source # | |||||
| (Show a, Elt a) => Show (Shaped n a) Source # | |||||
| Elt a => NFData (Shaped sh a) Source # | |||||
Defined in Data.Array.Nested.Shaped.Base | |||||
| Eq (Mixed sh (Mixed (MapJust sh') a)) => Eq (Mixed sh (Shaped sh' a)) Source # | |||||
| Eq (Mixed (MapJust sh) a) => Eq (Shaped sh a) Source # | |||||
| Ord (Mixed (MapJust sh) a) => Ord (Shaped sh a) Source # | |||||
Defined in Data.Array.Nested.Shaped.Base | |||||
| Elt a => Elt (Shaped sh a) Source # | |||||
Defined in Data.Array.Nested.Shaped.Base Associated Types
Methods mshape :: forall (sh0 :: [Maybe Nat]). Mixed sh0 (Shaped sh a) -> IShX sh0 Source # mindex :: forall (sh0 :: [Maybe Nat]). Mixed sh0 (Shaped sh a) -> IIxX sh0 -> Shaped sh a Source # mindexPartial :: forall (sh0 :: [Maybe Nat]) (sh' :: [Maybe Nat]). Mixed (sh0 ++ sh') (Shaped sh a) -> IIxX sh0 -> Mixed sh' (Shaped sh a) Source # mscalar :: Shaped sh a -> Mixed ('[] :: [Maybe Nat]) (Shaped sh a) Source # mfromListOuter :: forall (sh0 :: [Maybe Nat]). NonEmpty (Mixed sh0 (Shaped sh a)) -> Mixed (('Nothing :: Maybe Nat) ': sh0) (Shaped sh a) Source # mtoListOuter :: forall (n :: Maybe Nat) (sh0 :: [Maybe Nat]). Mixed (n ': sh0) (Shaped sh a) -> [Mixed sh0 (Shaped sh a)] Source # mlift :: forall (sh1 :: [Maybe Nat]) (sh2 :: [Maybe Nat]). StaticShX sh2 -> (forall (sh' :: [Maybe Nat]) b. Storable b => StaticShX sh' -> XArray (sh1 ++ sh') b -> XArray (sh2 ++ sh') b) -> Mixed sh1 (Shaped sh a) -> Mixed sh2 (Shaped sh a) Source # mlift2 :: forall (sh1 :: [Maybe Nat]) (sh2 :: [Maybe Nat]) (sh3 :: [Maybe Nat]). StaticShX sh3 -> (forall (sh' :: [Maybe Nat]) b. Storable b => StaticShX sh' -> XArray (sh1 ++ sh') b -> XArray (sh2 ++ sh') b -> XArray (sh3 ++ sh') b) -> Mixed sh1 (Shaped sh a) -> Mixed sh2 (Shaped sh a) -> Mixed sh3 (Shaped sh a) Source # mliftL :: forall (sh1 :: [Maybe Nat]) (sh2 :: [Maybe Nat]). StaticShX sh2 -> (forall (sh' :: [Maybe Nat]) b. Storable b => StaticShX sh' -> NonEmpty (XArray (sh1 ++ sh') b) -> NonEmpty (XArray (sh2 ++ sh') b)) -> NonEmpty (Mixed sh1 (Shaped sh a)) -> NonEmpty (Mixed sh2 (Shaped sh a)) Source # mcastPartial :: forall (sh1 :: [Maybe Nat]) (sh2 :: [Maybe Nat]) (sh' :: [Maybe Nat]). Rank sh1 ~ Rank sh2 => StaticShX sh1 -> StaticShX sh2 -> Proxy sh' -> Mixed (sh1 ++ sh') (Shaped sh a) -> Mixed (sh2 ++ sh') (Shaped sh a) Source # mtranspose :: forall (is :: [Natural]) (sh0 :: [Maybe Nat]). (IsPermutation is, Rank is <= Rank sh0) => Perm is -> Mixed sh0 (Shaped sh a) -> Mixed (PermutePrefix is sh0) (Shaped sh a) Source # mconcat :: forall (sh0 :: [Maybe Nat]). NonEmpty (Mixed (('Nothing :: Maybe Nat) ': sh0) (Shaped sh a)) -> Mixed (('Nothing :: Maybe Nat) ': sh0) (Shaped sh a) Source # mrnf :: forall (sh0 :: [Maybe Nat]). Mixed sh0 (Shaped sh a) -> () Source # mshapeTree :: Shaped sh a -> ShapeTree (Shaped sh a) Source # mshapeTreeEq :: Proxy (Shaped sh a) -> ShapeTree (Shaped sh a) -> ShapeTree (Shaped sh a) -> Bool Source # mshapeTreeEmpty :: Proxy (Shaped sh a) -> ShapeTree (Shaped sh a) -> Bool Source # mshowShapeTree :: Proxy (Shaped sh a) -> ShapeTree (Shaped sh a) -> String Source # marrayStrides :: forall (sh0 :: [Maybe Nat]). Mixed sh0 (Shaped sh a) -> Bag [Int] Source # mvecsWrite :: forall (sh0 :: [Maybe Nat]) s. IShX sh0 -> IIxX sh0 -> Shaped sh a -> MixedVecs s sh0 (Shaped sh a) -> ST s () Source # mvecsWritePartial :: forall (sh0 :: [Maybe Nat]) (sh' :: [Maybe Nat]) s. IShX (sh0 ++ sh') -> IIxX sh0 -> Mixed sh' (Shaped sh a) -> MixedVecs s (sh0 ++ sh') (Shaped sh a) -> ST s () Source # mvecsFreeze :: forall (sh0 :: [Maybe Nat]) s. IShX sh0 -> MixedVecs s sh0 (Shaped sh a) -> ST s (Mixed sh0 (Shaped sh a)) Source # | |||||
| (KnownShS sh, KnownElt a) => KnownElt (Shaped sh a) Source # | |||||
Defined in Data.Array.Nested.Shaped.Base Methods memptyArrayUnsafe :: forall (sh0 :: [Maybe Nat]). IShX sh0 -> Mixed sh0 (Shaped sh a) Source # mvecsUnsafeNew :: forall (sh0 :: [Maybe Nat]) s. IShX sh0 -> Shaped sh a -> ST s (MixedVecs s sh0 (Shaped sh a)) Source # mvecsNewEmpty :: forall s (sh0 :: [Maybe Nat]). Proxy (Shaped sh a) -> ST s (MixedVecs s sh0 (Shaped sh a)) Source # | |||||
| newtype MixedVecs s sh (Shaped sh' a) Source # | |||||
| newtype Mixed sh (Shaped sh' a) Source # | |||||
| type Rep (Mixed sh (Shaped sh' a)) Source # | |||||
Defined in Data.Array.Nested.Shaped.Base type Rep (Mixed sh (Shaped sh' a)) = D1 ('MetaData "Mixed" "Data.Array.Nested.Shaped.Base" "ox-arrays-0.1.0.0-G9rS3ky7ORtC6G06Mvzq1I" 'True) (C1 ('MetaCons "M_Shaped" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Mixed sh (Mixed (MapJust sh') a))))) | |||||
| type ShapeTree (Shaped sh a) Source # | |||||
Defined in Data.Array.Nested.Shaped.Base | |||||
liftShaped1 :: forall (sh :: [Nat]) a b. (Mixed (MapJust sh) a -> Mixed (MapJust sh) b) -> Shaped sh a -> Shaped sh b Source #
liftShaped2 :: forall (sh :: [Nat]) a b c. (Mixed (MapJust sh) a -> Mixed (MapJust sh) b -> Mixed (MapJust sh) c) -> Shaped sh a -> Shaped sh b -> Shaped sh c Source #
squotArray :: forall a (sh :: [Nat]). (IntElt a, PrimElt a) => Shaped sh a -> Shaped sh a -> Shaped sh a Source #
sremArray :: forall a (sh :: [Nat]). (IntElt a, PrimElt a) => Shaped sh a -> Shaped sh a -> Shaped sh a Source #