rust-lang / rust-lang/portable-simd
Impl special functions for SIMD
Open
Nobody has claimed this yet.
A-floating-point
C-feature-request
- Dominant language
- Rust
- Stars
- 1.1k
- Forks
- 108
- Avg merge
- 22h 53m
- Merged PRs (30d)
- 3
Description
Need all of:
- div_euclid/rem_euclid
- clamp
- max/min
- rotate_left/rotate_right
- swap_bytes/reverse_bits
- saturating_add/saturating_sub
- saturating_neg/saturating_abs
- saturating_mul
-
wrapping_add/wrapping_sub/wrapping_mul/wrapping_pow -
wrapping_div/wrapping_rem/wrapping_div_euclid/wrapping_rem_euclid -
wrapping_neg/wrapping_abs - overflowing_add/overflowing_sub
- overflowing_mul
- overflowing_div/overflowing_div_euclid
- overflowing_rem/overflowing_rem_euclid
- overflowing_neg/overflowing_abs
- overflowing_shl/overflowing_shr
- from_be/from_le/to_be/to_le
- to_be_bytes/to_le_bytes/from_be_bytes/from_le_bytes
- {to,from}_ne_bytes
for integers:
- leading_zeros/trailing_zeros
- leading_ones/trailing_ones
- count_ones/count_zeros
-
pow -
overflowing_pow -
saturating_pow -
wrapping_shl/wrapping_shr
for floats:
- trig./hyperbolic functions: #6
- recip
- mul_add
- powi/powf
- to_int_unchecked
- to_degrees/to_radians
- sqrt
- cbrt
- hypot
- exp/exp2/ln/log/log2/log10
- exp_m1/ln_1p
for signed integers and floats:
- abs
- signum
- copysign
- is_positive/is_negative
See also #109
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the unchecked functions in this issue, grouping them by integer, signed-integer, and floating-point support. Check the related issues #6 and #109 before starting, then confirm the remaining functions are implemented and covered consistently with the already checked-off entries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100