constantine/constantine
Mamy Ratsimbazafy 5806cc4638
Double-Precision towering (#155)
* consistent naming for dbl-width

* Isolate double-width Fp2 mul

* Implement double-width complex multiplication

* Lay out Fp4 double-width mul

* Off by p in square Fp4 as well :/

* less copies and stack space in addition chains

* Address https://github.com/mratsim/constantine/issues/154 partly

* Fix #154, faster Fp4 square: less non-residue, no Mul, only square (bit more ops total)

* Fix typo

* better assembly scheduling for add/sub

* Double-width -> Double-precision

* Unred -> Unr

* double-precision modular addition

* Replace canUseNoCarryMontyMul and canUseNoCarryMontySquare by getSpareBits

* Complete the double-precision implementation

* Use double-precision path for Fp4 squaring and mul

* remove mixin annotations

* Lazy reduction in Fp4 prod

* Fix assembly for sum2xMod

* Assembly for double-precision negation

* reduce white spaces in pairing benchmarks

* ADX implies BMI2
2021-02-09 22:57:45 +01:00
..
arithmetic Double-Precision towering (#155) 2021-02-09 22:57:45 +01:00
config Double-Precision towering (#155) 2021-02-09 22:57:45 +01:00
curves Fix cofactor in BW6-761 naive final exp (but still buggy - see #152) 2021-02-07 10:24:52 +01:00
elliptic Tower drop concepts (#153) 2021-02-07 14:03:56 +01:00
hash_to_curve [WIP] Pairings for bw6 761 (#108) 2021-02-07 09:46:41 +01:00
hashes SHA256 Hash function 2020-12-15 19:18:36 +01:00
io Tower drop concepts (#153) 2021-02-07 14:03:56 +01:00
isogeny Tower drop concepts (#153) 2021-02-07 14:03:56 +01:00
pairing Tower drop concepts (#153) 2021-02-07 14:03:56 +01:00
primitives FpDbl revisited (#144) - 7% perf improvement everywhere, up to 30% in double-width primitives 2021-02-01 03:52:27 +01:00
signatures reorg the codebase + add/update READMEs in folders with research (#12) 2020-02-24 10:50:19 +01:00
tower_field_extensions Double-Precision towering (#155) 2021-02-09 22:57:45 +01:00
arithmetic.nim Double-Precision towering (#155) 2021-02-09 22:57:45 +01:00
primitives.nim Double-width tower extension part 1 (#72) 2020-08-20 10:21:39 +02:00
towers.nim Sqrt fp2 acceleration (#109) 2020-12-13 17:08:32 +01:00