| Safe Haskell | None |
|---|---|
| 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
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 #