-
Notifications
You must be signed in to change notification settings - Fork 20
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
feat: single page index scan with predicate #58
Conversation
… AssertSortedChip
chips/src/single_page_index_scan/page_index_scan_input/columns.rs
Outdated
Show resolved
Hide resolved
Resolves INT-1530 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is overall correct, but the code is hard to read and verbose due to the match statements. It would be better if the code can be abridged to reflect that: you check predicate by using one or both of is_less_than
and is_equal
, and its mostly a question of which one(s) to use and what arguments to put in the subair eval.
Tips that may help:
- move
match
statements to functions of theenum
itself - you can use
Option
to havematch
returnNone
for irrelevant branches
chips/src/single_page_index_scan/page_index_scan_input/columns.rs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall much improved. Left some minor comments, and also on the constraint side question about why when_transition
is used.
Otherwise LGTM
chips/src/single_page_index_scan/page_index_scan_output/columns.rs
Outdated
Show resolved
Hide resolved
chips/src/single_page_index_scan/page_index_scan_output/columns.rs
Outdated
Show resolved
Hide resolved
* feat: sorted_limbs chip checking each limb less than limb_bits bits * feat: completed sorted_limbs chip with tests * feat: SortedLimbsChip with LessThan subchip * feat: less_than subchip refactored * feat: rename SortedLimbsChip to AssertSortedChip and write LessThanChip tests * chore: change name of assert sorted chip * chore: fix names in tests for AssertSortedChip * chore: address comments * chore: cleanup * chore: change MAX from generic to instance field for LessThanChip and AssertSortedChip * feat: IsLessThanChip to compare two numbers * feat: IsLessThanTuple subchip for different limb_bits * feat: IsLessThanTupleChip subchip in AssertSortedChip * chore: address comments first pass * chore: refactor AssertSorted, IsEqual, IsLessThan, and IsLessThanTuple chips * chore: address comments * chore: eliminate high dim poly from IsLessThanTupleChip * chore: fix tests * chore: address comments for AssertSortedChip * chore: cleanup AssertSorted * chore: cleanup * chore: include roundtrip flatten and from_slice tests * feat: flatten and from_slice for IO and Aux columns * create files * chore: begin PageIndexScanChip * feat: prototype * feat: rename Chip to AirBridge * feat: single page index scan chip for less than predicate * feat: partitioned main * chore: cleanup index scan for less than predicate * feat: x as public value * feat: page index scan with comparator enum * feat: page index scan for greater than predicate * feat: page index scan for equal to predicates * feat: page index scan for less than or equal to predicate * feat: page index scan for greater than or equal to predicate * chore: cleanup some branches * chore: refactor code to reduce repetition * chore: cleanup PageIndexScanInputChip * chore: fix test * merge IsEqualVec columns * remove range_max from PageIndexScan chips * chore: address comments * feat: use FinalPage * chore: refactor index_scan_test * chore: address comments
single page index scan for predicates of the form index OP x, where OP is one of <, <=, =, >=, > and x is a private input