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

Telescope.Data.DataCube

Documentation

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

Constructors

DataCube 

Fields

Instances

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

Defined in Telescope.Data.DataCube

Methods

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

show :: DataCube as f -> String #

showList :: [DataCube as f] -> ShowS #

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

Defined in Telescope.Data.DataCube

Methods

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

(/=) :: DataCube as f -> DataCube as f -> 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 f. (Lower (IndexOf (a : as)) ~ IndexOf as, Index (IndexOf as), Index (IndexOf (a : as))) => DataCube (a : as) f -> [DataCube as f] 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)) f -> DataCube (b : (a : xs)) f Source #

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

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

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

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

sliceM2 :: forall a b c xs f. (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))) f -> DataCube (a : (b : xs)) f Source #

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

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