#[cfg(table_format = "q32_32")]
mod trace {
use g_math::fixed_point::canonical::{gmath, evaluate};
#[test]
fn trace_sqrt_input_path() {
let sqrt3_int = evaluate(&gmath("3").sqrt()).unwrap();
let raw_int = sqrt3_int.as_binary_storage().unwrap();
let expected: i64 = 7439101574; println!("sqrt(3) [integer parse] raw={} expected={} ULP={}",
raw_int, expected, (raw_int as i64 - expected).abs());
let sqrt3_dec = evaluate(&gmath("3.0").sqrt()).unwrap();
let raw_dec = sqrt3_dec.as_binary_storage().unwrap();
println!("sqrt(3.0) [decimal parse] raw={} expected={} ULP={}",
raw_dec, expected, (raw_dec as i64 - expected).abs());
let three_dec = evaluate(&gmath("3.0")).unwrap();
let three_int = evaluate(&gmath("3")).unwrap();
println!("3.0 raw: {:?}", three_dec.as_binary_storage());
println!("3 raw: {:?}", three_int.as_binary_storage());
println!("3.0 tier: {}", three_dec.tier());
println!("3 tier: {}", three_int.tier());
}
}