use decimal_scaled::D38s12;
#[cfg(feature = "std")]
#[test]
fn d38_fast_surface_callable_in_any_mode() {
let x = D38s12::from_int(2);
let _ = x.ln_fast();
let _ = x.log2_fast();
let _ = x.log10_fast();
let _ = x.log_fast(D38s12::from_int(10));
let _ = x.exp_fast();
let _ = x.exp2_fast();
let _ = x.sqrt_fast();
let _ = x.cbrt_fast();
let _ = x.powf_fast(D38s12::from_bits(500_000_000_000));
let _ = x.hypot_fast(D38s12::from_int(3));
let _ = x.sin_fast();
let _ = x.cos_fast();
let _ = x.tan_fast();
let _ = D38s12::from_bits(500_000_000_000).asin_fast();
let _ = D38s12::from_bits(500_000_000_000).acos_fast();
let _ = x.atan_fast();
let _ = x.atan2_fast(D38s12::ONE);
let _ = x.sinh_fast();
let _ = x.cosh_fast();
let _ = x.tanh_fast();
let _ = x.asinh_fast();
let _ = x.acosh_fast();
let _ = D38s12::from_bits(500_000_000_000).atanh_fast();
let _ = x.to_degrees_fast();
let _ = x.to_radians_fast();
}
#[test]
fn d38_strict_surface_callable_in_any_mode() {
let x = D38s12::from_int(2);
let _ = x.ln_strict();
let _ = x.log2_strict();
let _ = x.log10_strict();
let _ = x.log_strict(D38s12::from_int(10));
let _ = x.exp_strict();
let _ = x.exp2_strict();
let _ = x.sqrt_strict();
let _ = x.cbrt_strict();
let _ = x.powf_strict(D38s12::from_bits(500_000_000_000));
let _ = x.sin_strict();
let _ = x.cos_strict();
let _ = x.tan_strict();
let _ = D38s12::from_bits(500_000_000_000).asin_strict();
let _ = D38s12::from_bits(500_000_000_000).acos_strict();
let _ = x.atan_strict();
let _ = x.atan2_strict(D38s12::ONE);
let _ = x.sinh_strict();
let _ = x.cosh_strict();
let _ = x.tanh_strict();
let _ = x.asinh_strict();
let _ = x.acosh_strict();
let _ = D38s12::from_bits(500_000_000_000).atanh_strict();
let _ = x.to_degrees_strict();
let _ = x.to_radians_strict();
}
#[cfg(feature = "wide")]
#[cfg(feature = "std")]
#[test]
fn wide_fast_surface_callable() {
use decimal_scaled::D76;
type W = D76<12>;
let x: W = D38s12::from_int(2).into();
let _ = x.ln_fast();
let _ = x.exp_fast();
let _ = x.sqrt_fast();
let _ = x.sin_fast();
let _ = x.atan2_fast(x);
}
#[cfg(feature = "wide")]
#[test]
fn wide_strict_surface_callable() {
use decimal_scaled::D76;
type W = D76<12>;
let x: W = D38s12::from_int(2).into();
let _ = x.ln_strict();
let _ = x.exp_strict();
let _ = x.sqrt_strict();
let _ = x.sin_strict();
let _ = x.atan2_strict(x);
}
#[test]
fn narrow_strict_surface_callable() {
use decimal_scaled::{D9, D18};
type D9_4 = D9<4>;
type D18_8 = D18<8>;
let x9 = D9_4::from_int(2);
let _ = x9.ln_strict();
let _ = x9.sin_strict();
let _ = x9.sqrt_strict();
let _ = x9.exp_strict();
let x18 = D18_8::from_int(2);
let _ = x18.ln_strict();
let _ = x18.sin_strict();
let _ = x18.sqrt_strict();
let _ = x18.exp_strict();
}
#[cfg(feature = "std")]
#[test]
fn narrow_fast_surface_callable() {
use decimal_scaled::{D9, D18};
type D9_4 = D9<4>;
type D18_8 = D18<8>;
let x9 = D9_4::from_int(2);
let _ = x9.ln_fast();
let _ = x9.sin_fast();
let _ = x9.sqrt_fast();
let _ = x9.exp_fast();
let x18 = D18_8::from_int(2);
let _ = x18.ln_fast();
let _ = x18.sin_fast();
let _ = x18.sqrt_fast();
let _ = x18.exp_fast();
}