From 0f6af3be53e80f124a9c7d9294cccf8b4d1c272a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20N=C3=A1jera?= Date: Sat, 3 Apr 2021 20:35:06 +0200 Subject: Define FieldElement addition --- ecc.hs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 ecc.hs diff --git a/ecc.hs b/ecc.hs new file mode 100644 index 0000000..6271864 --- /dev/null +++ b/ecc.hs @@ -0,0 +1,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 -- cgit v1.2.3