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 Nat
s. 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 #