-
Notifications
You must be signed in to change notification settings - Fork 64
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
Hybrid method for random access/conditional selection from 2^k values #119
Open
mmagician
wants to merge
28
commits into
master
Choose a base branch
from
hybrid-method
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 18 commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
39c111e
merge_imports rustfmt option is deprecated
mmagician e5291a0
fmt
mmagician c0e6ca2
Add an extra test for conditionally selecting an FpVar
mmagician 6c93fb6
move the Repeated Selection method logic to its own fn
mmagician 3e817f2
start the implementation of SumOfConditions method
mmagician e7db1c0
update trait doc: we allow for selecting between many values, not just 2
mmagician e60df9d
Implement sum of conditions helper method
mmagician d9dd651
override `condionally_select_power_of_two_vector` for `FpVar`
mmagician f5617fa
make `count_ones` a local function inside `sum_of_conditions`
mmagician 80dfddf
Make `conditionally_select_power_of_two_vector` generic
mmagician aff5fe0
replace usage of `FpVar<F>` with `Self` in FpVar's `allocate_vars` fn
mmagician bd5eb43
replace unwraps with error propagation
mmagician 0952ab0
place the bulk of the `allocat_vars` logic in a standalone generic fn
mmagician 995463f
temp: add bench for cond_select for FpVar
mmagician db7b97d
format links
mmagician f7e8abc
simplify `add_lc` for `FpVar`
mmagician d5f3a34
rename fn to `allocate_with_value`
mmagician 6939d3f
remove dead code
mmagician 1ea679d
combine type-specific logic from two new trait methods into one
mmagician 760b045
Add some initial docs for hybrid selection method
mmagician 3ca576b
implement hybrid selection for `AllocatedBool` and `Boolean`
mmagician b5f88b8
implement `hybrid_selection` for `AllocatedFp`
mmagician 777da9c
Implement hybrid selection for ProjectiveVar for SW
mmagician 6c4e56f
Refactor: inline `hybrid_selection` into `conditionally_select._power…
mmagician 74ce483
update the docs for the default and implementors of improved method
mmagician f165d68
Add bench macro to encompass both Boolean and FpVar select methods
mmagician 2f79c48
Add further support for ProjectiveVar
mmagician 7ce86de
Merge branch 'master' into hybrid-method
mmagician File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
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.
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'm not sure what this method will look like for ECVar points.