-
Notifications
You must be signed in to change notification settings - Fork 219
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
chore: do not panic when dividing by zero #4424
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
guipublic
changed the title
Do not panic when dividing by zero
chore: do not panic when dividing by zero
Feb 26, 2024
TomAFrench
approved these changes
Feb 26, 2024
TomAFrench
added a commit
that referenced
this pull request
Feb 26, 2024
* master: chore(ci): prevent msrv checks from blocking PRs (#4414) feat: expose separate functions to compile programs vs contracts in `noir_wasm` (#4413) chore: do not panic when dividing by zero (#4424) chore: remove unwanted prints (#4419) fix: remove print from monomorphization pass (#4417) chore(ssa): Remove mem2reg run before flattening (#4415) feat: Add HashMap to the stdlib (#4242)
TomAFrench
added a commit
that referenced
this pull request
Feb 26, 2024
* master: (440 commits) chore: remove duplicate `parse_all` function in wasm compiler (#4411) chore(ci): prevent msrv checks from blocking PRs (#4414) feat: expose separate functions to compile programs vs contracts in `noir_wasm` (#4413) chore: do not panic when dividing by zero (#4424) chore: remove unwanted prints (#4419) fix: remove print from monomorphization pass (#4417) chore(ssa): Remove mem2reg run before flattening (#4415) feat: Add HashMap to the stdlib (#4242) fix!: Ban Fields in for loop indices and bitwise ops (#4376) chore: Add #[recursive] Explainer to Documentation (#4399) feat(ci): Use wasm-opt when compiling wasm packages (#4334) fix: add handling to `noir_wasm` for projects without dependencies (#4344) chore: rename parameter 'filter' to 'level' in 'init_log_level' (#4403) chore!: bump msrv to 1.73.0 (#4406) chore: fix docker test workflows (#4308) chore: Update Vec docs (#4400) feat: update error message when trying to load workspace as dependency (#4393) chore: bump webpack dependencies (#4346) fix: correct invalid brillig codegen for `EmbeddedCurvePoint.add` (#4382) chore: remove dependency on generational-arena (#4207) ...
TomAFrench
added a commit
that referenced
this pull request
Feb 26, 2024
* master: feat: add poseidon2 opcode implementation for acvm/brillig, and Noir (#4398) fix: remove panic when generic array length is not resolvable (#4408) chore(ci): enforce formatting of noir code in CI (#4422) fix: correct formatting for databus visibility types (#4423) chore: remove duplicate `parse_all` function in wasm compiler (#4411) chore(ci): prevent msrv checks from blocking PRs (#4414) feat: expose separate functions to compile programs vs contracts in `noir_wasm` (#4413) chore: do not panic when dividing by zero (#4424)
TomAFrench
added a commit
that referenced
this pull request
Feb 27, 2024
* master: (45 commits) chore(docs): correct 'Edit this page' URL for dev docs (#4433) feat: Sync from aztec-packages (#4390) chore(docs): fix external contributor force push workflow (#4437) chore!: Remove empty value from bounded vec (#4431) chore: nargo fmt (#4434) feat: add poseidon2 opcode implementation for acvm/brillig, and Noir (#4398) fix: remove panic when generic array length is not resolvable (#4408) chore(ci): enforce formatting of noir code in CI (#4422) fix: correct formatting for databus visibility types (#4423) chore: remove duplicate `parse_all` function in wasm compiler (#4411) chore(ci): prevent msrv checks from blocking PRs (#4414) feat: expose separate functions to compile programs vs contracts in `noir_wasm` (#4413) chore: do not panic when dividing by zero (#4424) chore: remove unwanted prints (#4419) fix: remove print from monomorphization pass (#4417) chore(ssa): Remove mem2reg run before flattening (#4415) feat: Add HashMap to the stdlib (#4242) fix!: Ban Fields in for loop indices and bitwise ops (#4376) chore: Add #[recursive] Explainer to Documentation (#4399) feat(ci): Use wasm-opt when compiling wasm packages (#4334) ...
TomAFrench
added a commit
that referenced
this pull request
Feb 27, 2024
* master: (46 commits) feat: Sync from aztec-packages (#4438) chore(docs): correct 'Edit this page' URL for dev docs (#4433) feat: Sync from aztec-packages (#4390) chore(docs): fix external contributor force push workflow (#4437) chore!: Remove empty value from bounded vec (#4431) chore: nargo fmt (#4434) feat: add poseidon2 opcode implementation for acvm/brillig, and Noir (#4398) fix: remove panic when generic array length is not resolvable (#4408) chore(ci): enforce formatting of noir code in CI (#4422) fix: correct formatting for databus visibility types (#4423) chore: remove duplicate `parse_all` function in wasm compiler (#4411) chore(ci): prevent msrv checks from blocking PRs (#4414) feat: expose separate functions to compile programs vs contracts in `noir_wasm` (#4413) chore: do not panic when dividing by zero (#4424) chore: remove unwanted prints (#4419) fix: remove print from monomorphization pass (#4417) chore(ssa): Remove mem2reg run before flattening (#4415) feat: Add HashMap to the stdlib (#4242) fix!: Ban Fields in for loop indices and bitwise ops (#4376) chore: Add #[recursive] Explainer to Documentation (#4399) ...
TomAFrench
added a commit
that referenced
this pull request
Feb 27, 2024
* master: chore!: reserve `unchecked` keyword (#4432) chore: address code review comments of PR4398 (#4435) feat: Sync from aztec-packages (#4439) feat: Sync from aztec-packages (#4438) chore(docs): correct 'Edit this page' URL for dev docs (#4433) feat: Sync from aztec-packages (#4390) chore(docs): fix external contributor force push workflow (#4437) chore!: Remove empty value from bounded vec (#4431) chore: nargo fmt (#4434) feat: add poseidon2 opcode implementation for acvm/brillig, and Noir (#4398) fix: remove panic when generic array length is not resolvable (#4408) chore(ci): enforce formatting of noir code in CI (#4422) fix: correct formatting for databus visibility types (#4423) chore: remove duplicate `parse_all` function in wasm compiler (#4411) chore(ci): prevent msrv checks from blocking PRs (#4414) feat: expose separate functions to compile programs vs contracts in `noir_wasm` (#4413) chore: do not panic when dividing by zero (#4424)
TomAFrench
added a commit
that referenced
this pull request
Feb 27, 2024
* master: chore!: reserve `unchecked` keyword (#4432) chore: address code review comments of PR4398 (#4435) feat: Sync from aztec-packages (#4439) feat: Sync from aztec-packages (#4438) chore(docs): correct 'Edit this page' URL for dev docs (#4433) feat: Sync from aztec-packages (#4390) chore(docs): fix external contributor force push workflow (#4437) chore!: Remove empty value from bounded vec (#4431) chore: nargo fmt (#4434) feat: add poseidon2 opcode implementation for acvm/brillig, and Noir (#4398) fix: remove panic when generic array length is not resolvable (#4408) chore(ci): enforce formatting of noir code in CI (#4422) fix: correct formatting for databus visibility types (#4423) chore: remove duplicate `parse_all` function in wasm compiler (#4411) chore(ci): prevent msrv checks from blocking PRs (#4414) feat: expose separate functions to compile programs vs contracts in `noir_wasm` (#4413) chore: do not panic when dividing by zero (#4424)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Problem*
Resolves #2480
Summary*
In BrilligVM, we have now the same behaviour regarding division by 0. Whether it is a field or integer division, we return 0 when dividing by zero. Since we have a constraint which checks that the inverse times itself is 1, this constraint will always fail if we divide by zero (instead of panic or returning an error).
Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.