Skip to main content

deep_causality_num/identity/
one_impl.rs

1/*
2 * SPDX-License-Identifier: MIT
3 * Copyright (c) 2023 - 2026. The DeepCausality Authors and Contributors. All Rights Reserved.
4 */
5
6use crate::{ConstOne, One};
7
8impl One for usize {
9    #[inline]
10    fn one() -> usize {
11        1
12    }
13    #[inline]
14    fn is_one(&self) -> bool {
15        *self == 1
16    }
17}
18impl ConstOne for usize {
19    const ONE: Self = 1;
20}
21
22impl One for u8 {
23    #[inline]
24    fn one() -> u8 {
25        1
26    }
27    #[inline]
28    fn is_one(&self) -> bool {
29        *self == 1
30    }
31}
32impl ConstOne for u8 {
33    const ONE: Self = 1;
34}
35
36impl One for u16 {
37    #[inline]
38    fn one() -> u16 {
39        1
40    }
41    #[inline]
42    fn is_one(&self) -> bool {
43        *self == 1
44    }
45}
46impl ConstOne for u16 {
47    const ONE: Self = 1;
48}
49
50impl One for u32 {
51    #[inline]
52    fn one() -> u32 {
53        1
54    }
55    #[inline]
56    fn is_one(&self) -> bool {
57        *self == 1
58    }
59}
60impl ConstOne for u32 {
61    const ONE: Self = 1;
62}
63
64impl One for u64 {
65    #[inline]
66    fn one() -> u64 {
67        1
68    }
69    #[inline]
70    fn is_one(&self) -> bool {
71        *self == 1
72    }
73}
74impl ConstOne for u64 {
75    const ONE: Self = 1;
76}
77
78impl One for u128 {
79    #[inline]
80    fn one() -> u128 {
81        1
82    }
83    #[inline]
84    fn is_one(&self) -> bool {
85        *self == 1
86    }
87}
88impl ConstOne for u128 {
89    const ONE: Self = 1;
90}
91
92impl One for isize {
93    #[inline]
94    fn one() -> isize {
95        1
96    }
97    #[inline]
98    fn is_one(&self) -> bool {
99        *self == 1
100    }
101}
102impl ConstOne for isize {
103    const ONE: Self = 1;
104}
105
106impl One for i8 {
107    #[inline]
108    fn one() -> i8 {
109        1
110    }
111    #[inline]
112    fn is_one(&self) -> bool {
113        *self == 1
114    }
115}
116impl ConstOne for i8 {
117    const ONE: Self = 1;
118}
119
120impl One for i16 {
121    #[inline]
122    fn one() -> i16 {
123        1
124    }
125    #[inline]
126    fn is_one(&self) -> bool {
127        *self == 1
128    }
129}
130impl ConstOne for i16 {
131    const ONE: Self = 1;
132}
133
134impl One for i32 {
135    #[inline]
136    fn one() -> i32 {
137        1
138    }
139    #[inline]
140    fn is_one(&self) -> bool {
141        *self == 1
142    }
143}
144impl ConstOne for i32 {
145    const ONE: Self = 1;
146}
147
148impl One for i64 {
149    #[inline]
150    fn one() -> i64 {
151        1
152    }
153    #[inline]
154    fn is_one(&self) -> bool {
155        *self == 1
156    }
157}
158impl ConstOne for i64 {
159    const ONE: Self = 1;
160}
161
162impl One for i128 {
163    #[inline]
164    fn one() -> i128 {
165        1
166    }
167    #[inline]
168    fn is_one(&self) -> bool {
169        *self == 1
170    }
171}
172impl ConstOne for i128 {
173    const ONE: Self = 1;
174}
175
176impl One for f32 {
177    #[inline]
178    fn one() -> f32 {
179        1.0
180    }
181    #[inline]
182    fn is_one(&self) -> bool {
183        *self == 1.0
184    }
185}
186impl ConstOne for f32 {
187    const ONE: Self = 1.0;
188}
189
190impl One for f64 {
191    #[inline]
192    fn one() -> f64 {
193        1.0
194    }
195    #[inline]
196    fn is_one(&self) -> bool {
197        *self == 1.0
198    }
199}
200impl ConstOne for f64 {
201    const ONE: Self = 1.0;
202}