shiny_configuration/value/
number.rs1#[derive(Debug, Clone, Copy)]
2pub enum Number {
3 Integer(i64),
4 UInteger(u64),
5 Float(f64),
6}
7
8impl PartialEq for Number {
9 fn eq(&self, other: &Self) -> bool {
10 match (self, other) {
11 (Number::Integer(v1), Number::Integer(v2)) => v1 == v2,
12 (Number::UInteger(v1), Number::UInteger(v2)) => v1 == v2,
13 (Number::Float(v1), Number::Float(v2)) => v1 == v2,
14 _ => false,
15 }
16 }
17}
18
19impl From<u8> for Number {
20 fn from(value: u8) -> Self {
21 Number::UInteger(value as u64)
22 }
23}
24
25impl From<u16> for Number {
26 fn from(value: u16) -> Self {
27 Number::UInteger(value as u64)
28 }
29}
30
31impl From<u32> for Number {
32 fn from(value: u32) -> Self {
33 Number::UInteger(value as u64)
34 }
35}
36
37impl From<u64> for Number {
38 fn from(value: u64) -> Self {
39 Number::UInteger(value)
40 }
41}
42
43impl From<i8> for Number {
44 fn from(value: i8) -> Self {
45 Number::Integer(value as i64)
46 }
47}
48
49impl From<i16> for Number {
50 fn from(value: i16) -> Self {
51 Number::Integer(value as i64)
52 }
53}
54
55impl From<i32> for Number {
56 fn from(value: i32) -> Self {
57 Number::Integer(value as i64)
58 }
59}
60
61impl From<i64> for Number {
62 fn from(value: i64) -> Self {
63 Number::Integer(value)
64 }
65}
66
67impl From<f32> for Number {
68 fn from(value: f32) -> Self {
69 Number::Float(value as f64)
70 }
71}
72
73impl From<f64> for Number {
74 fn from(value: f64) -> Self {
75 Number::Float(value)
76 }
77}