Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvement/field inv pornin20 #106

Merged
merged 71 commits into from
Dec 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
c9c01b9
Ignore .DS_Store
Tabaie Oct 28, 2021
8bb3662
Ignore Goland project files
Tabaie Oct 28, 2021
6070316
feat: Naive GCD works
Tabaie Oct 29, 2021
b611212
feat: Naive GCD improved
Tabaie Oct 29, 2021
772377a
perf: Field element - Word multiplication implemented
Tabaie Nov 1, 2021
175d545
perf: Field element - Word multiplication implemented
Tabaie Nov 2, 2021
0583abc
feat: Full paper implemented, unknown bug
Tabaie Nov 4, 2021
280751c
feat: Full paper implemented, tests passing
Tabaie Nov 5, 2021
95f6292
feat: Test for corrective factor consistency
Tabaie Nov 8, 2021
1d85105
perf: Batch each 2 u,v updates. Update factors correct result incorrect
Tabaie Nov 8, 2021
e245c06
test: Consistency check on top
Tabaie Nov 8, 2021
488a908
fix: Optimization 3 works, but with many watches
Tabaie Nov 9, 2021
bd597e3
fix: Optimization 3 works, removed debugging code, down to 1879 ns/op
Tabaie Nov 9, 2021
f1fba7b
fix: Non-const t: Precomputation gives little speedup: 1511,1463,1551
Tabaie Nov 9, 2021
a04c917
style: Some commentary
Tabaie Nov 9, 2021
11ceb6b
style: Some more commentary
Tabaie Nov 9, 2021
a56e55e
perf: field inverse optimizations
gbotrel Nov 9, 2021
536a347
perf!: Towards 1 mont-red per u,v update instead of 2. mulModR dev'd
Tabaie Nov 10, 2021
a0cafca
perf: Linear comb w 1 MontRed instead of 2. Slow (debug logic inline)
Tabaie Nov 17, 2021
6a4cd29
perf: Removed debug logic
Tabaie Nov 17, 2021
5ed39c5
refactor: SOS Montgomery Reduction
Tabaie Nov 17, 2021
c746ab4
perf: Branch-free signed non-mont word multiplication
Tabaie Nov 17, 2021
f218a38
style: Hand-inlined rsh31, comments, single correction factor
Tabaie Nov 18, 2021
9a4de1e
feat: Signed mont-reduce
Tabaie Nov 18, 2021
e4d1197
chore: signed/unsigned versions of SOS mont for comparison
Tabaie Nov 19, 2021
89eac26
feat: Three ways of dealing with signed numbers in montgomery reduction
Tabaie Nov 19, 2021
916f502
style: minor changes
Tabaie Nov 19, 2021
9346b8a
perf: signed sos ftw
Tabaie Nov 19, 2021
d8ffac0
style: comments and proofs
Tabaie Nov 19, 2021
ebc5645
feat!: Code generated, faulty
Tabaie Nov 29, 2021
278a8f1
fix: All bn254 tests pass but TestMonReduceNegFixed
Tabaie Nov 29, 2021
a2ff155
feat: Autogen P20
Tabaie Nov 30, 2021
215364b
test: Autogen Montgomery reduction tests
Tabaie Nov 30, 2021
3be03b0
test: Autogen correction factor checking test
Tabaie Nov 30, 2021
bbb2b9e
fix: fix neg template to actually use borrow value
gbotrel Dec 1, 2021
1ad48ce
chore: Autogen all tests. TODO: bls12-377 fr loops
Tabaie Dec 1, 2021
d5d952c
style: broke inv
Tabaie Dec 1, 2021
9bf9eb5
fix!: Integration test codegen works. Failing edge cases with len(q)
Tabaie Dec 1, 2021
73050c5
fix: unbroke the tests
Tabaie Dec 2, 2021
fa8f2f1
Merge branch 'style/broke-inv' into improvement/field-inv-pornin20
Tabaie Dec 2, 2021
705662b
style: hardcoded values shall be consts
Tabaie Dec 3, 2021
586554e
style: Compute number of iterations only in field.go only
Tabaie Dec 3, 2021
7658065
fix: number of iterations corrected. integration tests pass
Tabaie Dec 3, 2021
3fd1a19
feat!: morning snapshot. Issue with neg
Tabaie Dec 3, 2021
2360779
fix: Neg passes, lingering issues with test randomizer
Tabaie Dec 6, 2021
85694ad
style: all "//" to be followed with a space
Tabaie Dec 6, 2021
3dafd6a
chore: mathfmt, change correctionFac from var to consts, cite Pornin
Tabaie Dec 6, 2021
c6663e9
chore: Not demanding 64bit arch. TODO: Test correctness on one
Tabaie Dec 6, 2021
0051bfb
perf: Replace mulWRegular with faster branched version
Tabaie Dec 6, 2021
c63f97c
test: BenchInverse to call InverseOld
Tabaie Dec 6, 2021
e32238d
style: comments
Tabaie Dec 6, 2021
636c8ec
style: comments
Tabaie Dec 6, 2021
5d9a7bf
Merge remote-tracking branch 'origin/develop' into improvement/field-…
Tabaie Dec 6, 2021
1fb780c
Merge branch 'improvement/field-inv-pornin20' into perf/compressed-up…
Tabaie Dec 6, 2021
e4f7831
fix: Update factor negation works
Tabaie Dec 6, 2021
47389e4
feat!: Update factor compression works. No speedup? Broke Json conv
Tabaie Dec 6, 2021
df96df1
perf: Inlined conversion factor manipulation
Tabaie Dec 6, 2021
86e63e1
perf: Combined updates factor to be signed, next: fewer helper vars
Tabaie Dec 6, 2021
c837489
perf: fewer helper variables
Tabaie Dec 6, 2021
5363e14
style: mathfmt
Tabaie Dec 6, 2021
550eb2e
perf: Four update factor vars
Tabaie Dec 7, 2021
98b284f
perf: partial rollback for bn254-fp
Tabaie Dec 7, 2021
60ffe80
fix: semi-compressed bn254/fp
Tabaie Dec 7, 2021
370c3af
chore: generify semicompressed
Tabaie Dec 7, 2021
68bdbcd
style: more expressive argument name for `approximate`
Tabaie Dec 7, 2021
d4e4e45
chore: Take out InverseOld
Tabaie Dec 7, 2021
d29e2a5
chore: staticcheck, correct commented formula for outer loop iterations
Tabaie Dec 7, 2021
3157553
fix: 32bit compatible assertMatch for bn254/fp
Tabaie Dec 8, 2021
29bcddc
fix: fixed bug for 64b
Tabaie Dec 8, 2021
286c036
chore: generify 32bit fix
Tabaie Dec 8, 2021
9d7926b
revert: remove mathfmt (for now)
Tabaie Dec 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,6 @@ field/generator/addchain/**

# compiled sage -> python code
*.sage.py

.DS_Store
.idea
Loading