RosettaCodeData/Task/Elliptic-curve-arithmetic/Haskell/elliptic-curve-arithmetic-6.hs
2023-07-01 13:44:08 -04:00

7 lines
176 B
Haskell

n `mult` p
| n == 0 = Zero
| n == 1 = p
| n == 2 = p <> p
| n < 0 = inv ((-n) `mult` p)
| even n = 2 `mult` ((n `div` 2) `mult` p)
| odd n = p <> (n -1) `mult` p