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}