blob: 627186450c18dedc9068ad576550688fbf817475 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
data FieldElement =
FieldElement
{ number :: Int
, prime :: Int
}
deriving (Eq)
instance Show FieldElement where
show a = "FieldElement_" ++ show (prime a) ++ " " ++ show (number a)
add :: FieldElement -> FieldElement -> FieldElement
add (FieldElement a b) (FieldElement c d)
| b /= d = error "Distinct Fields"
| otherwise = FieldElement (mod (a + c) b) b
|