#[cfg(feature = "component-model")]
mod component;
mod core;
macro_rules! unwrap_val {
($val:expr, $case:path, $name:expr) => {
match $val {
$case(v) => v,
_ => panic!("called unwrap_{name} on non-{name} value", name = $name),
}
};
}
macro_rules! unwrap_2val {
($val:expr, $case:path, $name:expr) => {
match $val {
$case(n, v) => (n, v),
_ => panic!("called unwrap_{name} on non-{name} value", name = $name),
}
};
}
pub(crate) use unwrap_2val;
pub(crate) use unwrap_val;
#[inline]
pub(crate) fn canonicalize_nan32(val: f32) -> f32 {
if val.is_nan() { f32::NAN } else { val }
}
#[inline]
pub(crate) fn canonicalize_nan64(val: f64) -> f64 {
if val.is_nan() { f64::NAN } else { val }
}