1 //! Integration with wasm-wave: string representations of values and types
2 
3 #[cfg(feature = "component-model")]
4 mod component;
5 mod core;
6 
7 macro_rules! unwrap_val {
8     ($val:expr, $case:path, $name:expr) => {
9         match $val {
10             $case(v) => v,
11             _ => panic!("called unwrap_{name} on non-{name} value", name = $name),
12         }
13     };
14 }
15 macro_rules! unwrap_2val {
16     ($val:expr, $case:path, $name:expr) => {
17         match $val {
18             $case(n, v) => (n, v),
19             _ => panic!("called unwrap_{name} on non-{name} value", name = $name),
20         }
21     };
22 }
23 pub(crate) use unwrap_2val;
24 pub(crate) use unwrap_val;
25 
26 #[inline]
canonicalize_nan32(val: f32) -> f3227 pub(crate) fn canonicalize_nan32(val: f32) -> f32 {
28     if val.is_nan() { f32::NAN } else { val }
29 }
30 
31 #[inline]
canonicalize_nan64(val: f64) -> f6432 pub(crate) fn canonicalize_nan64(val: f64) -> f64 {
33     if val.is_nan() { f64::NAN } else { val }
34 }
35