Skip to main content

radiate_pgm/
var.rs

1#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
2pub struct VarId(pub u32);
3
4#[derive(Clone, Copy, Debug, PartialEq, Eq)]
5pub struct VarSpec {
6    pub id: VarId,
7    pub card: usize,
8}
9
10impl VarSpec {
11    pub fn new(id: u32, card: usize) -> Self {
12        Self {
13            id: VarId(id),
14            card,
15        }
16    }
17}
18
19impl From<usize> for VarId {
20    fn from(v: usize) -> Self {
21        VarId(v as u32)
22    }
23}
24
25impl From<u32> for VarId {
26    fn from(v: u32) -> Self {
27        VarId(v)
28    }
29}