float tests

This commit is contained in:
Quaternions 2024-09-17 14:47:18 -07:00
parent 031cd6e771
commit 865d7a7886

View File

@ -4,13 +4,43 @@ use crate::types::I256F256;
#[test] #[test]
fn you_can_add_numbers(){ fn you_can_add_numbers(){
let a=I256F256::from((3i128*2).pow(4)); let a=I256F256::from((3i128*2).pow(4));
assert_eq!(a+a,I256F256::from((3i128*2).pow(4)*2)) assert_eq!(a+a,I256F256::from((3i128*2).pow(4)*2));
}
#[test]
fn to_f32(){
let a=I256F256::from(1)>>2;
let f:f32=a.into();
assert_eq!(f,0.25f32);
let f:f32=(-a).into();
assert_eq!(f,-0.25f32);
let a=I256F256::from(0);
let f:f32=(-a).into();
assert_eq!(f,0f32);
let a=I256F256::from(237946589723468975i64)<<32;
let f:f32=a.into();
assert_eq!(f,237946589723468975f32*2.0f32.powi(32));
}
#[test]
fn to_f64(){
let a=I256F256::from(1)>>2;
let f:f64=a.into();
assert_eq!(f,0.25f64);
let f:f64=(-a).into();
assert_eq!(f,-0.25f64);
let a=I256F256::from(0);
let f:f64=(-a).into();
assert_eq!(f,0f64);
let a=I256F256::from(237946589723468975i64)<<32;
let f:f64=a.into();
assert_eq!(f,237946589723468975f64*2.0f64.powi(32));
} }
#[test] #[test]
fn you_can_shr_numbers(){ fn you_can_shr_numbers(){
let a=I32F32::from(4); let a=I32F32::from(4);
assert_eq!(a>>1,I32F32::from(2)) assert_eq!(a>>1,I32F32::from(2));
} }
#[test] #[test]