| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Language.Fortran.Repr.Value.Scalar.Int.Machine
Description
Machine Fortran INTEGER values.
This module stores Fortran INTEGER values in a matching Haskell machine integer
type. For example, an INT(4) would be stored in an Int32. This way, we get
both efficient operations and common overflow behaviour (which hopefully matches
most Fortran compilers), and explicitly encode kinding semantics via promoting
integral types.
Synopsis
- data FInt
- withFInt :: Num a => FInt -> a
- fIntUOp' :: (Int8 -> r) -> (Int16 -> r) -> (Int32 -> r) -> (Int64 -> r) -> FInt -> r
- fIntBOp' :: (Int8 -> Int8 -> r) -> (Int16 -> Int16 -> r) -> (Int32 -> Int32 -> r) -> (Int64 -> Int64 -> r) -> FInt -> FInt -> r
- fIntUOpInplace' :: (Int8 -> Int8) -> (Int16 -> Int16) -> (Int32 -> Int32) -> (Int64 -> Int64) -> FInt -> FInt
- fIntBOpInplace' :: (Int8 -> Int8 -> Int8) -> (Int16 -> Int16 -> Int16) -> (Int32 -> Int32 -> Int32) -> (Int64 -> Int64 -> Int64) -> FInt -> FInt -> FInt
- fIntUOp :: (forall a. FKindedC FInt a => a -> r) -> FInt -> r
- fIntUOpInplace :: (forall a. FKindedC FInt a => a -> a) -> FInt -> FInt
- fIntBOp :: (forall a. FKindedC FInt a => a -> a -> r) -> FInt -> FInt -> r
- fIntBOpInplace :: (forall a. FKindedC FInt a => a -> a -> a) -> FInt -> FInt -> FInt
Documentation
A Fortran integer value, type INTEGER(k).
Instances
| Out FInt Source # | |
| Data FInt Source # | |
Defined in Language.Fortran.Repr.Value.Scalar.Int.Machine Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FInt -> c FInt # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FInt # dataTypeOf :: FInt -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FInt) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FInt) # gmapT :: (forall b. Data b => b -> b) -> FInt -> FInt # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FInt -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FInt -> r # gmapQ :: (forall d. Data d => d -> u) -> FInt -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FInt -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FInt -> m FInt # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FInt -> m FInt # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FInt -> m FInt # | |
| Generic FInt Source # | |
| Show FInt Source # | |
| Binary FInt Source # | |
| FKinded FInt Source # | |
| Eq FInt Source # | |
| type Rep FInt Source # | |
Defined in Language.Fortran.Repr.Value.Scalar.Int.Machine type Rep FInt = D1 ('MetaData "FInt" "Language.Fortran.Repr.Value.Scalar.Int.Machine" "fortran-src-0.14.0-inplace" 'False) ((C1 ('MetaCons "FInt1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)) :+: C1 ('MetaCons "FInt2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))) :+: (C1 ('MetaCons "FInt4" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :+: C1 ('MetaCons "FInt8" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))) | |
| type FKindedT FInt Source # | |
| type FKindedC FInt a Source # | |
fIntBOp' :: (Int8 -> Int8 -> r) -> (Int16 -> Int16 -> r) -> (Int32 -> Int32 -> r) -> (Int64 -> Int64 -> r) -> FInt -> FInt -> r Source #
fIntUOpInplace' :: (Int8 -> Int8) -> (Int16 -> Int16) -> (Int32 -> Int32) -> (Int64 -> Int64) -> FInt -> FInt Source #