cp_library_rs/utils/
consts.rs1pub const NEG1: usize = 1_usize.wrapping_neg();
5
6pub trait Infinity {
8 fn infinity() -> Self;
9}
10
11macro_rules! impl_infinity {
12 ($t:ty, $v:expr) => {
13 impl Infinity for $t {
14 fn infinity() -> $t {
15 $v
16 }
17 }
18 };
19}
20
21impl_infinity!(usize, 1001001001001001001);
22impl_infinity!(isize, 1001001001001001001);
23impl_infinity!(u64, 1001001001001001001);
24impl_infinity!(i64, 1001001001001001001);
25impl_infinity!(u32, 1001001001);
26impl_infinity!(i32, 1001001001);
27impl_infinity!(f64, 1e20);