telescope-0.3.0: Astronomical Observations (FITS, ASDF, WCS, etc)
Safe HaskellSafe-Inferred
LanguageGHC2021

Telescope.Data.DataCube

Documentation

newtype DataCube (as :: [Type]) Source #

Constructors

DataCube 

Fields

Instances

Instances details
Ragged L (IndexOf as) Double => Show (DataCube as) Source # 
Instance details

Defined in Telescope.Data.DataCube

Methods

showsPrec :: Int -> DataCube as -> ShowS #

show :: DataCube as -> String #

showList :: [DataCube as] -> ShowS #

Index (IndexOf as) => Eq (DataCube as) Source # 
Instance details

Defined in Telescope.Data.DataCube

Methods

(==) :: DataCube as -> DataCube as -> Bool #

(/=) :: DataCube as -> DataCube as -> Bool #

class HasIndex (as :: [Type]) Source #

Associated Types

type IndexOf as :: Type Source #

Instances

Instances details
HasIndex ('[] :: [Type]) Source # 
Instance details

Defined in Telescope.Data.DataCube

Associated Types

type IndexOf '[] Source #

HasIndex '[a, b, c, d, e] Source # 
Instance details

Defined in Telescope.Data.DataCube

Associated Types

type IndexOf '[a, b, c, d, e] Source #

HasIndex '[a, b, c, d] Source # 
Instance details

Defined in Telescope.Data.DataCube

Associated Types

type IndexOf '[a, b, c, d] Source #

HasIndex '[a, b, c] Source # 
Instance details

Defined in Telescope.Data.DataCube

Associated Types

type IndexOf '[a, b, c] Source #

HasIndex '[a, b] Source # 
Instance details

Defined in Telescope.Data.DataCube

Associated Types

type IndexOf '[a, b] Source #

HasIndex '[a] Source # 
Instance details

Defined in Telescope.Data.DataCube

Associated Types

type IndexOf '[a] Source #

outerList :: forall a as. (Lower (IndexOf (a : as)) ~ IndexOf as, Index (IndexOf as), Index (IndexOf (a : as))) => DataCube (a : as) -> [DataCube as] Source #

transposeMajor :: (IndexOf (a : (b : xs)) ~ IndexOf (b : (a : xs)), Index (Lower (IndexOf (b : (a : xs)))), Index (IndexOf (b : (a : xs)))) => DataCube (a : (b : xs)) -> DataCube (b : (a : xs)) Source #

transposeMinor4 :: DataCube [a, b, c, d] -> DataCube [a, b, d, c] Source #

transposeMinor3 :: DataCube [a, b, c] -> DataCube [a, c, b] Source #

sliceM0 :: (Lower (IndexOf (a : xs)) ~ IndexOf xs, Index (IndexOf xs), Index (IndexOf (a : xs))) => Int -> DataCube (a : xs) -> DataCube xs Source #

sliceM1 :: forall a b xs. (Lower (IndexOf (a : (b : xs))) ~ IndexOf (a : xs), Index (IndexOf (a : xs)), Index (IndexOf (a : (b : xs)))) => Int -> DataCube (a : (b : xs)) -> DataCube (a : xs) Source #

sliceM2 :: forall a b c xs. (Lower (IndexOf (a : (b : (c : xs)))) ~ IndexOf (a : (b : xs)), Index (IndexOf (a : (b : xs))), Index (IndexOf (a : (b : (c : xs))))) => Int -> DataCube (a : (b : (c : xs))) -> DataCube (a : (b : xs)) Source #

splitM0 :: forall a xs m. (Index (IndexOf (a : xs)), MonadThrow m) => Int -> DataCube (a : xs) -> m (DataCube (a : xs), DataCube (a : xs)) Source #

splitM1 :: forall a b xs m. (Index (IndexOf (a : xs)), Index (IndexOf (a : (b : xs))), MonadThrow m) => Int -> DataCube (a : (b : xs)) -> m (DataCube (a : (b : xs)), DataCube (a : (b : xs))) Source #