Caleb Zulawski
fdd7d6e252
Change as_slice to as_array
2021-07-24 17:37:36 +00:00
Caleb Zulawski
f178dda187
Add as_slice/as_mut_slice to Vector
2021-07-24 17:37:36 +00:00
Caleb Zulawski
c077bf3c07
Rename SimdArray to Vector, remove its generic parameter, and remove LanesAtMost32
2021-07-24 17:37:36 +00:00
Caleb Zulawski
732b7edfab
Add fmt and clippy to CI ( #147 )
...
* Add fmt and clippy to CI
* Add rust components
* Fix formatting
2021-07-23 17:43:53 -07:00
Caleb Zulawski
be96995d8d
Add portable_simd unstable feature gate ( #141 )
2021-07-19 16:13:24 -07:00
Caleb Zulawski
3954b27787
Add conversions between vendor intrinsics ( #144 )
...
* Add x86 vendor conversions
* Add wasm32 vendor types
* Add arm vendor types
* Add powerpc vendor types
2021-07-19 15:01:28 -07:00
Adam Greig
871d588ec4
Add 32-bit SIMD types i/u16x2 and i/u8x4. ( #145 )
...
These types are useful for the "SIMD32" instructions available on ARMv6
(except M-class), ARMv7 (M-class with DSP), and ARMv8.
2021-07-19 14:18:29 -07:00
Jubilee
b5ba19577f
Merge pull request #139 from rust-lang/feat/gather
...
Add SimdArray trait and safe gather/scatter API (rust-lang/stdsimd#139 )
This PR has four parts, without which it doesn't make a lot of sense:
- The introduction of the SimdArray trait for abstraction over vectors.
- The implementation of private vector-of-pointers types.
- Using these to allow constructing vectors with SimdArray::gather_{or, or_default, select}.
- Using these to allow writing vectors using SimdArray::scatter{,_select}.
2021-06-23 20:47:51 -07:00
Jubilee
3872723ead
Merge pull request #138 from rust-lang/feature/various-fns
...
Add various fns
- Sum/Product traits
- recip/to_degrees/to_radians/min/max/clamp/signum/copysign; rust-lang/stdsimd#14
- mul_add: rust-lang/stdsimd#14 , fixes rust-lang/stdsimd#102
2021-06-23 14:19:08 -07:00
Jubilee Young
1529ed43d8
Document and test doubled writes in scatter
2021-06-23 12:13:10 -07:00
Jubilee Young
f38659a46c
Add assoc const SimdArray::LANES
2021-06-22 15:28:15 -07:00
Jubilee Young
81ceda8c5b
Add SimdArray::scatter{,_select}
2021-06-21 18:18:50 -07:00
Jubilee Young
128b6f5e22
Add SimdArray::gather_{or,or_default,select}
2021-06-21 18:10:28 -07:00
Jubilee Young
2f99cc80d8
Add pointer vectors: SimdConstPtr, SimdMutPtr
2021-06-21 16:15:19 -07:00
Jubilee Young
16765a1021
Introduce SimdArray trait
...
This provides a general framework for describing relationships
between vector types and scalar types.
2021-06-21 16:15:15 -07:00
Caleb Zulawski
b0a9fe5d07
Extract constant from scalar to_radians as well
2021-06-21 21:11:37 +00:00
Caleb Zulawski
708ae61841
Remove scalar Sum/Product over questionable order of operations
2021-06-21 21:08:26 +00:00
Caleb Zulawski
15b4e28004
Add from_bitmask ( #136 )
...
* Add from_bitmask
* Add mips workaround
2021-06-21 14:05:43 -07:00
Caleb Zulawski
f102de7c8b
Add mul_add
2021-06-13 19:59:17 +00:00
Caleb Zulawski
74e6262ce4
Add min/max/clamp
2021-06-13 19:47:32 +00:00
Caleb Zulawski
b936f34a5c
Add various special functions (recip, signum, copysign)
2021-06-13 18:45:45 +00:00
Caleb Zulawski
96f0f5d29f
Implement Sum/Product over references
2021-06-13 18:00:47 +00:00
Caleb Zulawski
bdcccba55c
Implement Sum/Product traits
2021-06-13 17:52:44 +00:00
Miguel Raz Guzmán Macedo
57e67c905f
add doctests for shuffle ( #130 )
...
* add shuffle doctests/examples
2021-06-11 15:48:44 -07:00
Caleb Zulawski
68393aa594
Add mask width conversion ( #127 )
2021-06-11 15:48:05 -07:00
Caleb Zulawski
992621844f
Remove extended_key_value_attributes feature
2021-05-26 10:27:16 -04:00
Caleb Zulawski
20c3b8e13f
Merge pull request #120 from miguelraz/simd_fsqrt
...
add simd_fsqrt intrinsic
2021-05-24 19:07:12 -04:00
Caleb Zulawski
1c18f8fd59
Add byte conversions
2021-05-24 15:02:45 -07:00
miguel raz
d6795814d4
add simd_fsqrt intrinsic
2021-05-18 10:11:37 -05:00
Caleb Zulawski
45d7e80aa8
Clarify documentation
2021-05-08 00:13:40 +00:00
Caleb Zulawski
0bf5eb5f72
Add select for masks
2021-05-08 00:07:07 +00:00
Caleb Zulawski
563d2a2cfc
Add select function
2021-05-01 15:21:41 +00:00
Caleb Zulawski
589fce0313
Attempt to workaround MIPS bug
2021-04-30 23:22:27 -07:00
Caleb Zulawski
98dad13526
Make implementation more scalable by using a helper trait to determine bitmask size. Improve bitmask to int conversion.
2021-04-30 23:22:27 -07:00
Caleb Zulawski
eec42808aa
Update bitmask API
2021-04-28 21:56:11 +00:00
Caleb Zulawski
da42aa5403
Begin reducing mask API
2021-04-28 21:56:11 +00:00
Jubilee
5751179dc6
Merge pull request #107 from rust-lang/feat/simd-round
...
Add SIMD rounding intrinsics
2021-04-26 09:05:34 -07:00
Jubilee Young
6ea08d8d5f
Add SIMD round, trunc, fract
2021-04-25 18:31:49 -07:00
Jubilee Young
b4fda6ef06
Give rounding intrinsics their own modules
2021-04-25 18:27:03 -07:00
Jubilee Young
92d643b628
Remove Simd{U,I}128
2021-04-25 16:45:19 -07:00
Jubilee Young
f06427f4d6
Move lanes_at_most_64 to _32
2021-04-25 16:42:49 -07:00
Jubilee Young
91134e614e
Branchless abs
2021-04-25 16:42:49 -07:00
Jubilee Young
e8b6bca694
Finish fixing up abs docs
2021-04-25 16:42:49 -07:00
Caleb Zulawski
1f4e902ee7
Fix saturating math docs
2021-04-25 16:42:49 -07:00
Jubilee
24ebae870e
Merge pull request #83 from rust-lang/feature/reductions
...
Add reductions
2021-04-22 16:44:41 -07:00
Caleb Zulawski
04ee107323
Remove wrapping from sum/product fns
2021-04-22 22:41:12 +00:00
Jubilee
2fa62b91c8
Merge pull request #98 from rust-lang/feature/common-shuffles
...
Add some common shuffles
2021-04-20 23:33:01 -07:00
Caleb Zulawski
7028a58294
Attempt to clarify interleave/deinterleave
2021-04-20 01:51:06 +00:00
Caleb Zulawski
828b274ae7
Rename sum, product to horizontal_{sum,product}
2021-04-19 23:41:11 +00:00
Jubilee Young
9acc112090
Use fabs intrinsic
2021-04-19 04:49:04 +00:00