runmod/
runvar.rs

1use std::fmt::Display;
2
3#[derive(Clone, Copy, PartialEq, PartialOrd)]
4pub enum RunVar {
5    I8(i8),
6    I16(i16),
7    I32(i32),
8    I64(i64),
9    I128(i128),
10    U8(u8),
11    U16(u16),
12    U32(u32),
13    U64(u64),
14    U128(u128),
15    F32(f32),
16    F64(f64),
17    USIZE(usize),
18    ISIZE(isize)
19}
20
21impl Default for RunVar {
22    fn default() -> Self {
23        Self::I32(0)
24    }
25}
26
27// from RunVar to number
28try_into_impl!(i8, I8);
29try_into_impl!(i16, I16);
30try_into_impl!(i32, I32);
31try_into_impl!(i64, I64);
32try_into_impl!(i128, I128);
33try_into_impl!(isize, ISIZE);
34try_into_impl!(u8, U8);
35try_into_impl!(u16, U16);
36try_into_impl!(u32, U32);
37try_into_impl!(u64, U64);
38try_into_impl!(u128, U128);
39try_into_impl!(usize, USIZE);
40try_into_impl!(f32, F32);
41try_into_impl!(f64, F64);
42
43// from number to RunVar
44// from_impl!(i8, I8);
45// from_impl!(i16, I16);
46// from_impl!(i32, I32);
47// from_impl!(i64, I64);
48// from_impl!(i128, I128);
49// from_impl!(isize, ISIZE);
50// from_impl!(u8, U8);
51// from_impl!(u16, U16);
52// from_impl!(u32, U32);
53// from_impl!(u64, U64);
54// from_impl!(u128, U128);
55// from_impl!(usize, USIZE);
56// from_impl!(f32, F32);
57// from_impl!(f64, F64);
58
59impl Display for RunVar {
60    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
61        match self {
62            Self::I8(x) => write!(f, "{}", x),
63            Self::I16(x) => write!(f, "{}", x),
64            Self::I32(x) => write!(f, "{}", x),
65            Self::I64(x) => write!(f, "{}", x),
66            Self::I128(x) => write!(f, "{}", x),
67            Self::U8(x) => write!(f, "{}", x),
68            Self::U16(x) => write!(f, "{}", x),
69            Self::U32(x) => write!(f, "{}", x),
70            Self::U64(x) => write!(f, "{}", x),
71            Self::U128(x) => write!(f, "{}", x),
72            Self::F32(x) => write!(f, "{}", x),
73            Self::F64(x) => write!(f, "{}", x),
74            Self::USIZE(x) => write!(f, "{}", x),
75            Self::ISIZE(x) => write!(f, "{}", x)
76        }
77    }
78}