Support unsigned integral square root computations.

This commit is contained in:
2018-11-30 11:28:20 -08:00
parent 0ec5f90d8e
commit 2b9f5ea7a2
13 changed files with 13156 additions and 20 deletions

View File

@@ -25,6 +25,7 @@ data Operation = Add
| SignedShift
| SignedSub
| SigConvert Int
| SquareRoot
| EGCD
| ModInv
| PrimeGen
@@ -47,7 +48,8 @@ needs = [ Need RSA (\ size -> [Req (size `div` 2) Sub,
])
, Need DSA (\ size -> [Req size BaseOps,
Req size Shifts,
Req size Add])
Req size Add,
Req size SquareRoot])
, Need PrimeGen (\ size -> [Req size Div,
Req size Shifts,
Req size ModExp,
@@ -149,6 +151,11 @@ needs = [ Need RSA (\ size -> [Req (size `div` 2) Sub,
Req (size + 64) SignedAdd,
Req size Barretts
])
, Need SquareRoot (\ size -> [Req size BaseOps,
Req size Shifts,
Req size Add,
Req size Sub
])
]
newRequirements :: Requirement -> [Requirement]