Yang Hau
e3ef226f7b
Fix the typo
2023-01-23 11:00:35 +07:00
Caleb Zulawski
4491309cb0
Mark more mask functions inline
2022-10-16 13:31:42 -04:00
Caleb Zulawski
05c92c73c1
Document remaining internal unsafety, and deny undocumented unsafety
2022-05-31 14:44:23 -04:00
Caleb Zulawski
bca8dec404
Remove incorrect comment
2022-05-22 01:20:28 -04:00
Caleb Zulawski
1cee9304b3
Fix generic_const_exprs feature
2022-05-21 20:08:38 -04:00
Caleb Zulawski
b7fea94c96
Generically implement ToBitMaskArray
2022-05-21 20:02:31 -04:00
Ralf Jung
60555b57f1
fix big-endian bitmasks smaller than a byte
2022-03-17 10:42:39 -04:00
Jubilee
30975615b7
rust-lang/portable-simd#250 : Add bitmask i{N <8} -> u8 impls
...
...and copy the notes for why they're legal.
2022-03-01 16:10:49 -08:00
Jubilee
5f49d4c843
rust-lang/portable-simd#239 : Bitmask conversion trait
...
Another approach that fixes rust-lang/portable-simd#223 , as an alternative to rust-lang/portable-simd#238 .
This adds the `ToBitMask` trait, which is implemented on a vector for each bitmask type it supports. This includes all unsigned integers with enough bits to contain it. The byte array variant has been separated out for now into rust-lang/portable-simd#246 and still requires `generic_const_exprs`, but the integer variants no longer require it and can make it to nightly.
2022-02-26 12:56:23 -08:00
Caleb Zulawski
20fa4b7623
Make internal mask implementation safe
2022-02-24 18:04:02 -08:00
Caleb Zulawski
11c3eefa35
Manually implement for supported lanes
2022-02-24 18:03:40 -08:00
Caleb Zulawski
842ac87747
Use bitmask trait
2022-02-24 18:02:39 -08:00
Caleb Zulawski
dddfffcfb3
Add some safety comments
2022-02-09 16:15:01 -08:00
Jubilee Young
533f0fc81a
Use relative intrinsics paths for bitmasks
2021-12-10 22:11:27 -08:00
Jubilee Young
f7b0358573
Sprinkle the crate with #[must_use]
2021-11-14 12:11:35 -08:00
Caleb Zulawski
36e198b97a
Use new bitmask intrinsics with byte arrays
2021-11-13 13:22:06 -08:00
Caleb Zulawski
349a61143c
Delete travis config, move tests to github actions.
2021-11-10 02:18:41 +00:00
Jubilee Young
b506e3e28e
Renovate for Edition 2021
...
In a still-future edition, `unsafe_op_in_unsafe_fn` may error.
Let's get ahead of that.
2021-09-29 14:11:40 -07:00
Jubilee Young
afd7c5a5ee
Make sure MaskElement is in bitmasks.rs
2021-09-27 15:27:34 -07:00
Jubilee Young
b25ed7f86d
Restructure crate as core module
...
Aligns module with rust-lang/library/core, creating an... unusual
architecture that is easier to pull in as a module, as core itself can
have no dependencies (as we haven't built core yet).
2021-09-18 23:26:10 -07:00
Caleb Zulawski
8cf7a62e5d
Fix cargo features for nightly ( #155 )
...
* Fix cargo features for nightly
2021-09-08 17:01:16 -07:00
Caleb Zulawski
4aafd8e779
Rename element type variable
2021-08-16 16:38:30 -04:00
Caleb Zulawski
5ed57b4c85
Remove most usage of type aliases
2021-08-07 19:28:27 +00:00
Caleb Zulawski
de13b20b27
Convert all masks to a single type
2021-08-07 04:30:24 +00:00
Caleb Zulawski
cca9102429
Change bitmasks to use less opaque type
2021-07-29 04:55:28 +00:00
Caleb Zulawski
97c25dd746
Add lane count marker type
2021-07-24 17:37:36 +00:00
Caleb Zulawski
529ffe05d6
Use new module naming
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
15b4e28004
Add from_bitmask ( #136 )
...
* Add from_bitmask
* Add mips workaround
2021-06-21 14:05:43 -07:00
Caleb Zulawski
68393aa594
Add mask width conversion ( #127 )
2021-06-11 15:48:05 -07: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 Young
92d643b628
Remove Simd{U,I}128
2021-04-25 16:45:19 -07:00
Caleb Zulawski
02608d44f7
Fix mask ops
2021-04-09 16:31:03 -04:00
Caleb Zulawski
875b31c33f
Implement reductions
2021-04-09 16:31:03 -04:00
Caleb Zulawski
e6a530907a
Reduce maximum lanes from 64 to 32
2021-04-03 14:43:33 -04:00
Caleb Zulawski
07247a001f
Various bug fixes
2021-04-03 13:54:29 -04:00
Caleb Zulawski
93ce1c1a59
Add floating-point classification functions
2021-04-03 13:54:29 -04:00
Caleb Zulawski
6362540f11
Limit all types to 64 lanes
2021-02-09 22:13:27 -05:00
Caleb Zulawski
9e96c8a2a8
Add missing From implementation, add simple mask API tests
2021-02-09 19:14:46 -05:00
Caleb Zulawski
92293aff9d
Add bitmask that supports up to 64 lanes. Simplify mask op API.
2021-02-09 19:14:46 -05:00
Caleb Zulawski
9b8cb18c9f
Remove obsolete files
2020-12-14 00:40:59 -05:00
Caleb Zulawski
62d98e3a11
Remove obsolete macros
2020-12-14 00:34:32 -05:00
Caleb Zulawski
2720ccc5a7
Fix masks
2020-12-14 00:27:20 -05:00
Caleb Zulawski
9cc3deaa92
Finish refactoring vector types
2020-12-14 00:00:02 -05:00
Caleb Zulawski
35b9ab9f5c
Simplify some formatting
2020-12-14 00:00:02 -05:00
Caleb Zulawski
78a8d615b5
Implement missing traits on opaque masks, fix tests
2020-12-14 00:00:02 -05:00
Caleb Zulawski
5bc5d7f0d1
Add comparison ops
2020-12-14 00:00:02 -05:00