#![cfg(test)]
use polylane::convert::simd_scalar_cast;
#[expect(clippy::cast_lossless)]
#[expect(clippy::float_cmp)]
#[expect(clippy::unnecessary_cast)]
#[test]
fn test_simd_scalar_cast() {
assert_eq!(simd_scalar_cast::<u8, u8>(69u8), 69u8 as u8);
assert_eq!(simd_scalar_cast::<u8, i8>(69u8), 69u8 as i8);
assert_eq!(simd_scalar_cast::<u8, u16>(69u8), 69u8 as u16);
assert_eq!(simd_scalar_cast::<u8, i16>(69u8), 69u8 as i16);
assert_eq!(simd_scalar_cast::<u8, u32>(69u8), 69u8 as u32);
assert_eq!(simd_scalar_cast::<u8, i32>(69u8), 69u8 as i32);
assert_eq!(simd_scalar_cast::<u8, u64>(69u8), 69u8 as u64);
assert_eq!(simd_scalar_cast::<u8, i64>(69u8), 69u8 as i64);
assert_eq!(simd_scalar_cast::<u8, u128>(69u8), 69u8 as u128);
assert_eq!(simd_scalar_cast::<u8, i128>(69u8), 69u8 as i128);
assert_eq!(simd_scalar_cast::<u8, usize>(69u8), 69u8 as usize);
assert_eq!(simd_scalar_cast::<u8, isize>(69u8), 69u8 as isize);
assert_eq!(simd_scalar_cast::<u8, f32>(69u8), 69u8 as f32);
assert_eq!(simd_scalar_cast::<u8, f64>(69u8), 69u8 as f64);
assert_eq!(simd_scalar_cast::<i128, u8>(-420i128), -420i128 as u8);
assert_eq!(simd_scalar_cast::<i128, i8>(-420i128), -420i128 as i8);
assert_eq!(simd_scalar_cast::<i128, u16>(-420i128), -420i128 as u16);
assert_eq!(simd_scalar_cast::<i128, i16>(-420i128), -420i128 as i16);
assert_eq!(simd_scalar_cast::<i128, u32>(-420i128), -420i128 as u32);
assert_eq!(simd_scalar_cast::<i128, i32>(-420i128), -420i128 as i32);
assert_eq!(simd_scalar_cast::<i128, u64>(-420i128), -420i128 as u64);
assert_eq!(simd_scalar_cast::<i128, i64>(-420i128), -420i128 as i64);
assert_eq!(simd_scalar_cast::<i128, u128>(-420i128), -420i128 as u128);
assert_eq!(simd_scalar_cast::<i128, i128>(-420i128), -420i128 as i128);
assert_eq!(simd_scalar_cast::<i128, usize>(-420i128), -420i128 as usize);
assert_eq!(simd_scalar_cast::<i128, isize>(-420i128), -420i128 as isize);
assert_eq!(simd_scalar_cast::<i128, f32>(-420i128), -420i128 as f32);
assert_eq!(simd_scalar_cast::<i128, f64>(-420i128), -420i128 as f64);
assert_eq!(simd_scalar_cast::<f64, u8>(-69.420f64), -69.420f64 as u8);
assert_eq!(simd_scalar_cast::<f64, i8>(-69.420f64), -69.420f64 as i8);
assert_eq!(simd_scalar_cast::<f64, u16>(-69.420f64), -69.420f64 as u16);
assert_eq!(simd_scalar_cast::<f64, i16>(-69.420f64), -69.420f64 as i16);
assert_eq!(simd_scalar_cast::<f64, u32>(-69.420f64), -69.420f64 as u32);
assert_eq!(simd_scalar_cast::<f64, i32>(-69.420f64), -69.420f64 as i32);
assert_eq!(simd_scalar_cast::<f64, u64>(-69.420f64), -69.420f64 as u64);
assert_eq!(simd_scalar_cast::<f64, i64>(-69.420f64), -69.420f64 as i64);
assert_eq!(simd_scalar_cast::<f64, u128>(-69.420f64), -69.420f64 as u128);
assert_eq!(simd_scalar_cast::<f64, i128>(-69.420f64), -69.420f64 as i128);
assert_eq!(simd_scalar_cast::<f64, usize>(-69.420f64), -69.420f64 as usize);
assert_eq!(simd_scalar_cast::<f64, isize>(-69.420f64), -69.420f64 as isize);
assert_eq!(simd_scalar_cast::<f64, f32>(-69.420f64), -69.420f64 as f32);
assert_eq!(simd_scalar_cast::<f64, f64>(-69.420f64), -69.420f64 as f64);
}