scalar/
ident.rs

1pub trait Zero {
2  fn zero() -> Self;
3}
4
5pub trait One {
6  fn one() -> Self;
7}
8
9impl Zero for f32 {
10  fn zero() -> Self {
11    0.0f32
12  }
13}
14
15impl One for f32 {
16  fn one() -> Self {
17    1.0f32
18  }
19}
20
21impl Zero for f64 {
22  fn zero() -> Self {
23    0.0f64
24  }
25}
26
27impl One for f64 {
28  fn one() -> Self {
29    1.0f64
30  }
31}
32
33impl Zero for i8 {
34  fn zero() -> Self {
35    0i8
36  }
37}
38
39impl One for i8 {
40  fn one() -> Self {
41    1i8
42  }
43}
44
45impl Zero for i16 {
46  fn zero() -> Self {
47    0i16
48  }
49}
50
51impl One for i16 {
52  fn one() -> Self {
53    1i16
54  }
55}
56
57impl Zero for i32 {
58  fn zero() -> Self {
59    0i32
60  }
61}
62
63impl One for i32 {
64  fn one() -> Self {
65    1i32
66  }
67}
68
69impl Zero for i64 {
70  fn zero() -> Self {
71    0i64
72  }
73}
74
75impl One for i64 {
76  fn one() -> Self {
77    1i64
78  }
79}
80
81impl Zero for u8 {
82  fn zero() -> Self {
83    0u8
84  }
85}
86
87impl One for u8 {
88  fn one() -> Self {
89    1u8
90  }
91}
92
93impl Zero for u16 {
94  fn zero() -> Self {
95    0u16
96  }
97}
98
99impl One for u16 {
100  fn one() -> Self {
101    1u16
102  }
103}
104
105impl Zero for u32 {
106  fn zero() -> Self {
107    0u32
108  }
109}
110
111impl One for u32 {
112  fn one() -> Self {
113    1u32
114  }
115}
116
117impl Zero for u64 {
118  fn zero() -> Self {
119    0u64
120  }
121}
122
123impl One for u64 {
124  fn one() -> Self {
125    1u64
126  }
127}