2021-09-08 19:01:16 -05:00
|
|
|
#![feature(portable_simd, generic_const_exprs, adt_const_params)]
|
2021-07-27 23:19:31 -05:00
|
|
|
#![allow(incomplete_features)]
|
2021-09-08 19:01:16 -05:00
|
|
|
#![cfg(feature = "generic_const_exprs")]
|
2021-07-19 18:13:24 -05:00
|
|
|
|
2022-11-27 22:44:20 -06:00
|
|
|
use core_simd::simd::Simd;
|
2021-05-24 07:37:15 -05:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn byte_convert() {
|
2021-08-07 16:06:40 -05:00
|
|
|
let int = Simd::<u32, 2>::from_array([0xdeadbeef, 0x8badf00d]);
|
2023-07-30 14:53:32 -05:00
|
|
|
let ne_bytes = int.to_ne_bytes();
|
|
|
|
let be_bytes = int.to_be_bytes();
|
|
|
|
let le_bytes = int.to_le_bytes();
|
|
|
|
assert_eq!(int[0].to_ne_bytes(), ne_bytes[..4]);
|
|
|
|
assert_eq!(int[1].to_ne_bytes(), ne_bytes[4..]);
|
|
|
|
assert_eq!(int[0].to_be_bytes(), be_bytes[..4]);
|
|
|
|
assert_eq!(int[1].to_be_bytes(), be_bytes[4..]);
|
|
|
|
assert_eq!(int[0].to_le_bytes(), le_bytes[..4]);
|
|
|
|
assert_eq!(int[1].to_le_bytes(), le_bytes[4..]);
|
|
|
|
assert_eq!(Simd::<u32, 2>::from_ne_bytes(ne_bytes), int);
|
|
|
|
assert_eq!(Simd::<u32, 2>::from_be_bytes(be_bytes), int);
|
|
|
|
assert_eq!(Simd::<u32, 2>::from_le_bytes(le_bytes), int);
|
2021-05-24 07:37:15 -05:00
|
|
|
}
|