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

Roadmap to 1.0 #13

Open
7 of 39 tasks
gnzlbg opened this issue Feb 2, 2017 · 1 comment
Open
7 of 39 tasks

Roadmap to 1.0 #13

gnzlbg opened this issue Feb 2, 2017 · 1 comment
Milestone

Comments

@gnzlbg
Copy link
Owner

gnzlbg commented Feb 2, 2017

This is a mind dump of what I'd like to see in for 1.0, API wise, functionality wise, and algorithmic wise.


  • The big goals for 1.0 are:
    • API for Word algorithms.
    • API for SWAR algorithms.
    • API for algorithms on Word slices.
    • i128/u128 support.
    • Support stable Rust.


  • The subword algorithms (SWAR) I would like to see in the library for 1.0 are:
    • broadcast/deposit all: fill every subword with value
    • gather/extract: extract the value of a subword
    • broadcast/deposit: fill subword i with value
    • count_ones/count_zeros/ leading ones/ leading zeros / trailing ones / trailing zeros in subword i
    • does one subword contain the value zero ?
    • parity of the subword i
    • binary operations for the i-th subword values (and for all values) of the words x and y, with/without wrapping/saturation, signed/unsigned, etc: : : add/sub/mul/div/mod ...
    • unary operations for the i-th subword values (and for all values) of the word x: neg, increment, decrement, abs, ..
    • logical operations for the i-th subword values (and for all values) of the words x and y: eq, neq, leq,geq, le, ge,
    • bitwise operations for the i-th subword values (and for all values) of the word x: shifts, and/or/xor/rotation...
    • "horizontal" binary operations (for adjacent subwords in a word): add/sub/mul/...

  • The word slices algorithms I would like to see in the library for 1.0 are:
    • count non-zero/zero bytes (use the byteorder crate for this?)
    • bit matrices: inversion, transposition
@gnzlbg gnzlbg added this to the 1.0 milestone Feb 2, 2017
@gnzlbg gnzlbg changed the title Algorithm roadmap Roadmap to 1.0 Feb 22, 2017
@MathGeniusJodie
Copy link

a "clear leading one" would be nice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants