1#[easy_ext::ext(Float32Ext)]
2pub impl f32 {
3 fn _trunc(&self) -> usize {
5 self.trunc() as usize
6 }
7
8 fn _round(&self) -> usize {
10 self.round() as usize
11 }
12}
13
14#[easy_ext::ext(UsizeExt)]
15pub impl usize {
16 fn ssub(&mut self, rhs: usize) -> bool {
18 let worked = *self != 0;
19 *self = self.saturating_sub(rhs);
20 worked
21 }
22
23 fn wsub(&mut self, rhs: usize, cap: usize) -> bool {
25 let worked = *self <= rhs;
26 *self = (cap + *self + cap - (rhs % cap)) % cap;
27 worked
28 }
29}