use core::num::NonZero;
use crate::*;
pub type NonZeroU1 = RangedNonZeroU8<1, { u8_two_pow(1) - 1 }>;
pub type NonZeroU2 = RangedNonZeroU8<1, { u8_two_pow(2) - 1 }>;
pub type NonZeroU3 = RangedNonZeroU8<1, { u8_two_pow(3) - 1 }>;
pub type NonZeroU4 = RangedNonZeroU8<1, { u8_two_pow(4) - 1 }>;
pub type NonZeroU5 = RangedNonZeroU8<1, { u8_two_pow(5) - 1 }>;
pub type NonZeroU6 = RangedNonZeroU8<1, { u8_two_pow(6) - 1 }>;
pub type NonZeroU7 = RangedNonZeroU8<1, { u8_two_pow(7) - 1 }>;
pub type NonZeroU8 = RangedNonZeroU8<1, { u8::MAX }>;
pub type NonZeroU9 = RangedNonZeroU16<1, { u16_two_pow(9) - 1 }>;
pub type NonZeroU10 = RangedNonZeroU16<1, { u16_two_pow(10) - 1 }>;
pub type NonZeroU11 = RangedNonZeroU16<1, { u16_two_pow(11) - 1 }>;
pub type NonZeroU12 = RangedNonZeroU16<1, { u16_two_pow(12) - 1 }>;
pub type NonZeroU13 = RangedNonZeroU16<1, { u16_two_pow(13) - 1 }>;
pub type NonZeroU14 = RangedNonZeroU16<1, { u16_two_pow(14) - 1 }>;
pub type NonZeroU15 = RangedNonZeroU16<1, { u16_two_pow(15) - 1 }>;
pub type NonZeroU16 = RangedNonZeroU16<1, { u16::MAX }>;
pub type NonZeroU17 = RangedNonZeroU32<1, { u32_two_pow(17) - 1 }>;
pub type NonZeroU18 = RangedNonZeroU32<1, { u32_two_pow(18) - 1 }>;
pub type NonZeroU19 = RangedNonZeroU32<1, { u32_two_pow(19) - 1 }>;
pub type NonZeroU20 = RangedNonZeroU32<1, { u32_two_pow(20) - 1 }>;
pub type NonZeroU21 = RangedNonZeroU32<1, { u32_two_pow(21) - 1 }>;
pub type NonZeroU22 = RangedNonZeroU32<1, { u32_two_pow(22) - 1 }>;
pub type NonZeroU23 = RangedNonZeroU32<1, { u32_two_pow(23) - 1 }>;
pub type NonZeroU24 = RangedNonZeroU32<1, { u32_two_pow(24) - 1 }>;
pub type NonZeroU25 = RangedNonZeroU32<1, { u32_two_pow(25) - 1 }>;
pub type NonZeroU26 = RangedNonZeroU32<1, { u32_two_pow(26) - 1 }>;
pub type NonZeroU27 = RangedNonZeroU32<1, { u32_two_pow(27) - 1 }>;
pub type NonZeroU28 = RangedNonZeroU32<1, { u32_two_pow(28) - 1 }>;
pub type NonZeroU29 = RangedNonZeroU32<1, { u32_two_pow(29) - 1 }>;
pub type NonZeroU30 = RangedNonZeroU32<1, { u32_two_pow(30) - 1 }>;
pub type NonZeroU31 = RangedNonZeroU32<1, { u32_two_pow(31) - 1 }>;
pub type NonZeroU32 = RangedNonZeroU32<1, { u32::MAX }>;
pub type NonZeroU33 = RangedNonZeroU64<1, { u64_two_pow(33) - 1 }>;
pub type NonZeroU34 = RangedNonZeroU64<1, { u64_two_pow(34) - 1 }>;
pub type NonZeroU35 = RangedNonZeroU64<1, { u64_two_pow(35) - 1 }>;
pub type NonZeroU36 = RangedNonZeroU64<1, { u64_two_pow(36) - 1 }>;
pub type NonZeroU37 = RangedNonZeroU64<1, { u64_two_pow(37) - 1 }>;
pub type NonZeroU38 = RangedNonZeroU64<1, { u64_two_pow(38) - 1 }>;
pub type NonZeroU39 = RangedNonZeroU64<1, { u64_two_pow(39) - 1 }>;
pub type NonZeroU40 = RangedNonZeroU64<1, { u64_two_pow(40) - 1 }>;
pub type NonZeroU41 = RangedNonZeroU64<1, { u64_two_pow(41) - 1 }>;
pub type NonZeroU42 = RangedNonZeroU64<1, { u64_two_pow(42) - 1 }>;
pub type NonZeroU43 = RangedNonZeroU64<1, { u64_two_pow(43) - 1 }>;
pub type NonZeroU44 = RangedNonZeroU64<1, { u64_two_pow(44) - 1 }>;
pub type NonZeroU45 = RangedNonZeroU64<1, { u64_two_pow(45) - 1 }>;
pub type NonZeroU46 = RangedNonZeroU64<1, { u64_two_pow(46) - 1 }>;
pub type NonZeroU47 = RangedNonZeroU64<1, { u64_two_pow(47) - 1 }>;
pub type NonZeroU48 = RangedNonZeroU64<1, { u64_two_pow(48) - 1 }>;
pub type NonZeroU49 = RangedNonZeroU64<1, { u64_two_pow(49) - 1 }>;
pub type NonZeroU50 = RangedNonZeroU64<1, { u64_two_pow(50) - 1 }>;
pub type NonZeroU51 = RangedNonZeroU64<1, { u64_two_pow(51) - 1 }>;
pub type NonZeroU52 = RangedNonZeroU64<1, { u64_two_pow(52) - 1 }>;
pub type NonZeroU53 = RangedNonZeroU64<1, { u64_two_pow(53) - 1 }>;
pub type NonZeroU54 = RangedNonZeroU64<1, { u64_two_pow(54) - 1 }>;
pub type NonZeroU55 = RangedNonZeroU64<1, { u64_two_pow(55) - 1 }>;
pub type NonZeroU56 = RangedNonZeroU64<1, { u64_two_pow(56) - 1 }>;
pub type NonZeroU57 = RangedNonZeroU64<1, { u64_two_pow(57) - 1 }>;
pub type NonZeroU58 = RangedNonZeroU64<1, { u64_two_pow(58) - 1 }>;
pub type NonZeroU59 = RangedNonZeroU64<1, { u64_two_pow(59) - 1 }>;
pub type NonZeroU60 = RangedNonZeroU64<1, { u64_two_pow(60) - 1 }>;
pub type NonZeroU61 = RangedNonZeroU64<1, { u64_two_pow(61) - 1 }>;
pub type NonZeroU62 = RangedNonZeroU64<1, { u64_two_pow(62) - 1 }>;
pub type NonZeroU63 = RangedNonZeroU64<1, { u64_two_pow(63) - 1 }>;
pub type NonZeroU64 = RangedNonZeroU64<1, { u64::MAX }>;
pub type NonZeroU65 = RangedNonZeroU128<1, { u128_two_pow(65) - 1 }>;
pub type NonZeroU66 = RangedNonZeroU128<1, { u128_two_pow(66) - 1 }>;
pub type NonZeroU67 = RangedNonZeroU128<1, { u128_two_pow(67) - 1 }>;
pub type NonZeroU68 = RangedNonZeroU128<1, { u128_two_pow(68) - 1 }>;
pub type NonZeroU69 = RangedNonZeroU128<1, { u128_two_pow(69) - 1 }>;
pub type NonZeroU70 = RangedNonZeroU128<1, { u128_two_pow(70) - 1 }>;
pub type NonZeroU71 = RangedNonZeroU128<1, { u128_two_pow(71) - 1 }>;
pub type NonZeroU72 = RangedNonZeroU128<1, { u128_two_pow(72) - 1 }>;
pub type NonZeroU73 = RangedNonZeroU128<1, { u128_two_pow(73) - 1 }>;
pub type NonZeroU74 = RangedNonZeroU128<1, { u128_two_pow(74) - 1 }>;
pub type NonZeroU75 = RangedNonZeroU128<1, { u128_two_pow(75) - 1 }>;
pub type NonZeroU76 = RangedNonZeroU128<1, { u128_two_pow(76) - 1 }>;
pub type NonZeroU77 = RangedNonZeroU128<1, { u128_two_pow(77) - 1 }>;
pub type NonZeroU78 = RangedNonZeroU128<1, { u128_two_pow(78) - 1 }>;
pub type NonZeroU79 = RangedNonZeroU128<1, { u128_two_pow(79) - 1 }>;
pub type NonZeroU80 = RangedNonZeroU128<1, { u128_two_pow(80) - 1 }>;
pub type NonZeroU81 = RangedNonZeroU128<1, { u128_two_pow(81) - 1 }>;
pub type NonZeroU82 = RangedNonZeroU128<1, { u128_two_pow(82) - 1 }>;
pub type NonZeroU83 = RangedNonZeroU128<1, { u128_two_pow(83) - 1 }>;
pub type NonZeroU84 = RangedNonZeroU128<1, { u128_two_pow(84) - 1 }>;
pub type NonZeroU85 = RangedNonZeroU128<1, { u128_two_pow(85) - 1 }>;
pub type NonZeroU86 = RangedNonZeroU128<1, { u128_two_pow(86) - 1 }>;
pub type NonZeroU87 = RangedNonZeroU128<1, { u128_two_pow(87) - 1 }>;
pub type NonZeroU88 = RangedNonZeroU128<1, { u128_two_pow(88) - 1 }>;
pub type NonZeroU89 = RangedNonZeroU128<1, { u128_two_pow(89) - 1 }>;
pub type NonZeroU90 = RangedNonZeroU128<1, { u128_two_pow(90) - 1 }>;
pub type NonZeroU91 = RangedNonZeroU128<1, { u128_two_pow(91) - 1 }>;
pub type NonZeroU92 = RangedNonZeroU128<1, { u128_two_pow(92) - 1 }>;
pub type NonZeroU93 = RangedNonZeroU128<1, { u128_two_pow(93) - 1 }>;
pub type NonZeroU94 = RangedNonZeroU128<1, { u128_two_pow(94) - 1 }>;
pub type NonZeroU95 = RangedNonZeroU128<1, { u128_two_pow(95) - 1 }>;
pub type NonZeroU96 = RangedNonZeroU128<1, { u128_two_pow(96) - 1 }>;
pub type NonZeroU97 = RangedNonZeroU128<1, { u128_two_pow(97) - 1 }>;
pub type NonZeroU98 = RangedNonZeroU128<1, { u128_two_pow(98) - 1 }>;
pub type NonZeroU99 = RangedNonZeroU128<1, { u128_two_pow(99) - 1 }>;
pub type NonZeroU100 = RangedNonZeroU128<1, { u128_two_pow(100) - 1 }>;
pub type NonZeroU101 = RangedNonZeroU128<1, { u128_two_pow(101) - 1 }>;
pub type NonZeroU102 = RangedNonZeroU128<1, { u128_two_pow(102) - 1 }>;
pub type NonZeroU103 = RangedNonZeroU128<1, { u128_two_pow(103) - 1 }>;
pub type NonZeroU104 = RangedNonZeroU128<1, { u128_two_pow(104) - 1 }>;
pub type NonZeroU105 = RangedNonZeroU128<1, { u128_two_pow(105) - 1 }>;
pub type NonZeroU106 = RangedNonZeroU128<1, { u128_two_pow(106) - 1 }>;
pub type NonZeroU107 = RangedNonZeroU128<1, { u128_two_pow(107) - 1 }>;
pub type NonZeroU108 = RangedNonZeroU128<1, { u128_two_pow(108) - 1 }>;
pub type NonZeroU109 = RangedNonZeroU128<1, { u128_two_pow(109) - 1 }>;
pub type NonZeroU110 = RangedNonZeroU128<1, { u128_two_pow(110) - 1 }>;
pub type NonZeroU111 = RangedNonZeroU128<1, { u128_two_pow(111) - 1 }>;
pub type NonZeroU112 = RangedNonZeroU128<1, { u128_two_pow(112) - 1 }>;
pub type NonZeroU113 = RangedNonZeroU128<1, { u128_two_pow(113) - 1 }>;
pub type NonZeroU114 = RangedNonZeroU128<1, { u128_two_pow(114) - 1 }>;
pub type NonZeroU115 = RangedNonZeroU128<1, { u128_two_pow(115) - 1 }>;
pub type NonZeroU116 = RangedNonZeroU128<1, { u128_two_pow(116) - 1 }>;
pub type NonZeroU117 = RangedNonZeroU128<1, { u128_two_pow(117) - 1 }>;
pub type NonZeroU118 = RangedNonZeroU128<1, { u128_two_pow(118) - 1 }>;
pub type NonZeroU119 = RangedNonZeroU128<1, { u128_two_pow(119) - 1 }>;
pub type NonZeroU120 = RangedNonZeroU128<1, { u128_two_pow(120) - 1 }>;
pub type NonZeroU121 = RangedNonZeroU128<1, { u128_two_pow(121) - 1 }>;
pub type NonZeroU122 = RangedNonZeroU128<1, { u128_two_pow(122) - 1 }>;
pub type NonZeroU123 = RangedNonZeroU128<1, { u128_two_pow(123) - 1 }>;
pub type NonZeroU124 = RangedNonZeroU128<1, { u128_two_pow(124) - 1 }>;
pub type NonZeroU125 = RangedNonZeroU128<1, { u128_two_pow(125) - 1 }>;
pub type NonZeroU126 = RangedNonZeroU128<1, { u128_two_pow(126) - 1 }>;
pub type NonZeroU127 = RangedNonZeroU128<1, { u128_two_pow(127) - 1 }>;
pub type NonZeroU128 = RangedNonZeroU128<1, { u128::MAX }>;
pub type NonZeroI1 = unit::UnitNonZeroI8<{ -i8_two_pow(0) }>;
pub type NonZeroI2 = RangedNonZeroI8<{ -i8_two_pow(1) }, { i8_two_pow(1) - 1 }>;
pub type NonZeroI3 = RangedNonZeroI8<{ -i8_two_pow(2) }, { i8_two_pow(2) - 1 }>;
pub type NonZeroI4 = RangedNonZeroI8<{ -i8_two_pow(3) }, { i8_two_pow(3) - 1 }>;
pub type NonZeroI5 = RangedNonZeroI8<{ -i8_two_pow(4) }, { i8_two_pow(4) - 1 }>;
pub type NonZeroI6 = RangedNonZeroI8<{ -i8_two_pow(5) }, { i8_two_pow(5) - 1 }>;
pub type NonZeroI7 = RangedNonZeroI8<{ -i8_two_pow(6) }, { i8_two_pow(6) - 1 }>;
pub type NonZeroI8 = RangedNonZeroI8<{ i8::MIN }, { i8::MAX }>;
pub type NonZeroI9 =
RangedNonZeroI16<{ -i16_two_pow(8) }, { i16_two_pow(8) - 1 }>;
pub type NonZeroI10 =
RangedNonZeroI16<{ -i16_two_pow(9) }, { i16_two_pow(9) - 1 }>;
pub type NonZeroI11 =
RangedNonZeroI16<{ -i16_two_pow(10) }, { i16_two_pow(10) - 1 }>;
pub type NonZeroI12 =
RangedNonZeroI16<{ -i16_two_pow(11) }, { i16_two_pow(11) - 1 }>;
pub type NonZeroI13 =
RangedNonZeroI16<{ -i16_two_pow(12) }, { i16_two_pow(12) - 1 }>;
pub type NonZeroI14 =
RangedNonZeroI16<{ -i16_two_pow(13) }, { i16_two_pow(13) - 1 }>;
pub type NonZeroI15 =
RangedNonZeroI16<{ -i16_two_pow(14) }, { i16_two_pow(14) - 1 }>;
pub type NonZeroI16 = RangedNonZeroI16<{ i16::MIN }, { i16::MAX }>;
pub type NonZeroI17 =
RangedNonZeroI32<{ -i32_two_pow(16) }, { i32_two_pow(16) - 1 }>;
pub type NonZeroI18 =
RangedNonZeroI32<{ -i32_two_pow(17) }, { i32_two_pow(17) - 1 }>;
pub type NonZeroI19 =
RangedNonZeroI32<{ -i32_two_pow(18) }, { i32_two_pow(18) - 1 }>;
pub type NonZeroI20 =
RangedNonZeroI32<{ -i32_two_pow(19) }, { i32_two_pow(19) - 1 }>;
pub type NonZeroI21 =
RangedNonZeroI32<{ -i32_two_pow(20) }, { i32_two_pow(20) - 1 }>;
pub type NonZeroI22 =
RangedNonZeroI32<{ -i32_two_pow(21) }, { i32_two_pow(21) - 1 }>;
pub type NonZeroI23 =
RangedNonZeroI32<{ -i32_two_pow(22) }, { i32_two_pow(22) - 1 }>;
pub type NonZeroI24 =
RangedNonZeroI32<{ -i32_two_pow(23) }, { i32_two_pow(23) - 1 }>;
pub type NonZeroI25 =
RangedNonZeroI32<{ -i32_two_pow(24) }, { i32_two_pow(24) - 1 }>;
pub type NonZeroI26 =
RangedNonZeroI32<{ -i32_two_pow(25) }, { i32_two_pow(25) - 1 }>;
pub type NonZeroI27 =
RangedNonZeroI32<{ -i32_two_pow(26) }, { i32_two_pow(26) - 1 }>;
pub type NonZeroI28 =
RangedNonZeroI32<{ -i32_two_pow(27) }, { i32_two_pow(27) - 1 }>;
pub type NonZeroI29 =
RangedNonZeroI32<{ -i32_two_pow(28) }, { i32_two_pow(28) - 1 }>;
pub type NonZeroI30 =
RangedNonZeroI32<{ -i32_two_pow(29) }, { i32_two_pow(29) - 1 }>;
pub type NonZeroI31 =
RangedNonZeroI32<{ -i32_two_pow(30) }, { i32_two_pow(30) - 1 }>;
pub type NonZeroI32 = RangedNonZeroI32<{ i32::MIN }, { i32::MAX }>;
pub type NonZeroI33 =
RangedNonZeroI64<{ -i64_two_pow(32) }, { i64_two_pow(32) - 1 }>;
pub type NonZeroI34 =
RangedNonZeroI64<{ -i64_two_pow(33) }, { i64_two_pow(33) - 1 }>;
pub type NonZeroI35 =
RangedNonZeroI64<{ -i64_two_pow(34) }, { i64_two_pow(34) - 1 }>;
pub type NonZeroI36 =
RangedNonZeroI64<{ -i64_two_pow(35) }, { i64_two_pow(35) - 1 }>;
pub type NonZeroI37 =
RangedNonZeroI64<{ -i64_two_pow(36) }, { i64_two_pow(36) - 1 }>;
pub type NonZeroI38 =
RangedNonZeroI64<{ -i64_two_pow(37) }, { i64_two_pow(37) - 1 }>;
pub type NonZeroI39 =
RangedNonZeroI64<{ -i64_two_pow(38) }, { i64_two_pow(38) - 1 }>;
pub type NonZeroI40 =
RangedNonZeroI64<{ -i64_two_pow(39) }, { i64_two_pow(39) - 1 }>;
pub type NonZeroI41 =
RangedNonZeroI64<{ -i64_two_pow(40) }, { i64_two_pow(40) - 1 }>;
pub type NonZeroI42 =
RangedNonZeroI64<{ -i64_two_pow(41) }, { i64_two_pow(41) - 1 }>;
pub type NonZeroI43 =
RangedNonZeroI64<{ -i64_two_pow(42) }, { i64_two_pow(42) - 1 }>;
pub type NonZeroI44 =
RangedNonZeroI64<{ -i64_two_pow(43) }, { i64_two_pow(43) - 1 }>;
pub type NonZeroI45 =
RangedNonZeroI64<{ -i64_two_pow(44) }, { i64_two_pow(44) - 1 }>;
pub type NonZeroI46 =
RangedNonZeroI64<{ -i64_two_pow(45) }, { i64_two_pow(45) - 1 }>;
pub type NonZeroI47 =
RangedNonZeroI64<{ -i64_two_pow(46) }, { i64_two_pow(46) - 1 }>;
pub type NonZeroI48 =
RangedNonZeroI64<{ -i64_two_pow(47) }, { i64_two_pow(47) - 1 }>;
pub type NonZeroI49 =
RangedNonZeroI64<{ -i64_two_pow(48) }, { i64_two_pow(48) - 1 }>;
pub type NonZeroI50 =
RangedNonZeroI64<{ -i64_two_pow(49) }, { i64_two_pow(49) - 1 }>;
pub type NonZeroI51 =
RangedNonZeroI64<{ -i64_two_pow(50) }, { i64_two_pow(50) - 1 }>;
pub type NonZeroI52 =
RangedNonZeroI64<{ -i64_two_pow(51) }, { i64_two_pow(51) - 1 }>;
pub type NonZeroI53 =
RangedNonZeroI64<{ -i64_two_pow(52) }, { i64_two_pow(52) - 1 }>;
pub type NonZeroI54 =
RangedNonZeroI64<{ -i64_two_pow(53) }, { i64_two_pow(53) - 1 }>;
pub type NonZeroI55 =
RangedNonZeroI64<{ -i64_two_pow(54) }, { i64_two_pow(54) - 1 }>;
pub type NonZeroI56 =
RangedNonZeroI64<{ -i64_two_pow(55) }, { i64_two_pow(55) - 1 }>;
pub type NonZeroI57 =
RangedNonZeroI64<{ -i64_two_pow(56) }, { i64_two_pow(56) - 1 }>;
pub type NonZeroI58 =
RangedNonZeroI64<{ -i64_two_pow(57) }, { i64_two_pow(57) - 1 }>;
pub type NonZeroI59 =
RangedNonZeroI64<{ -i64_two_pow(58) }, { i64_two_pow(58) - 1 }>;
pub type NonZeroI60 =
RangedNonZeroI64<{ -i64_two_pow(59) }, { i64_two_pow(59) - 1 }>;
pub type NonZeroI61 =
RangedNonZeroI64<{ -i64_two_pow(60) }, { i64_two_pow(60) - 1 }>;
pub type NonZeroI62 =
RangedNonZeroI64<{ -i64_two_pow(61) }, { i64_two_pow(61) - 1 }>;
pub type NonZeroI63 =
RangedNonZeroI64<{ -i64_two_pow(62) }, { i64_two_pow(62) - 1 }>;
pub type NonZeroI64 = RangedNonZeroI64<{ i64::MIN }, { i64::MAX }>;
pub type NonZeroI65 =
RangedNonZeroI128<{ -i128_two_pow(64) }, { i128_two_pow(64) - 1 }>;
pub type NonZeroI66 =
RangedNonZeroI128<{ -i128_two_pow(65) }, { i128_two_pow(65) - 1 }>;
pub type NonZeroI67 =
RangedNonZeroI128<{ -i128_two_pow(66) }, { i128_two_pow(66) - 1 }>;
pub type NonZeroI68 =
RangedNonZeroI128<{ -i128_two_pow(67) }, { i128_two_pow(67) - 1 }>;
pub type NonZeroI69 =
RangedNonZeroI128<{ -i128_two_pow(68) }, { i128_two_pow(68) - 1 }>;
pub type NonZeroI70 =
RangedNonZeroI128<{ -i128_two_pow(69) }, { i128_two_pow(69) - 1 }>;
pub type NonZeroI71 =
RangedNonZeroI128<{ -i128_two_pow(70) }, { i128_two_pow(70) - 1 }>;
pub type NonZeroI72 =
RangedNonZeroI128<{ -i128_two_pow(71) }, { i128_two_pow(71) - 1 }>;
pub type NonZeroI73 =
RangedNonZeroI128<{ -i128_two_pow(72) }, { i128_two_pow(72) - 1 }>;
pub type NonZeroI74 =
RangedNonZeroI128<{ -i128_two_pow(73) }, { i128_two_pow(73) - 1 }>;
pub type NonZeroI75 =
RangedNonZeroI128<{ -i128_two_pow(74) }, { i128_two_pow(74) - 1 }>;
pub type NonZeroI76 =
RangedNonZeroI128<{ -i128_two_pow(75) }, { i128_two_pow(75) - 1 }>;
pub type NonZeroI77 =
RangedNonZeroI128<{ -i128_two_pow(76) }, { i128_two_pow(76) - 1 }>;
pub type NonZeroI78 =
RangedNonZeroI128<{ -i128_two_pow(77) }, { i128_two_pow(77) - 1 }>;
pub type NonZeroI79 =
RangedNonZeroI128<{ -i128_two_pow(78) }, { i128_two_pow(78) - 1 }>;
pub type NonZeroI80 =
RangedNonZeroI128<{ -i128_two_pow(79) }, { i128_two_pow(79) - 1 }>;
pub type NonZeroI81 =
RangedNonZeroI128<{ -i128_two_pow(80) }, { i128_two_pow(80) - 1 }>;
pub type NonZeroI82 =
RangedNonZeroI128<{ -i128_two_pow(81) }, { i128_two_pow(81) - 1 }>;
pub type NonZeroI83 =
RangedNonZeroI128<{ -i128_two_pow(82) }, { i128_two_pow(82) - 1 }>;
pub type NonZeroI84 =
RangedNonZeroI128<{ -i128_two_pow(83) }, { i128_two_pow(83) - 1 }>;
pub type NonZeroI85 =
RangedNonZeroI128<{ -i128_two_pow(84) }, { i128_two_pow(84) - 1 }>;
pub type NonZeroI86 =
RangedNonZeroI128<{ -i128_two_pow(85) }, { i128_two_pow(85) - 1 }>;
pub type NonZeroI87 =
RangedNonZeroI128<{ -i128_two_pow(86) }, { i128_two_pow(86) - 1 }>;
pub type NonZeroI88 =
RangedNonZeroI128<{ -i128_two_pow(87) }, { i128_two_pow(87) - 1 }>;
pub type NonZeroI89 =
RangedNonZeroI128<{ -i128_two_pow(88) }, { i128_two_pow(88) - 1 }>;
pub type NonZeroI90 =
RangedNonZeroI128<{ -i128_two_pow(89) }, { i128_two_pow(89) - 1 }>;
pub type NonZeroI91 =
RangedNonZeroI128<{ -i128_two_pow(90) }, { i128_two_pow(90) - 1 }>;
pub type NonZeroI92 =
RangedNonZeroI128<{ -i128_two_pow(91) }, { i128_two_pow(91) - 1 }>;
pub type NonZeroI93 =
RangedNonZeroI128<{ -i128_two_pow(92) }, { i128_two_pow(92) - 1 }>;
pub type NonZeroI94 =
RangedNonZeroI128<{ -i128_two_pow(93) }, { i128_two_pow(93) - 1 }>;
pub type NonZeroI95 =
RangedNonZeroI128<{ -i128_two_pow(94) }, { i128_two_pow(94) - 1 }>;
pub type NonZeroI96 =
RangedNonZeroI128<{ -i128_two_pow(95) }, { i128_two_pow(95) - 1 }>;
pub type NonZeroI97 =
RangedNonZeroI128<{ -i128_two_pow(96) }, { i128_two_pow(96) - 1 }>;
pub type NonZeroI98 =
RangedNonZeroI128<{ -i128_two_pow(97) }, { i128_two_pow(97) - 1 }>;
pub type NonZeroI99 =
RangedNonZeroI128<{ -i128_two_pow(98) }, { i128_two_pow(98) - 1 }>;
pub type NonZeroI100 =
RangedNonZeroI128<{ -i128_two_pow(99) }, { i128_two_pow(99) - 1 }>;
pub type NonZeroI101 =
RangedNonZeroI128<{ -i128_two_pow(100) }, { i128_two_pow(100) - 1 }>;
pub type NonZeroI102 =
RangedNonZeroI128<{ -i128_two_pow(101) }, { i128_two_pow(101) - 1 }>;
pub type NonZeroI103 =
RangedNonZeroI128<{ -i128_two_pow(102) }, { i128_two_pow(102) - 1 }>;
pub type NonZeroI104 =
RangedNonZeroI128<{ -i128_two_pow(103) }, { i128_two_pow(103) - 1 }>;
pub type NonZeroI105 =
RangedNonZeroI128<{ -i128_two_pow(104) }, { i128_two_pow(104) - 1 }>;
pub type NonZeroI106 =
RangedNonZeroI128<{ -i128_two_pow(105) }, { i128_two_pow(105) - 1 }>;
pub type NonZeroI107 =
RangedNonZeroI128<{ -i128_two_pow(106) }, { i128_two_pow(106) - 1 }>;
pub type NonZeroI108 =
RangedNonZeroI128<{ -i128_two_pow(107) }, { i128_two_pow(107) - 1 }>;
pub type NonZeroI109 =
RangedNonZeroI128<{ -i128_two_pow(108) }, { i128_two_pow(108) - 1 }>;
pub type NonZeroI110 =
RangedNonZeroI128<{ -i128_two_pow(109) }, { i128_two_pow(109) - 1 }>;
pub type NonZeroI111 =
RangedNonZeroI128<{ -i128_two_pow(110) }, { i128_two_pow(110) - 1 }>;
pub type NonZeroI112 =
RangedNonZeroI128<{ -i128_two_pow(111) }, { i128_two_pow(111) - 1 }>;
pub type NonZeroI113 =
RangedNonZeroI128<{ -i128_two_pow(112) }, { i128_two_pow(112) - 1 }>;
pub type NonZeroI114 =
RangedNonZeroI128<{ -i128_two_pow(113) }, { i128_two_pow(113) - 1 }>;
pub type NonZeroI115 =
RangedNonZeroI128<{ -i128_two_pow(114) }, { i128_two_pow(114) - 1 }>;
pub type NonZeroI116 =
RangedNonZeroI128<{ -i128_two_pow(115) }, { i128_two_pow(115) - 1 }>;
pub type NonZeroI117 =
RangedNonZeroI128<{ -i128_two_pow(116) }, { i128_two_pow(116) - 1 }>;
pub type NonZeroI118 =
RangedNonZeroI128<{ -i128_two_pow(117) }, { i128_two_pow(117) - 1 }>;
pub type NonZeroI119 =
RangedNonZeroI128<{ -i128_two_pow(118) }, { i128_two_pow(118) - 1 }>;
pub type NonZeroI120 =
RangedNonZeroI128<{ -i128_two_pow(119) }, { i128_two_pow(119) - 1 }>;
pub type NonZeroI121 =
RangedNonZeroI128<{ -i128_two_pow(120) }, { i128_two_pow(120) - 1 }>;
pub type NonZeroI122 =
RangedNonZeroI128<{ -i128_two_pow(121) }, { i128_two_pow(121) - 1 }>;
pub type NonZeroI123 =
RangedNonZeroI128<{ -i128_two_pow(122) }, { i128_two_pow(122) - 1 }>;
pub type NonZeroI124 =
RangedNonZeroI128<{ -i128_two_pow(123) }, { i128_two_pow(123) - 1 }>;
pub type NonZeroI125 =
RangedNonZeroI128<{ -i128_two_pow(124) }, { i128_two_pow(124) - 1 }>;
pub type NonZeroI126 =
RangedNonZeroI128<{ -i128_two_pow(125) }, { i128_two_pow(125) - 1 }>;
pub type NonZeroI127 =
RangedNonZeroI128<{ -i128_two_pow(126) }, { i128_two_pow(126) - 1 }>;
pub type NonZeroI128 = RangedNonZeroI128<{ i128::MIN }, { i128::MAX }>;
pub type U1 = RangedU8<0, { u8_two_pow(1) - 1 }>;
pub type U2 = RangedU8<0, { u8_two_pow(2) - 1 }>;
pub type U3 = RangedU8<0, { u8_two_pow(3) - 1 }>;
pub type U4 = RangedU8<0, { u8_two_pow(4) - 1 }>;
pub type U5 = RangedU8<0, { u8_two_pow(5) - 1 }>;
pub type U6 = RangedU8<0, { u8_two_pow(6) - 1 }>;
pub type U7 = RangedU8<0, { u8_two_pow(7) - 1 }>;
pub type U8 = RangedU8<0, { u8::MAX }>;
pub type U9 = RangedU16<0, { u16_two_pow(9) - 1 }>;
pub type U10 = RangedU16<0, { u16_two_pow(10) - 1 }>;
pub type U11 = RangedU16<0, { u16_two_pow(11) - 1 }>;
pub type U12 = RangedU16<0, { u16_two_pow(12) - 1 }>;
pub type U13 = RangedU16<0, { u16_two_pow(13) - 1 }>;
pub type U14 = RangedU16<0, { u16_two_pow(14) - 1 }>;
pub type U15 = RangedU16<0, { u16_two_pow(15) - 1 }>;
pub type U16 = RangedU16<0, { u16::MAX }>;
pub type U17 = RangedU32<0, { u32_two_pow(17) - 1 }>;
pub type U18 = RangedU32<0, { u32_two_pow(18) - 1 }>;
pub type U19 = RangedU32<0, { u32_two_pow(19) - 1 }>;
pub type U20 = RangedU32<0, { u32_two_pow(20) - 1 }>;
pub type U21 = RangedU32<0, { u32_two_pow(21) - 1 }>;
pub type U22 = RangedU32<0, { u32_two_pow(22) - 1 }>;
pub type U23 = RangedU32<0, { u32_two_pow(23) - 1 }>;
pub type U24 = RangedU32<0, { u32_two_pow(24) - 1 }>;
pub type U25 = RangedU32<0, { u32_two_pow(25) - 1 }>;
pub type U26 = RangedU32<0, { u32_two_pow(26) - 1 }>;
pub type U27 = RangedU32<0, { u32_two_pow(27) - 1 }>;
pub type U28 = RangedU32<0, { u32_two_pow(28) - 1 }>;
pub type U29 = RangedU32<0, { u32_two_pow(29) - 1 }>;
pub type U30 = RangedU32<0, { u32_two_pow(30) - 1 }>;
pub type U31 = RangedU32<0, { u32_two_pow(31) - 1 }>;
pub type U32 = RangedU32<0, { u32::MAX }>;
pub type U33 = RangedU64<0, { u64_two_pow(33) - 1 }>;
pub type U34 = RangedU64<0, { u64_two_pow(34) - 1 }>;
pub type U35 = RangedU64<0, { u64_two_pow(35) - 1 }>;
pub type U36 = RangedU64<0, { u64_two_pow(36) - 1 }>;
pub type U37 = RangedU64<0, { u64_two_pow(37) - 1 }>;
pub type U38 = RangedU64<0, { u64_two_pow(38) - 1 }>;
pub type U39 = RangedU64<0, { u64_two_pow(39) - 1 }>;
pub type U40 = RangedU64<0, { u64_two_pow(40) - 1 }>;
pub type U41 = RangedU64<0, { u64_two_pow(41) - 1 }>;
pub type U42 = RangedU64<0, { u64_two_pow(42) - 1 }>;
pub type U43 = RangedU64<0, { u64_two_pow(43) - 1 }>;
pub type U44 = RangedU64<0, { u64_two_pow(44) - 1 }>;
pub type U45 = RangedU64<0, { u64_two_pow(45) - 1 }>;
pub type U46 = RangedU64<0, { u64_two_pow(46) - 1 }>;
pub type U47 = RangedU64<0, { u64_two_pow(47) - 1 }>;
pub type U48 = RangedU64<0, { u64_two_pow(48) - 1 }>;
pub type U49 = RangedU64<0, { u64_two_pow(49) - 1 }>;
pub type U50 = RangedU64<0, { u64_two_pow(50) - 1 }>;
pub type U51 = RangedU64<0, { u64_two_pow(51) - 1 }>;
pub type U52 = RangedU64<0, { u64_two_pow(52) - 1 }>;
pub type U53 = RangedU64<0, { u64_two_pow(53) - 1 }>;
pub type U54 = RangedU64<0, { u64_two_pow(54) - 1 }>;
pub type U55 = RangedU64<0, { u64_two_pow(55) - 1 }>;
pub type U56 = RangedU64<0, { u64_two_pow(56) - 1 }>;
pub type U57 = RangedU64<0, { u64_two_pow(57) - 1 }>;
pub type U58 = RangedU64<0, { u64_two_pow(58) - 1 }>;
pub type U59 = RangedU64<0, { u64_two_pow(59) - 1 }>;
pub type U60 = RangedU64<0, { u64_two_pow(60) - 1 }>;
pub type U61 = RangedU64<0, { u64_two_pow(61) - 1 }>;
pub type U62 = RangedU64<0, { u64_two_pow(62) - 1 }>;
pub type U63 = RangedU64<0, { u64_two_pow(63) - 1 }>;
pub type U64 = RangedU64<0, { u64::MAX }>;
pub type U65 = RangedU128<0, { u128_two_pow(65) - 1 }>;
pub type U66 = RangedU128<0, { u128_two_pow(66) - 1 }>;
pub type U67 = RangedU128<0, { u128_two_pow(67) - 1 }>;
pub type U68 = RangedU128<0, { u128_two_pow(68) - 1 }>;
pub type U69 = RangedU128<0, { u128_two_pow(69) - 1 }>;
pub type U70 = RangedU128<0, { u128_two_pow(70) - 1 }>;
pub type U71 = RangedU128<0, { u128_two_pow(71) - 1 }>;
pub type U72 = RangedU128<0, { u128_two_pow(72) - 1 }>;
pub type U73 = RangedU128<0, { u128_two_pow(73) - 1 }>;
pub type U74 = RangedU128<0, { u128_two_pow(74) - 1 }>;
pub type U75 = RangedU128<0, { u128_two_pow(75) - 1 }>;
pub type U76 = RangedU128<0, { u128_two_pow(76) - 1 }>;
pub type U77 = RangedU128<0, { u128_two_pow(77) - 1 }>;
pub type U78 = RangedU128<0, { u128_two_pow(78) - 1 }>;
pub type U79 = RangedU128<0, { u128_two_pow(79) - 1 }>;
pub type U80 = RangedU128<0, { u128_two_pow(80) - 1 }>;
pub type U81 = RangedU128<0, { u128_two_pow(81) - 1 }>;
pub type U82 = RangedU128<0, { u128_two_pow(82) - 1 }>;
pub type U83 = RangedU128<0, { u128_two_pow(83) - 1 }>;
pub type U84 = RangedU128<0, { u128_two_pow(84) - 1 }>;
pub type U85 = RangedU128<0, { u128_two_pow(85) - 1 }>;
pub type U86 = RangedU128<0, { u128_two_pow(86) - 1 }>;
pub type U87 = RangedU128<0, { u128_two_pow(87) - 1 }>;
pub type U88 = RangedU128<0, { u128_two_pow(88) - 1 }>;
pub type U89 = RangedU128<0, { u128_two_pow(89) - 1 }>;
pub type U90 = RangedU128<0, { u128_two_pow(90) - 1 }>;
pub type U91 = RangedU128<0, { u128_two_pow(91) - 1 }>;
pub type U92 = RangedU128<0, { u128_two_pow(92) - 1 }>;
pub type U93 = RangedU128<0, { u128_two_pow(93) - 1 }>;
pub type U94 = RangedU128<0, { u128_two_pow(94) - 1 }>;
pub type U95 = RangedU128<0, { u128_two_pow(95) - 1 }>;
pub type U96 = RangedU128<0, { u128_two_pow(96) - 1 }>;
pub type U97 = RangedU128<0, { u128_two_pow(97) - 1 }>;
pub type U98 = RangedU128<0, { u128_two_pow(98) - 1 }>;
pub type U99 = RangedU128<0, { u128_two_pow(99) - 1 }>;
pub type U100 = RangedU128<0, { u128_two_pow(100) - 1 }>;
pub type U101 = RangedU128<0, { u128_two_pow(101) - 1 }>;
pub type U102 = RangedU128<0, { u128_two_pow(102) - 1 }>;
pub type U103 = RangedU128<0, { u128_two_pow(103) - 1 }>;
pub type U104 = RangedU128<0, { u128_two_pow(104) - 1 }>;
pub type U105 = RangedU128<0, { u128_two_pow(105) - 1 }>;
pub type U106 = RangedU128<0, { u128_two_pow(106) - 1 }>;
pub type U107 = RangedU128<0, { u128_two_pow(107) - 1 }>;
pub type U108 = RangedU128<0, { u128_two_pow(108) - 1 }>;
pub type U109 = RangedU128<0, { u128_two_pow(109) - 1 }>;
pub type U110 = RangedU128<0, { u128_two_pow(110) - 1 }>;
pub type U111 = RangedU128<0, { u128_two_pow(111) - 1 }>;
pub type U112 = RangedU128<0, { u128_two_pow(112) - 1 }>;
pub type U113 = RangedU128<0, { u128_two_pow(113) - 1 }>;
pub type U114 = RangedU128<0, { u128_two_pow(114) - 1 }>;
pub type U115 = RangedU128<0, { u128_two_pow(115) - 1 }>;
pub type U116 = RangedU128<0, { u128_two_pow(116) - 1 }>;
pub type U117 = RangedU128<0, { u128_two_pow(117) - 1 }>;
pub type U118 = RangedU128<0, { u128_two_pow(118) - 1 }>;
pub type U119 = RangedU128<0, { u128_two_pow(119) - 1 }>;
pub type U120 = RangedU128<0, { u128_two_pow(120) - 1 }>;
pub type U121 = RangedU128<0, { u128_two_pow(121) - 1 }>;
pub type U122 = RangedU128<0, { u128_two_pow(122) - 1 }>;
pub type U123 = RangedU128<0, { u128_two_pow(123) - 1 }>;
pub type U124 = RangedU128<0, { u128_two_pow(124) - 1 }>;
pub type U125 = RangedU128<0, { u128_two_pow(125) - 1 }>;
pub type U126 = RangedU128<0, { u128_two_pow(126) - 1 }>;
pub type U127 = RangedU128<0, { u128_two_pow(127) - 1 }>;
pub type U128 = RangedU128<0, { u128::MAX }>;
pub type I1 = RangedI8<{ -i8_two_pow(0) }, { i8_two_pow(0) - 1 }>;
pub type I2 = RangedI8<{ -i8_two_pow(1) }, { i8_two_pow(1) - 1 }>;
pub type I3 = RangedI8<{ -i8_two_pow(2) }, { i8_two_pow(2) - 1 }>;
pub type I4 = RangedI8<{ -i8_two_pow(3) }, { i8_two_pow(3) - 1 }>;
pub type I5 = RangedI8<{ -i8_two_pow(4) }, { i8_two_pow(4) - 1 }>;
pub type I6 = RangedI8<{ -i8_two_pow(5) }, { i8_two_pow(5) - 1 }>;
pub type I7 = RangedI8<{ -i8_two_pow(6) }, { i8_two_pow(6) - 1 }>;
pub type I8 = RangedI8<{ i8::MIN }, { i8::MAX }>;
pub type I9 = RangedI16<{ -i16_two_pow(8) }, { i16_two_pow(8) - 1 }>;
pub type I10 = RangedI16<{ -i16_two_pow(9) }, { i16_two_pow(9) - 1 }>;
pub type I11 = RangedI16<{ -i16_two_pow(10) }, { i16_two_pow(10) - 1 }>;
pub type I12 = RangedI16<{ -i16_two_pow(11) }, { i16_two_pow(11) - 1 }>;
pub type I13 = RangedI16<{ -i16_two_pow(12) }, { i16_two_pow(12) - 1 }>;
pub type I14 = RangedI16<{ -i16_two_pow(13) }, { i16_two_pow(13) - 1 }>;
pub type I15 = RangedI16<{ -i16_two_pow(14) }, { i16_two_pow(14) - 1 }>;
pub type I16 = RangedI16<{ i16::MIN }, { i16::MAX }>;
pub type I17 = RangedI32<{ -i32_two_pow(16) }, { i32_two_pow(16) - 1 }>;
pub type I18 = RangedI32<{ -i32_two_pow(17) }, { i32_two_pow(17) - 1 }>;
pub type I19 = RangedI32<{ -i32_two_pow(18) }, { i32_two_pow(18) - 1 }>;
pub type I20 = RangedI32<{ -i32_two_pow(19) }, { i32_two_pow(19) - 1 }>;
pub type I21 = RangedI32<{ -i32_two_pow(20) }, { i32_two_pow(20) - 1 }>;
pub type I22 = RangedI32<{ -i32_two_pow(21) }, { i32_two_pow(21) - 1 }>;
pub type I23 = RangedI32<{ -i32_two_pow(22) }, { i32_two_pow(22) - 1 }>;
pub type I24 = RangedI32<{ -i32_two_pow(23) }, { i32_two_pow(23) - 1 }>;
pub type I25 = RangedI32<{ -i32_two_pow(24) }, { i32_two_pow(24) - 1 }>;
pub type I26 = RangedI32<{ -i32_two_pow(25) }, { i32_two_pow(25) - 1 }>;
pub type I27 = RangedI32<{ -i32_two_pow(26) }, { i32_two_pow(26) - 1 }>;
pub type I28 = RangedI32<{ -i32_two_pow(27) }, { i32_two_pow(27) - 1 }>;
pub type I29 = RangedI32<{ -i32_two_pow(28) }, { i32_two_pow(28) - 1 }>;
pub type I30 = RangedI32<{ -i32_two_pow(29) }, { i32_two_pow(29) - 1 }>;
pub type I31 = RangedI32<{ -i32_two_pow(30) }, { i32_two_pow(30) - 1 }>;
pub type I32 = RangedI32<{ i32::MIN }, { i32::MAX }>;
pub type I33 = RangedI64<{ -i64_two_pow(32) }, { i64_two_pow(32) - 1 }>;
pub type I34 = RangedI64<{ -i64_two_pow(33) }, { i64_two_pow(33) - 1 }>;
pub type I35 = RangedI64<{ -i64_two_pow(34) }, { i64_two_pow(34) - 1 }>;
pub type I36 = RangedI64<{ -i64_two_pow(35) }, { i64_two_pow(35) - 1 }>;
pub type I37 = RangedI64<{ -i64_two_pow(36) }, { i64_two_pow(36) - 1 }>;
pub type I38 = RangedI64<{ -i64_two_pow(37) }, { i64_two_pow(37) - 1 }>;
pub type I39 = RangedI64<{ -i64_two_pow(38) }, { i64_two_pow(38) - 1 }>;
pub type I40 = RangedI64<{ -i64_two_pow(39) }, { i64_two_pow(39) - 1 }>;
pub type I41 = RangedI64<{ -i64_two_pow(40) }, { i64_two_pow(40) - 1 }>;
pub type I42 = RangedI64<{ -i64_two_pow(41) }, { i64_two_pow(41) - 1 }>;
pub type I43 = RangedI64<{ -i64_two_pow(42) }, { i64_two_pow(42) - 1 }>;
pub type I44 = RangedI64<{ -i64_two_pow(43) }, { i64_two_pow(43) - 1 }>;
pub type I45 = RangedI64<{ -i64_two_pow(44) }, { i64_two_pow(44) - 1 }>;
pub type I46 = RangedI64<{ -i64_two_pow(45) }, { i64_two_pow(45) - 1 }>;
pub type I47 = RangedI64<{ -i64_two_pow(46) }, { i64_two_pow(46) - 1 }>;
pub type I48 = RangedI64<{ -i64_two_pow(47) }, { i64_two_pow(47) - 1 }>;
pub type I49 = RangedI64<{ -i64_two_pow(48) }, { i64_two_pow(48) - 1 }>;
pub type I50 = RangedI64<{ -i64_two_pow(49) }, { i64_two_pow(49) - 1 }>;
pub type I51 = RangedI64<{ -i64_two_pow(50) }, { i64_two_pow(50) - 1 }>;
pub type I52 = RangedI64<{ -i64_two_pow(51) }, { i64_two_pow(51) - 1 }>;
pub type I53 = RangedI64<{ -i64_two_pow(52) }, { i64_two_pow(52) - 1 }>;
pub type I54 = RangedI64<{ -i64_two_pow(53) }, { i64_two_pow(53) - 1 }>;
pub type I55 = RangedI64<{ -i64_two_pow(54) }, { i64_two_pow(54) - 1 }>;
pub type I56 = RangedI64<{ -i64_two_pow(55) }, { i64_two_pow(55) - 1 }>;
pub type I57 = RangedI64<{ -i64_two_pow(56) }, { i64_two_pow(56) - 1 }>;
pub type I58 = RangedI64<{ -i64_two_pow(57) }, { i64_two_pow(57) - 1 }>;
pub type I59 = RangedI64<{ -i64_two_pow(58) }, { i64_two_pow(58) - 1 }>;
pub type I60 = RangedI64<{ -i64_two_pow(59) }, { i64_two_pow(59) - 1 }>;
pub type I61 = RangedI64<{ -i64_two_pow(60) }, { i64_two_pow(60) - 1 }>;
pub type I62 = RangedI64<{ -i64_two_pow(61) }, { i64_two_pow(61) - 1 }>;
pub type I63 = RangedI64<{ -i64_two_pow(62) }, { i64_two_pow(62) - 1 }>;
pub type I64 = RangedI64<{ i64::MIN }, { i64::MAX }>;
pub type I65 = RangedI128<{ -i128_two_pow(64) }, { i128_two_pow(64) - 1 }>;
pub type I66 = RangedI128<{ -i128_two_pow(65) }, { i128_two_pow(65) - 1 }>;
pub type I67 = RangedI128<{ -i128_two_pow(66) }, { i128_two_pow(66) - 1 }>;
pub type I68 = RangedI128<{ -i128_two_pow(67) }, { i128_two_pow(67) - 1 }>;
pub type I69 = RangedI128<{ -i128_two_pow(68) }, { i128_two_pow(68) - 1 }>;
pub type I70 = RangedI128<{ -i128_two_pow(69) }, { i128_two_pow(69) - 1 }>;
pub type I71 = RangedI128<{ -i128_two_pow(70) }, { i128_two_pow(70) - 1 }>;
pub type I72 = RangedI128<{ -i128_two_pow(71) }, { i128_two_pow(71) - 1 }>;
pub type I73 = RangedI128<{ -i128_two_pow(72) }, { i128_two_pow(72) - 1 }>;
pub type I74 = RangedI128<{ -i128_two_pow(73) }, { i128_two_pow(73) - 1 }>;
pub type I75 = RangedI128<{ -i128_two_pow(74) }, { i128_two_pow(74) - 1 }>;
pub type I76 = RangedI128<{ -i128_two_pow(75) }, { i128_two_pow(75) - 1 }>;
pub type I77 = RangedI128<{ -i128_two_pow(76) }, { i128_two_pow(76) - 1 }>;
pub type I78 = RangedI128<{ -i128_two_pow(77) }, { i128_two_pow(77) - 1 }>;
pub type I79 = RangedI128<{ -i128_two_pow(78) }, { i128_two_pow(78) - 1 }>;
pub type I80 = RangedI128<{ -i128_two_pow(79) }, { i128_two_pow(79) - 1 }>;
pub type I81 = RangedI128<{ -i128_two_pow(80) }, { i128_two_pow(80) - 1 }>;
pub type I82 = RangedI128<{ -i128_two_pow(81) }, { i128_two_pow(81) - 1 }>;
pub type I83 = RangedI128<{ -i128_two_pow(82) }, { i128_two_pow(82) - 1 }>;
pub type I84 = RangedI128<{ -i128_two_pow(83) }, { i128_two_pow(83) - 1 }>;
pub type I85 = RangedI128<{ -i128_two_pow(84) }, { i128_two_pow(84) - 1 }>;
pub type I86 = RangedI128<{ -i128_two_pow(85) }, { i128_two_pow(85) - 1 }>;
pub type I87 = RangedI128<{ -i128_two_pow(86) }, { i128_two_pow(86) - 1 }>;
pub type I88 = RangedI128<{ -i128_two_pow(87) }, { i128_two_pow(87) - 1 }>;
pub type I89 = RangedI128<{ -i128_two_pow(88) }, { i128_two_pow(88) - 1 }>;
pub type I90 = RangedI128<{ -i128_two_pow(89) }, { i128_two_pow(89) - 1 }>;
pub type I91 = RangedI128<{ -i128_two_pow(90) }, { i128_two_pow(90) - 1 }>;
pub type I92 = RangedI128<{ -i128_two_pow(91) }, { i128_two_pow(91) - 1 }>;
pub type I93 = RangedI128<{ -i128_two_pow(92) }, { i128_two_pow(92) - 1 }>;
pub type I94 = RangedI128<{ -i128_two_pow(93) }, { i128_two_pow(93) - 1 }>;
pub type I95 = RangedI128<{ -i128_two_pow(94) }, { i128_two_pow(94) - 1 }>;
pub type I96 = RangedI128<{ -i128_two_pow(95) }, { i128_two_pow(95) - 1 }>;
pub type I97 = RangedI128<{ -i128_two_pow(96) }, { i128_two_pow(96) - 1 }>;
pub type I98 = RangedI128<{ -i128_two_pow(97) }, { i128_two_pow(97) - 1 }>;
pub type I99 = RangedI128<{ -i128_two_pow(98) }, { i128_two_pow(98) - 1 }>;
pub type I100 = RangedI128<{ -i128_two_pow(99) }, { i128_two_pow(99) - 1 }>;
pub type I101 = RangedI128<{ -i128_two_pow(100) }, { i128_two_pow(100) - 1 }>;
pub type I102 = RangedI128<{ -i128_two_pow(101) }, { i128_two_pow(101) - 1 }>;
pub type I103 = RangedI128<{ -i128_two_pow(102) }, { i128_two_pow(102) - 1 }>;
pub type I104 = RangedI128<{ -i128_two_pow(103) }, { i128_two_pow(103) - 1 }>;
pub type I105 = RangedI128<{ -i128_two_pow(104) }, { i128_two_pow(104) - 1 }>;
pub type I106 = RangedI128<{ -i128_two_pow(105) }, { i128_two_pow(105) - 1 }>;
pub type I107 = RangedI128<{ -i128_two_pow(106) }, { i128_two_pow(106) - 1 }>;
pub type I108 = RangedI128<{ -i128_two_pow(107) }, { i128_two_pow(107) - 1 }>;
pub type I109 = RangedI128<{ -i128_two_pow(108) }, { i128_two_pow(108) - 1 }>;
pub type I110 = RangedI128<{ -i128_two_pow(109) }, { i128_two_pow(109) - 1 }>;
pub type I111 = RangedI128<{ -i128_two_pow(110) }, { i128_two_pow(110) - 1 }>;
pub type I112 = RangedI128<{ -i128_two_pow(111) }, { i128_two_pow(111) - 1 }>;
pub type I113 = RangedI128<{ -i128_two_pow(112) }, { i128_two_pow(112) - 1 }>;
pub type I114 = RangedI128<{ -i128_two_pow(113) }, { i128_two_pow(113) - 1 }>;
pub type I115 = RangedI128<{ -i128_two_pow(114) }, { i128_two_pow(114) - 1 }>;
pub type I116 = RangedI128<{ -i128_two_pow(115) }, { i128_two_pow(115) - 1 }>;
pub type I117 = RangedI128<{ -i128_two_pow(116) }, { i128_two_pow(116) - 1 }>;
pub type I118 = RangedI128<{ -i128_two_pow(117) }, { i128_two_pow(117) - 1 }>;
pub type I119 = RangedI128<{ -i128_two_pow(118) }, { i128_two_pow(118) - 1 }>;
pub type I120 = RangedI128<{ -i128_two_pow(119) }, { i128_two_pow(119) - 1 }>;
pub type I121 = RangedI128<{ -i128_two_pow(120) }, { i128_two_pow(120) - 1 }>;
pub type I122 = RangedI128<{ -i128_two_pow(121) }, { i128_two_pow(121) - 1 }>;
pub type I123 = RangedI128<{ -i128_two_pow(122) }, { i128_two_pow(122) - 1 }>;
pub type I124 = RangedI128<{ -i128_two_pow(123) }, { i128_two_pow(123) - 1 }>;
pub type I125 = RangedI128<{ -i128_two_pow(124) }, { i128_two_pow(124) - 1 }>;
pub type I126 = RangedI128<{ -i128_two_pow(125) }, { i128_two_pow(125) - 1 }>;
pub type I127 = RangedI128<{ -i128_two_pow(126) }, { i128_two_pow(126) - 1 }>;
pub type I128 = RangedI128<{ i128::MIN }, { i128::MAX }>;
macro_rules! from_primitive {
($ranged:ty, $primitive:ty, $name:ident, $with:ident) => {
impl $ranged {
#[doc = concat!(" - [`Self::", stringify!($with), "()`] - run-time bounds checking constructor")]
#[doc = concat!("# use ranch::bitwise::", stringify!($ranged), ";")]
#[doc = concat!(
"assert_eq!(",
stringify!($ranged),
"::",
stringify!($name),
"(42).get(), 42);",
)]
#[must_use]
pub fn $name(value: $primitive) -> Self {
Self(value)
}
}
}
}
from_primitive!(U8, u8, from_u8, with_u8);
from_primitive!(U16, u16, from_u16, with_u16);
from_primitive!(U32, u32, from_u32, with_u32);
from_primitive!(U64, u64, from_u64, with_u64);
from_primitive!(U128, u128, from_u128, with_u128);
from_primitive!(I8, i8, from_i8, with_i8);
from_primitive!(I16, i16, from_i16, with_i16);
from_primitive!(I32, i32, from_i32, with_i32);
from_primitive!(I64, i64, from_i64, with_i64);
from_primitive!(I128, i128, from_i128, with_i128);
macro_rules! from_nonzero {
($nonzero:ty, $primitive:ty) => { impl $nonzero {
#[doc = concat!("# use ranch::bitwise::", stringify!($nonzero), ";")]
#[doc = concat!(" ", stringify!($nonzero), "::from_nonzero(NonZero::new(42).unwrap()),")]
#[doc = concat!(" ", stringify!($nonzero), "::new::<42>(),")]
pub const fn from_nonzero(nonzero: NonZero<$primitive>) -> Self {
Self(nonzero)
}
}
}
}
from_nonzero!(NonZeroU8, u8);
from_nonzero!(NonZeroU16, u16);
from_nonzero!(NonZeroU32, u32);
from_nonzero!(NonZeroU64, u64);
from_nonzero!(NonZeroU128, u128);
from_nonzero!(NonZeroI8, i8);
from_nonzero!(NonZeroI16, i16);
from_nonzero!(NonZeroI32, i32);
from_nonzero!(NonZeroI64, i64);
from_nonzero!(NonZeroI128, i128);
const fn u8_two_pow(power: u32) -> u8 {
1u8 << power
}
const fn u16_two_pow(power: u32) -> u16 {
1u16 << power
}
const fn u32_two_pow(power: u32) -> u32 {
1u32 << power
}
const fn u64_two_pow(power: u32) -> u64 {
1u64 << power
}
const fn u128_two_pow(power: u32) -> u128 {
1u128 << power
}
const fn i8_two_pow(power: u32) -> i8 {
1i8 << power
}
const fn i16_two_pow(power: u32) -> i16 {
1i16 << power
}
const fn i32_two_pow(power: u32) -> i32 {
1i32 << power
}
const fn i64_two_pow(power: u32) -> i64 {
1i64 << power
}
const fn i128_two_pow(power: u32) -> i128 {
1i128 << power
}