Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
FinFields
Description
This module supports finite (Galois) fields.
Function gf
creates types implementing finite fields.
Synopsis
- data FiniteField
- = FiniteField {
- meta :: FiniteFieldMeta
- value :: Integer
- | Literal { }
- = FiniteField {
- data FiniteFieldMeta = FiniteFieldMeta {
- modulus :: Integer
- byteLength :: Int
- gf :: Integer -> FiniteField
- toBytes :: Int -> [Integer] -> ByteString
- fromBytes :: Int -> ByteString -> [Integer]
Documentation
data FiniteField Source #
Instantiate an object from a field and subsequently apply overloaded
operators such as (
, +
)(
, -
)(
, *
)(
etc., to compute with field elements./
)
Constructors
FiniteField | |
Fields
| |
Literal | |
Instances
Num FiniteField Source # | Addition, Subtraction, Multiplication. |
Defined in FinFields Methods (+) :: FiniteField -> FiniteField -> FiniteField # (-) :: FiniteField -> FiniteField -> FiniteField # (*) :: FiniteField -> FiniteField -> FiniteField # negate :: FiniteField -> FiniteField # abs :: FiniteField -> FiniteField # signum :: FiniteField -> FiniteField # fromInteger :: Integer -> FiniteField # | |
Fractional FiniteField Source # | Multiplicative inverse, Division. |
Defined in FinFields Methods (/) :: FiniteField -> FiniteField -> FiniteField # recip :: FiniteField -> FiniteField # fromRational :: Rational -> FiniteField # | |
Show FiniteField Source # | |
Defined in FinFields Methods showsPrec :: Int -> FiniteField -> ShowS # show :: FiniteField -> String # showList :: [FiniteField] -> ShowS # | |
Eq FiniteField Source # | Equality test. |
Defined in FinFields |
data FiniteFieldMeta Source #
Constructors
FiniteFieldMeta | |
Fields
|
Instances
Show FiniteFieldMeta Source # | |
Defined in FinFields Methods showsPrec :: Int -> FiniteFieldMeta -> ShowS # show :: FiniteFieldMeta -> String # showList :: [FiniteFieldMeta] -> ShowS # |
gf :: Integer -> FiniteField Source #
Create a finite (Galois) field for given modulus (prime number).