macro_rules! constify_imm6 {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) & 0b1_1111 {
0 => $expand!(0),
1 => $expand!(1),
2 => $expand!(2),
3 => $expand!(3),
4 => $expand!(4),
5 => $expand!(5),
6 => $expand!(6),
7 => $expand!(7),
8 => $expand!(8),
9 => $expand!(9),
10 => $expand!(10),
11 => $expand!(11),
12 => $expand!(12),
13 => $expand!(13),
14 => $expand!(14),
15 => $expand!(15),
16 => $expand!(16),
17 => $expand!(17),
18 => $expand!(18),
19 => $expand!(19),
20 => $expand!(20),
21 => $expand!(21),
22 => $expand!(22),
23 => $expand!(23),
24 => $expand!(24),
25 => $expand!(25),
26 => $expand!(26),
27 => $expand!(27),
28 => $expand!(28),
29 => $expand!(29),
30 => $expand!(30),
_ => $expand!(31),
}
};
}
macro_rules! constify_imm4 {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) & 0b1111 {
0 => $expand!(0),
1 => $expand!(1),
2 => $expand!(2),
3 => $expand!(3),
4 => $expand!(4),
5 => $expand!(5),
6 => $expand!(6),
7 => $expand!(7),
8 => $expand!(8),
9 => $expand!(9),
10 => $expand!(10),
11 => $expand!(11),
12 => $expand!(12),
13 => $expand!(13),
14 => $expand!(14),
_ => $expand!(15),
}
};
}
macro_rules! constify_imm3 {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) & 0b111 {
0 => $expand!(0),
1 => $expand!(1),
2 => $expand!(2),
3 => $expand!(3),
4 => $expand!(4),
5 => $expand!(5),
6 => $expand!(6),
_ => $expand!(7),
}
};
}
macro_rules! constify_imm2 {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) & 0b11 {
0 => $expand!(0),
1 => $expand!(1),
2 => $expand!(2),
_ => $expand!(3),
}
};
}
#[allow(unused)]
macro_rules! constify_imm5_sae {
($imm5:expr, $imm4:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm5 & 0b1111_1, $imm4 & 0b1111) {
(0, 4) => $expand!(0, 4),
(0, 8) => $expand!(0, 8),
(0, 12) => $expand!(0, 12),
(1, 4) => $expand!(1, 4),
(1, 8) => $expand!(1, 8),
(1, 12) => $expand!(1, 12),
(2, 4) => $expand!(2, 4),
(2, 8) => $expand!(2, 8),
(2, 12) => $expand!(2, 12),
(3, 4) => $expand!(3, 4),
(3, 8) => $expand!(3, 8),
(3, 12) => $expand!(3, 12),
(4, 4) => $expand!(4, 4),
(4, 8) => $expand!(4, 8),
(4, 12) => $expand!(4, 12),
(5, 4) => $expand!(5, 4),
(5, 8) => $expand!(5, 8),
(5, 12) => $expand!(5, 12),
(6, 4) => $expand!(6, 4),
(6, 8) => $expand!(6, 8),
(6, 12) => $expand!(6, 12),
(7, 4) => $expand!(7, 4),
(7, 8) => $expand!(7, 8),
(7, 12) => $expand!(7, 12),
(8, 4) => $expand!(8, 4),
(8, 8) => $expand!(8, 8),
(8, 12) => $expand!(8, 12),
(9, 4) => $expand!(9, 4),
(9, 8) => $expand!(9, 8),
(9, 12) => $expand!(9, 12),
(10, 4) => $expand!(10, 4),
(10, 8) => $expand!(10, 8),
(10, 12) => $expand!(10, 12),
(11, 4) => $expand!(11, 4),
(11, 8) => $expand!(11, 8),
(11, 12) => $expand!(11, 12),
(12, 4) => $expand!(12, 4),
(12, 8) => $expand!(12, 8),
(12, 12) => $expand!(12, 12),
(13, 4) => $expand!(13, 4),
(13, 8) => $expand!(13, 8),
(13, 12) => $expand!(13, 12),
(14, 4) => $expand!(14, 4),
(14, 8) => $expand!(14, 8),
(14, 12) => $expand!(14, 12),
(15, 4) => $expand!(15, 4),
(15, 8) => $expand!(15, 8),
(15, 12) => $expand!(15, 12),
(16, 4) => $expand!(16, 4),
(16, 8) => $expand!(16, 8),
(16, 12) => $expand!(16, 12),
(17, 4) => $expand!(17, 4),
(17, 8) => $expand!(17, 8),
(17, 12) => $expand!(17, 12),
(18, 4) => $expand!(18, 4),
(18, 8) => $expand!(18, 8),
(18, 12) => $expand!(18, 12),
(19, 4) => $expand!(19, 4),
(19, 8) => $expand!(19, 8),
(19, 12) => $expand!(19, 12),
(20, 4) => $expand!(20, 4),
(20, 8) => $expand!(20, 8),
(20, 12) => $expand!(20, 12),
(21, 4) => $expand!(21, 4),
(21, 8) => $expand!(21, 8),
(21, 12) => $expand!(21, 12),
(22, 4) => $expand!(22, 4),
(22, 8) => $expand!(22, 8),
(22, 12) => $expand!(22, 12),
(23, 4) => $expand!(23, 4),
(23, 8) => $expand!(23, 8),
(23, 12) => $expand!(23, 12),
(24, 4) => $expand!(24, 4),
(24, 8) => $expand!(24, 8),
(24, 12) => $expand!(24, 12),
(25, 4) => $expand!(25, 4),
(25, 8) => $expand!(25, 8),
(25, 12) => $expand!(25, 12),
(26, 4) => $expand!(26, 4),
(26, 8) => $expand!(26, 8),
(26, 12) => $expand!(26, 12),
(27, 4) => $expand!(27, 4),
(27, 8) => $expand!(27, 8),
(27, 12) => $expand!(27, 12),
(28, 4) => $expand!(28, 4),
(28, 8) => $expand!(28, 8),
(28, 12) => $expand!(28, 12),
(29, 4) => $expand!(29, 4),
(29, 8) => $expand!(29, 8),
(29, 12) => $expand!(29, 12),
(30, 4) => $expand!(30, 4),
(30, 8) => $expand!(30, 8),
(30, 12) => $expand!(30, 12),
(31, 4) => $expand!(31, 4),
(31, 8) => $expand!(31, 8),
(31, 12) => $expand!(31, 12),
(_, _) => panic!("Invalid sae value"),
}
};
}
#[allow(unused)]
macro_rules! constify_imm8_gather {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) {
1 => $expand!(1),
2 => $expand!(2),
4 => $expand!(4),
8 => $expand!(8),
_ => panic!("Only 1, 2, 4, and 8 are valid values"),
}
};
}
#[allow(unused)]
macro_rules! constify_imm4_round {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) & 0b1111 {
4 => $expand!(4),
8 => $expand!(8),
9 => $expand!(9),
10 => $expand!(10),
11 => $expand!(11),
_ => panic!("Invalid round value"),
}
};
}
#[allow(unused)]
macro_rules! constify_imm4_sae {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) & 0b1111 {
4 => $expand!(4),
8 => $expand!(8),
_ => panic!("Invalid sae value"),
}
};
}
#[allow(unused)]
macro_rules! constify_imm4_mantissas {
($imm4:expr, $imm2:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm4, $imm2) {
(0, 0) => $expand!(0, 0),
(0, 1) => $expand!(0, 1),
(0, 2) => $expand!(0, 2),
(0, 3) => $expand!(0, 3),
(1, 0) => $expand!(1, 0),
(1, 1) => $expand!(1, 1),
(1, 2) => $expand!(1, 2),
(1, 3) => $expand!(1, 3),
(2, 0) => $expand!(2, 0),
(2, 1) => $expand!(2, 1),
(2, 2) => $expand!(2, 2),
(2, 3) => $expand!(2, 3),
(3, 0) => $expand!(3, 0),
(3, 1) => $expand!(3, 1),
(3, 2) => $expand!(3, 2),
(3, 3) => $expand!(3, 3),
(4, 0) => $expand!(4, 0),
(4, 1) => $expand!(4, 1),
(4, 2) => $expand!(4, 2),
(4, 3) => $expand!(4, 3),
(5, 0) => $expand!(5, 0),
(5, 1) => $expand!(5, 1),
(5, 2) => $expand!(5, 2),
(5, 3) => $expand!(5, 3),
(6, 0) => $expand!(6, 0),
(6, 1) => $expand!(6, 1),
(6, 2) => $expand!(6, 2),
(6, 3) => $expand!(6, 3),
(7, 0) => $expand!(7, 0),
(7, 1) => $expand!(7, 1),
(7, 2) => $expand!(7, 2),
(7, 3) => $expand!(7, 3),
(8, 0) => $expand!(8, 0),
(8, 1) => $expand!(8, 1),
(8, 2) => $expand!(8, 2),
(8, 3) => $expand!(8, 3),
(9, 0) => $expand!(9, 0),
(9, 1) => $expand!(9, 1),
(9, 2) => $expand!(9, 2),
(9, 3) => $expand!(9, 3),
(10, 0) => $expand!(10, 0),
(10, 1) => $expand!(10, 1),
(10, 2) => $expand!(10, 2),
(10, 3) => $expand!(10, 3),
(11, 0) => $expand!(11, 0),
(11, 1) => $expand!(11, 1),
(11, 2) => $expand!(11, 2),
(11, 3) => $expand!(11, 3),
(12, 0) => $expand!(12, 0),
(12, 1) => $expand!(12, 1),
(12, 2) => $expand!(12, 2),
(12, 3) => $expand!(12, 3),
(13, 0) => $expand!(13, 0),
(13, 1) => $expand!(13, 1),
(13, 2) => $expand!(13, 2),
(13, 3) => $expand!(13, 3),
(14, 0) => $expand!(14, 0),
(14, 1) => $expand!(14, 1),
(14, 2) => $expand!(14, 2),
(14, 3) => $expand!(14, 3),
(15, 0) => $expand!(15, 0),
(15, 1) => $expand!(15, 1),
(15, 2) => $expand!(15, 2),
(15, 3) => $expand!(15, 3),
(_, _) => panic!("Invalid sae value"),
}
};
}
#[allow(unused)]
macro_rules! constify_imm4_mantissas_sae {
($imm4_1:expr, $imm2:expr, $imm4_2:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm4_1, $imm2, $imm4_2) {
(0, 0, 4) => $expand!(0, 0, 4),
(0, 0, 8) => $expand!(0, 0, 8),
(0, 0, 12) => $expand!(0, 0, 12),
(0, 1, 4) => $expand!(0, 1, 4),
(0, 1, 8) => $expand!(0, 1, 8),
(0, 1, 12) => $expand!(0, 1, 12),
(0, 2, 4) => $expand!(0, 2, 4),
(0, 2, 8) => $expand!(0, 2, 8),
(0, 2, 12) => $expand!(0, 2, 12),
(0, 3, 4) => $expand!(0, 3, 4),
(0, 3, 8) => $expand!(0, 3, 8),
(0, 3, 12) => $expand!(0, 3, 12),
(1, 0, 4) => $expand!(1, 0, 4),
(1, 0, 8) => $expand!(1, 0, 8),
(1, 0, 12) => $expand!(1, 0, 12),
(1, 1, 4) => $expand!(1, 1, 4),
(1, 1, 8) => $expand!(1, 1, 8),
(1, 1, 12) => $expand!(1, 1, 12),
(1, 2, 4) => $expand!(1, 2, 4),
(1, 2, 8) => $expand!(1, 2, 8),
(1, 2, 12) => $expand!(1, 2, 12),
(1, 3, 4) => $expand!(1, 3, 4),
(1, 3, 8) => $expand!(1, 3, 8),
(1, 3, 12) => $expand!(1, 3, 12),
(2, 0, 4) => $expand!(2, 0, 4),
(2, 0, 8) => $expand!(2, 0, 8),
(2, 0, 12) => $expand!(2, 0, 12),
(2, 1, 4) => $expand!(2, 1, 4),
(2, 1, 8) => $expand!(2, 1, 8),
(2, 1, 12) => $expand!(2, 1, 12),
(2, 2, 4) => $expand!(2, 2, 4),
(2, 2, 8) => $expand!(2, 2, 8),
(2, 2, 12) => $expand!(2, 2, 12),
(2, 3, 4) => $expand!(2, 3, 4),
(2, 3, 8) => $expand!(2, 3, 8),
(2, 3, 12) => $expand!(2, 3, 12),
(3, 0, 4) => $expand!(3, 0, 4),
(3, 0, 8) => $expand!(3, 0, 8),
(3, 0, 12) => $expand!(3, 0, 12),
(3, 1, 4) => $expand!(3, 1, 4),
(3, 1, 8) => $expand!(3, 1, 8),
(3, 1, 12) => $expand!(3, 1, 12),
(3, 2, 4) => $expand!(3, 2, 4),
(3, 2, 8) => $expand!(3, 2, 8),
(3, 2, 12) => $expand!(3, 2, 12),
(3, 3, 4) => $expand!(3, 3, 4),
(3, 3, 8) => $expand!(3, 3, 8),
(3, 3, 12) => $expand!(3, 3, 12),
(4, 0, 4) => $expand!(4, 0, 4),
(4, 0, 8) => $expand!(4, 0, 8),
(4, 0, 12) => $expand!(4, 0, 12),
(4, 1, 4) => $expand!(4, 1, 4),
(4, 1, 8) => $expand!(4, 1, 8),
(4, 1, 12) => $expand!(4, 1, 12),
(4, 2, 4) => $expand!(4, 2, 4),
(4, 2, 8) => $expand!(4, 2, 8),
(4, 2, 12) => $expand!(4, 2, 12),
(4, 3, 4) => $expand!(4, 3, 4),
(4, 3, 8) => $expand!(4, 3, 8),
(4, 3, 12) => $expand!(4, 3, 12),
(5, 0, 4) => $expand!(5, 0, 4),
(5, 0, 8) => $expand!(5, 0, 8),
(5, 0, 12) => $expand!(5, 0, 12),
(5, 1, 4) => $expand!(5, 1, 4),
(5, 1, 8) => $expand!(5, 1, 8),
(5, 1, 12) => $expand!(5, 1, 12),
(5, 2, 4) => $expand!(5, 2, 4),
(5, 2, 8) => $expand!(5, 2, 8),
(5, 2, 12) => $expand!(5, 2, 12),
(5, 3, 4) => $expand!(5, 3, 4),
(5, 3, 8) => $expand!(5, 3, 8),
(5, 3, 12) => $expand!(5, 3, 12),
(6, 0, 4) => $expand!(6, 0, 4),
(6, 0, 8) => $expand!(6, 0, 8),
(6, 0, 12) => $expand!(6, 0, 12),
(6, 1, 4) => $expand!(6, 1, 4),
(6, 1, 8) => $expand!(6, 1, 8),
(6, 1, 12) => $expand!(6, 1, 12),
(6, 2, 4) => $expand!(6, 2, 4),
(6, 2, 8) => $expand!(6, 2, 8),
(6, 2, 12) => $expand!(6, 2, 12),
(6, 3, 4) => $expand!(6, 3, 4),
(6, 3, 8) => $expand!(6, 3, 8),
(6, 3, 12) => $expand!(6, 3, 12),
(7, 0, 4) => $expand!(7, 0, 4),
(7, 0, 8) => $expand!(7, 0, 8),
(7, 0, 12) => $expand!(7, 0, 12),
(7, 1, 4) => $expand!(7, 1, 4),
(7, 1, 8) => $expand!(7, 1, 8),
(7, 1, 12) => $expand!(7, 1, 12),
(7, 2, 4) => $expand!(7, 2, 4),
(7, 2, 8) => $expand!(7, 2, 8),
(7, 2, 12) => $expand!(7, 2, 12),
(7, 3, 4) => $expand!(7, 3, 4),
(7, 3, 8) => $expand!(7, 3, 8),
(7, 3, 12) => $expand!(7, 3, 12),
(8, 0, 4) => $expand!(8, 0, 4),
(8, 0, 8) => $expand!(8, 0, 8),
(8, 0, 12) => $expand!(8, 0, 12),
(8, 1, 4) => $expand!(8, 1, 4),
(8, 1, 8) => $expand!(8, 1, 8),
(8, 1, 12) => $expand!(8, 1, 12),
(8, 2, 4) => $expand!(8, 2, 4),
(8, 2, 8) => $expand!(8, 2, 8),
(8, 2, 12) => $expand!(8, 2, 12),
(8, 3, 4) => $expand!(8, 3, 4),
(8, 3, 8) => $expand!(8, 3, 8),
(8, 3, 12) => $expand!(8, 3, 12),
(9, 0, 4) => $expand!(9, 0, 4),
(9, 0, 8) => $expand!(9, 0, 8),
(9, 0, 12) => $expand!(9, 0, 12),
(9, 1, 4) => $expand!(9, 1, 4),
(9, 1, 8) => $expand!(9, 1, 8),
(9, 1, 12) => $expand!(9, 1, 12),
(9, 2, 4) => $expand!(9, 2, 4),
(9, 2, 8) => $expand!(9, 2, 8),
(9, 2, 12) => $expand!(9, 2, 12),
(9, 3, 4) => $expand!(9, 3, 4),
(9, 3, 8) => $expand!(9, 3, 8),
(9, 3, 12) => $expand!(9, 3, 12),
(10, 0, 4) => $expand!(10, 0, 4),
(10, 0, 8) => $expand!(10, 0, 8),
(10, 0, 12) => $expand!(10, 0, 12),
(10, 1, 4) => $expand!(10, 1, 4),
(10, 1, 8) => $expand!(10, 1, 8),
(10, 1, 12) => $expand!(10, 1, 12),
(10, 2, 4) => $expand!(10, 2, 4),
(10, 2, 8) => $expand!(10, 2, 8),
(10, 2, 12) => $expand!(10, 2, 12),
(10, 3, 4) => $expand!(10, 3, 4),
(10, 3, 8) => $expand!(10, 3, 8),
(10, 3, 12) => $expand!(10, 3, 12),
(11, 0, 4) => $expand!(11, 0, 4),
(11, 0, 8) => $expand!(11, 0, 8),
(11, 0, 12) => $expand!(11, 0, 12),
(11, 1, 4) => $expand!(11, 1, 4),
(11, 1, 8) => $expand!(11, 1, 8),
(11, 1, 12) => $expand!(11, 1, 12),
(11, 2, 4) => $expand!(11, 2, 4),
(11, 2, 8) => $expand!(11, 2, 8),
(11, 2, 12) => $expand!(11, 2, 12),
(11, 3, 4) => $expand!(11, 3, 4),
(11, 3, 8) => $expand!(11, 3, 8),
(11, 3, 12) => $expand!(11, 3, 12),
(12, 0, 4) => $expand!(12, 0, 4),
(12, 0, 8) => $expand!(12, 0, 8),
(12, 0, 12) => $expand!(12, 0, 12),
(12, 1, 4) => $expand!(12, 1, 4),
(12, 1, 8) => $expand!(12, 1, 8),
(12, 1, 12) => $expand!(12, 1, 12),
(12, 2, 4) => $expand!(12, 2, 4),
(12, 2, 8) => $expand!(12, 2, 8),
(12, 2, 12) => $expand!(12, 2, 12),
(12, 3, 4) => $expand!(12, 3, 4),
(12, 3, 8) => $expand!(12, 3, 8),
(12, 3, 12) => $expand!(12, 3, 12),
(13, 0, 4) => $expand!(13, 0, 4),
(13, 0, 8) => $expand!(13, 0, 8),
(13, 0, 12) => $expand!(13, 0, 12),
(13, 1, 4) => $expand!(13, 1, 4),
(13, 1, 8) => $expand!(13, 1, 8),
(13, 1, 12) => $expand!(13, 1, 12),
(13, 2, 4) => $expand!(13, 2, 4),
(13, 2, 8) => $expand!(13, 2, 8),
(13, 2, 12) => $expand!(13, 2, 12),
(13, 3, 4) => $expand!(13, 3, 4),
(13, 3, 8) => $expand!(13, 3, 8),
(13, 3, 12) => $expand!(13, 3, 12),
(14, 0, 4) => $expand!(14, 0, 4),
(14, 0, 8) => $expand!(14, 0, 8),
(14, 0, 12) => $expand!(14, 0, 12),
(14, 1, 4) => $expand!(14, 1, 4),
(14, 1, 8) => $expand!(14, 1, 8),
(14, 1, 12) => $expand!(14, 1, 12),
(14, 2, 4) => $expand!(14, 2, 4),
(14, 2, 8) => $expand!(14, 2, 8),
(14, 2, 12) => $expand!(14, 2, 12),
(14, 3, 4) => $expand!(14, 3, 4),
(14, 3, 8) => $expand!(14, 3, 8),
(14, 3, 12) => $expand!(14, 3, 12),
(15, 0, 4) => $expand!(15, 0, 4),
(15, 0, 8) => $expand!(15, 0, 8),
(15, 0, 12) => $expand!(15, 0, 12),
(15, 1, 4) => $expand!(15, 1, 4),
(15, 1, 8) => $expand!(15, 1, 8),
(15, 1, 12) => $expand!(15, 1, 12),
(15, 2, 4) => $expand!(15, 2, 4),
(15, 2, 8) => $expand!(15, 2, 8),
(15, 2, 12) => $expand!(15, 2, 12),
(15, 3, 4) => $expand!(15, 3, 4),
(15, 3, 8) => $expand!(15, 3, 8),
(15, 3, 12) => $expand!(15, 3, 12),
(_, _, _) => panic!("Invalid sae value"),
}
};
}
#[allow(unused)]
macro_rules! constify_imm8_sae {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) & 0b1111_1111 {
0 => $expand!(0),
1 => $expand!(1),
2 => $expand!(2),
3 => $expand!(3),
4 => $expand!(4),
5 => $expand!(5),
6 => $expand!(6),
7 => $expand!(7),
8 => $expand!(8),
9 => $expand!(9),
10 => $expand!(10),
11 => $expand!(11),
12 => $expand!(12),
13 => $expand!(13),
14 => $expand!(14),
15 => $expand!(15),
16 => $expand!(16),
17 => $expand!(17),
18 => $expand!(18),
19 => $expand!(19),
20 => $expand!(20),
21 => $expand!(21),
22 => $expand!(22),
23 => $expand!(23),
24 => $expand!(24),
25 => $expand!(25),
26 => $expand!(26),
27 => $expand!(27),
28 => $expand!(28),
29 => $expand!(29),
30 => $expand!(30),
31 => $expand!(31),
32 => $expand!(32),
33 => $expand!(33),
34 => $expand!(34),
35 => $expand!(35),
36 => $expand!(36),
37 => $expand!(37),
38 => $expand!(38),
39 => $expand!(39),
40 => $expand!(40),
41 => $expand!(41),
42 => $expand!(42),
43 => $expand!(43),
44 => $expand!(44),
45 => $expand!(45),
46 => $expand!(46),
47 => $expand!(47),
48 => $expand!(48),
49 => $expand!(49),
50 => $expand!(50),
51 => $expand!(51),
52 => $expand!(52),
53 => $expand!(53),
54 => $expand!(54),
55 => $expand!(55),
56 => $expand!(56),
57 => $expand!(57),
58 => $expand!(58),
59 => $expand!(59),
60 => $expand!(60),
61 => $expand!(61),
62 => $expand!(62),
63 => $expand!(63),
64 => $expand!(64),
65 => $expand!(65),
66 => $expand!(66),
67 => $expand!(67),
68 => $expand!(68),
69 => $expand!(69),
70 => $expand!(70),
71 => $expand!(71),
72 => $expand!(72),
73 => $expand!(73),
74 => $expand!(74),
75 => $expand!(75),
76 => $expand!(76),
77 => $expand!(77),
78 => $expand!(78),
79 => $expand!(79),
80 => $expand!(80),
81 => $expand!(81),
82 => $expand!(82),
83 => $expand!(83),
84 => $expand!(84),
85 => $expand!(85),
86 => $expand!(86),
87 => $expand!(87),
88 => $expand!(88),
89 => $expand!(89),
90 => $expand!(90),
91 => $expand!(91),
92 => $expand!(92),
93 => $expand!(93),
94 => $expand!(94),
95 => $expand!(95),
96 => $expand!(96),
97 => $expand!(97),
98 => $expand!(98),
99 => $expand!(99),
100 => $expand!(100),
101 => $expand!(101),
102 => $expand!(102),
103 => $expand!(103),
104 => $expand!(104),
105 => $expand!(105),
106 => $expand!(106),
107 => $expand!(107),
108 => $expand!(108),
109 => $expand!(109),
110 => $expand!(110),
111 => $expand!(111),
112 => $expand!(112),
113 => $expand!(113),
114 => $expand!(114),
115 => $expand!(115),
116 => $expand!(116),
117 => $expand!(117),
118 => $expand!(118),
119 => $expand!(119),
120 => $expand!(120),
121 => $expand!(121),
122 => $expand!(122),
123 => $expand!(123),
124 => $expand!(124),
125 => $expand!(125),
126 => $expand!(126),
127 => $expand!(127),
128 => $expand!(128),
129 => $expand!(129),
130 => $expand!(130),
131 => $expand!(131),
132 => $expand!(132),
133 => $expand!(133),
134 => $expand!(134),
135 => $expand!(135),
136 => $expand!(136),
137 => $expand!(137),
138 => $expand!(138),
139 => $expand!(139),
140 => $expand!(140),
141 => $expand!(141),
142 => $expand!(142),
143 => $expand!(143),
144 => $expand!(144),
145 => $expand!(145),
146 => $expand!(146),
147 => $expand!(147),
148 => $expand!(148),
149 => $expand!(149),
150 => $expand!(150),
151 => $expand!(151),
152 => $expand!(152),
153 => $expand!(153),
154 => $expand!(154),
155 => $expand!(155),
156 => $expand!(156),
157 => $expand!(157),
158 => $expand!(158),
159 => $expand!(159),
160 => $expand!(160),
161 => $expand!(161),
162 => $expand!(162),
163 => $expand!(163),
164 => $expand!(164),
165 => $expand!(165),
166 => $expand!(166),
167 => $expand!(167),
168 => $expand!(168),
169 => $expand!(169),
170 => $expand!(170),
171 => $expand!(171),
172 => $expand!(172),
173 => $expand!(173),
174 => $expand!(174),
175 => $expand!(175),
176 => $expand!(176),
177 => $expand!(177),
178 => $expand!(178),
179 => $expand!(179),
180 => $expand!(180),
181 => $expand!(181),
182 => $expand!(182),
183 => $expand!(183),
184 => $expand!(184),
185 => $expand!(185),
186 => $expand!(186),
187 => $expand!(187),
188 => $expand!(188),
189 => $expand!(189),
190 => $expand!(190),
191 => $expand!(191),
192 => $expand!(192),
193 => $expand!(193),
194 => $expand!(194),
195 => $expand!(195),
196 => $expand!(196),
197 => $expand!(197),
198 => $expand!(198),
199 => $expand!(199),
200 => $expand!(200),
201 => $expand!(201),
202 => $expand!(202),
203 => $expand!(203),
204 => $expand!(204),
205 => $expand!(205),
206 => $expand!(206),
207 => $expand!(207),
208 => $expand!(208),
209 => $expand!(209),
210 => $expand!(210),
211 => $expand!(211),
212 => $expand!(212),
213 => $expand!(213),
214 => $expand!(214),
215 => $expand!(215),
216 => $expand!(216),
217 => $expand!(217),
218 => $expand!(218),
219 => $expand!(219),
220 => $expand!(220),
221 => $expand!(221),
222 => $expand!(222),
223 => $expand!(223),
224 => $expand!(224),
225 => $expand!(225),
226 => $expand!(226),
227 => $expand!(227),
228 => $expand!(228),
229 => $expand!(229),
230 => $expand!(230),
231 => $expand!(231),
232 => $expand!(232),
233 => $expand!(233),
234 => $expand!(234),
235 => $expand!(235),
236 => $expand!(236),
237 => $expand!(237),
238 => $expand!(238),
239 => $expand!(239),
240 => $expand!(240),
241 => $expand!(241),
242 => $expand!(242),
243 => $expand!(243),
244 => $expand!(244),
245 => $expand!(245),
246 => $expand!(246),
247 => $expand!(247),
248 => $expand!(248),
249 => $expand!(249),
250 => $expand!(250),
251 => $expand!(251),
252 => $expand!(252),
253 => $expand!(253),
254 => $expand!(254),
255 => $expand!(255),
_ => panic!("Invalid sae value"),
}
};
}
#[allow(unused)]
macro_rules! constify_imm8_roundscale {
($imm8:expr, $imm4:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8 & 0b11111111, $imm4) {
(0, 4) => $expand!(0, 4),
(0, 8) => $expand!(0, 8),
(0, 12) => $expand!(0, 12),
(1, 4) => $expand!(1, 4),
(1, 8) => $expand!(1, 8),
(1, 12) => $expand!(1, 12),
(2, 4) => $expand!(2, 4),
(2, 8) => $expand!(2, 8),
(2, 12) => $expand!(2, 12),
(3, 4) => $expand!(3, 4),
(3, 8) => $expand!(3, 8),
(3, 12) => $expand!(3, 12),
(4, 4) => $expand!(4, 4),
(4, 8) => $expand!(4, 8),
(4, 12) => $expand!(4, 12),
(5, 4) => $expand!(5, 4),
(5, 8) => $expand!(5, 8),
(5, 12) => $expand!(5, 12),
(6, 4) => $expand!(6, 4),
(6, 8) => $expand!(6, 8),
(6, 12) => $expand!(6, 12),
(7, 4) => $expand!(7, 4),
(7, 8) => $expand!(7, 8),
(7, 12) => $expand!(7, 12),
(8, 4) => $expand!(8, 4),
(8, 8) => $expand!(8, 8),
(8, 12) => $expand!(8, 12),
(9, 4) => $expand!(9, 4),
(9, 8) => $expand!(9, 8),
(9, 12) => $expand!(9, 12),
(10, 4) => $expand!(10, 4),
(10, 8) => $expand!(10, 8),
(10, 12) => $expand!(10, 12),
(11, 4) => $expand!(11, 4),
(11, 8) => $expand!(11, 8),
(11, 12) => $expand!(11, 12),
(12, 4) => $expand!(12, 4),
(12, 8) => $expand!(12, 8),
(12, 12) => $expand!(12, 12),
(13, 4) => $expand!(13, 4),
(13, 8) => $expand!(13, 8),
(13, 12) => $expand!(13, 12),
(14, 4) => $expand!(14, 4),
(14, 8) => $expand!(14, 8),
(14, 12) => $expand!(14, 12),
(15, 4) => $expand!(15, 4),
(15, 8) => $expand!(15, 8),
(15, 12) => $expand!(15, 12),
(16, 4) => $expand!(16, 4),
(16, 8) => $expand!(16, 8),
(16, 12) => $expand!(16, 12),
(17, 4) => $expand!(17, 4),
(17, 8) => $expand!(17, 8),
(17, 12) => $expand!(17, 12),
(18, 4) => $expand!(18, 4),
(18, 8) => $expand!(18, 8),
(18, 12) => $expand!(18, 12),
(19, 4) => $expand!(19, 4),
(19, 8) => $expand!(19, 8),
(19, 12) => $expand!(19, 12),
(20, 4) => $expand!(20, 4),
(20, 8) => $expand!(20, 8),
(20, 12) => $expand!(20, 12),
(21, 4) => $expand!(21, 4),
(21, 8) => $expand!(21, 8),
(21, 12) => $expand!(21, 12),
(22, 4) => $expand!(22, 4),
(22, 8) => $expand!(22, 8),
(22, 12) => $expand!(22, 12),
(23, 4) => $expand!(23, 4),
(23, 8) => $expand!(23, 8),
(23, 12) => $expand!(23, 12),
(24, 4) => $expand!(24, 4),
(24, 8) => $expand!(24, 8),
(24, 12) => $expand!(24, 12),
(25, 4) => $expand!(25, 4),
(25, 8) => $expand!(25, 8),
(25, 12) => $expand!(25, 12),
(26, 4) => $expand!(26, 4),
(26, 8) => $expand!(26, 8),
(26, 12) => $expand!(26, 12),
(27, 4) => $expand!(27, 4),
(27, 8) => $expand!(27, 8),
(27, 12) => $expand!(27, 12),
(28, 4) => $expand!(28, 4),
(28, 8) => $expand!(28, 8),
(28, 12) => $expand!(28, 12),
(29, 4) => $expand!(29, 4),
(29, 8) => $expand!(29, 8),
(29, 12) => $expand!(29, 12),
(30, 4) => $expand!(30, 4),
(30, 8) => $expand!(30, 8),
(30, 12) => $expand!(30, 12),
(31, 4) => $expand!(31, 4),
(31, 8) => $expand!(31, 8),
(31, 12) => $expand!(31, 12),
(32, 4) => $expand!(32, 4),
(32, 8) => $expand!(32, 8),
(32, 12) => $expand!(32, 12),
(33, 4) => $expand!(33, 4),
(33, 8) => $expand!(33, 8),
(33, 12) => $expand!(33, 12),
(34, 4) => $expand!(34, 4),
(34, 8) => $expand!(34, 8),
(34, 12) => $expand!(34, 12),
(35, 4) => $expand!(35, 4),
(35, 8) => $expand!(35, 8),
(35, 12) => $expand!(35, 12),
(36, 4) => $expand!(36, 4),
(36, 8) => $expand!(36, 8),
(36, 12) => $expand!(36, 12),
(37, 4) => $expand!(37, 4),
(37, 8) => $expand!(37, 8),
(37, 12) => $expand!(37, 12),
(38, 4) => $expand!(38, 4),
(38, 8) => $expand!(38, 8),
(38, 12) => $expand!(38, 12),
(39, 4) => $expand!(39, 4),
(39, 8) => $expand!(39, 8),
(39, 12) => $expand!(39, 12),
(40, 4) => $expand!(40, 4),
(40, 8) => $expand!(40, 8),
(40, 12) => $expand!(40, 12),
(41, 4) => $expand!(41, 4),
(41, 8) => $expand!(41, 8),
(41, 12) => $expand!(41, 12),
(42, 4) => $expand!(42, 4),
(42, 8) => $expand!(42, 8),
(42, 12) => $expand!(42, 12),
(43, 4) => $expand!(43, 4),
(43, 8) => $expand!(43, 8),
(43, 12) => $expand!(43, 12),
(44, 4) => $expand!(44, 4),
(44, 8) => $expand!(44, 8),
(44, 12) => $expand!(44, 12),
(45, 4) => $expand!(45, 4),
(45, 8) => $expand!(45, 8),
(45, 12) => $expand!(45, 12),
(46, 4) => $expand!(46, 4),
(46, 8) => $expand!(46, 8),
(46, 12) => $expand!(46, 12),
(47, 4) => $expand!(47, 4),
(47, 8) => $expand!(47, 8),
(47, 12) => $expand!(47, 12),
(48, 4) => $expand!(48, 4),
(48, 8) => $expand!(48, 8),
(48, 12) => $expand!(48, 12),
(49, 4) => $expand!(49, 4),
(49, 8) => $expand!(49, 8),
(49, 12) => $expand!(49, 12),
(50, 4) => $expand!(50, 4),
(50, 8) => $expand!(50, 8),
(50, 12) => $expand!(50, 12),
(51, 4) => $expand!(51, 4),
(51, 8) => $expand!(51, 8),
(51, 12) => $expand!(51, 12),
(52, 4) => $expand!(52, 4),
(52, 8) => $expand!(52, 8),
(52, 12) => $expand!(52, 12),
(53, 4) => $expand!(53, 4),
(53, 8) => $expand!(53, 8),
(53, 12) => $expand!(53, 12),
(54, 4) => $expand!(54, 4),
(54, 8) => $expand!(54, 8),
(54, 12) => $expand!(54, 12),
(55, 4) => $expand!(55, 4),
(55, 8) => $expand!(55, 8),
(55, 12) => $expand!(55, 12),
(56, 4) => $expand!(56, 4),
(56, 8) => $expand!(56, 8),
(56, 12) => $expand!(56, 12),
(57, 4) => $expand!(57, 4),
(57, 8) => $expand!(57, 8),
(57, 12) => $expand!(57, 12),
(58, 4) => $expand!(58, 4),
(58, 8) => $expand!(58, 8),
(58, 12) => $expand!(58, 12),
(59, 4) => $expand!(59, 4),
(59, 8) => $expand!(59, 8),
(59, 12) => $expand!(59, 12),
(60, 4) => $expand!(60, 4),
(60, 8) => $expand!(60, 8),
(60, 12) => $expand!(60, 12),
(61, 4) => $expand!(61, 4),
(61, 8) => $expand!(61, 8),
(61, 12) => $expand!(61, 12),
(62, 4) => $expand!(62, 4),
(62, 8) => $expand!(62, 8),
(62, 12) => $expand!(62, 12),
(63, 4) => $expand!(63, 4),
(63, 8) => $expand!(63, 8),
(63, 12) => $expand!(63, 12),
(64, 4) => $expand!(64, 4),
(64, 8) => $expand!(64, 8),
(64, 12) => $expand!(64, 12),
(65, 4) => $expand!(65, 4),
(65, 8) => $expand!(65, 8),
(65, 12) => $expand!(65, 12),
(66, 4) => $expand!(66, 4),
(66, 8) => $expand!(66, 8),
(66, 12) => $expand!(66, 12),
(67, 4) => $expand!(67, 4),
(67, 8) => $expand!(67, 8),
(67, 12) => $expand!(67, 12),
(68, 4) => $expand!(68, 4),
(68, 8) => $expand!(68, 8),
(68, 12) => $expand!(68, 12),
(69, 4) => $expand!(69, 4),
(69, 8) => $expand!(69, 8),
(69, 12) => $expand!(69, 12),
(70, 4) => $expand!(70, 4),
(70, 8) => $expand!(70, 8),
(70, 12) => $expand!(70, 12),
(71, 4) => $expand!(71, 4),
(71, 8) => $expand!(71, 8),
(71, 12) => $expand!(71, 12),
(72, 4) => $expand!(72, 4),
(72, 8) => $expand!(72, 8),
(72, 12) => $expand!(72, 12),
(73, 4) => $expand!(73, 4),
(73, 8) => $expand!(73, 8),
(73, 12) => $expand!(73, 12),
(74, 4) => $expand!(74, 4),
(74, 8) => $expand!(74, 8),
(74, 12) => $expand!(74, 12),
(75, 4) => $expand!(75, 4),
(75, 8) => $expand!(75, 8),
(75, 12) => $expand!(75, 12),
(76, 4) => $expand!(76, 4),
(76, 8) => $expand!(76, 8),
(76, 12) => $expand!(76, 12),
(77, 4) => $expand!(77, 4),
(77, 8) => $expand!(77, 8),
(77, 12) => $expand!(77, 12),
(78, 4) => $expand!(78, 4),
(78, 8) => $expand!(78, 8),
(78, 12) => $expand!(78, 12),
(79, 4) => $expand!(79, 4),
(79, 8) => $expand!(79, 8),
(79, 12) => $expand!(79, 12),
(80, 4) => $expand!(80, 4),
(80, 8) => $expand!(80, 8),
(80, 12) => $expand!(80, 12),
(81, 4) => $expand!(81, 4),
(81, 8) => $expand!(81, 8),
(81, 12) => $expand!(81, 12),
(82, 4) => $expand!(82, 4),
(82, 8) => $expand!(82, 8),
(82, 12) => $expand!(82, 12),
(83, 4) => $expand!(83, 4),
(83, 8) => $expand!(83, 8),
(83, 12) => $expand!(83, 12),
(84, 4) => $expand!(84, 4),
(84, 8) => $expand!(84, 8),
(84, 12) => $expand!(84, 12),
(85, 4) => $expand!(85, 4),
(85, 8) => $expand!(85, 8),
(85, 12) => $expand!(85, 12),
(86, 4) => $expand!(86, 4),
(86, 8) => $expand!(86, 8),
(86, 12) => $expand!(86, 12),
(87, 4) => $expand!(87, 4),
(87, 8) => $expand!(87, 8),
(87, 12) => $expand!(87, 12),
(88, 4) => $expand!(88, 4),
(88, 8) => $expand!(88, 8),
(88, 12) => $expand!(88, 12),
(89, 4) => $expand!(89, 4),
(89, 8) => $expand!(89, 8),
(89, 12) => $expand!(89, 12),
(90, 4) => $expand!(90, 4),
(90, 8) => $expand!(90, 8),
(90, 12) => $expand!(90, 12),
(91, 4) => $expand!(91, 4),
(91, 8) => $expand!(91, 8),
(91, 12) => $expand!(91, 12),
(92, 4) => $expand!(92, 4),
(92, 8) => $expand!(92, 8),
(92, 12) => $expand!(92, 12),
(93, 4) => $expand!(93, 4),
(93, 8) => $expand!(93, 8),
(93, 12) => $expand!(93, 12),
(94, 4) => $expand!(94, 4),
(94, 8) => $expand!(94, 8),
(94, 12) => $expand!(94, 12),
(95, 4) => $expand!(95, 4),
(95, 8) => $expand!(95, 8),
(95, 12) => $expand!(95, 12),
(96, 4) => $expand!(96, 4),
(96, 8) => $expand!(96, 8),
(96, 12) => $expand!(96, 12),
(97, 4) => $expand!(97, 4),
(97, 8) => $expand!(97, 8),
(97, 12) => $expand!(97, 12),
(98, 4) => $expand!(98, 4),
(98, 8) => $expand!(98, 8),
(98, 12) => $expand!(98, 12),
(99, 4) => $expand!(99, 4),
(99, 8) => $expand!(99, 8),
(99, 12) => $expand!(99, 12),
(100, 4) => $expand!(100, 4),
(100, 8) => $expand!(100, 8),
(100, 12) => $expand!(100, 12),
(101, 4) => $expand!(101, 4),
(101, 8) => $expand!(101, 8),
(101, 12) => $expand!(101, 12),
(102, 4) => $expand!(102, 4),
(102, 8) => $expand!(102, 8),
(102, 12) => $expand!(102, 12),
(103, 4) => $expand!(103, 4),
(103, 8) => $expand!(103, 8),
(103, 12) => $expand!(103, 12),
(104, 4) => $expand!(104, 4),
(104, 8) => $expand!(104, 8),
(104, 12) => $expand!(104, 12),
(105, 4) => $expand!(105, 4),
(105, 8) => $expand!(105, 8),
(105, 12) => $expand!(105, 12),
(106, 4) => $expand!(106, 4),
(106, 8) => $expand!(106, 8),
(106, 12) => $expand!(106, 12),
(107, 4) => $expand!(107, 4),
(107, 8) => $expand!(107, 8),
(107, 12) => $expand!(107, 12),
(108, 4) => $expand!(108, 4),
(108, 8) => $expand!(108, 8),
(108, 12) => $expand!(108, 12),
(109, 4) => $expand!(109, 4),
(109, 8) => $expand!(109, 8),
(109, 12) => $expand!(109, 12),
(110, 4) => $expand!(110, 4),
(110, 8) => $expand!(110, 8),
(110, 12) => $expand!(110, 12),
(111, 4) => $expand!(111, 4),
(111, 8) => $expand!(111, 8),
(111, 12) => $expand!(111, 12),
(112, 4) => $expand!(112, 4),
(112, 8) => $expand!(112, 8),
(112, 12) => $expand!(112, 12),
(113, 4) => $expand!(113, 4),
(113, 8) => $expand!(113, 8),
(113, 12) => $expand!(113, 12),
(114, 4) => $expand!(114, 4),
(114, 8) => $expand!(114, 8),
(114, 12) => $expand!(114, 12),
(115, 4) => $expand!(115, 4),
(115, 8) => $expand!(115, 8),
(115, 12) => $expand!(115, 12),
(116, 4) => $expand!(116, 4),
(116, 8) => $expand!(116, 8),
(116, 12) => $expand!(116, 12),
(117, 4) => $expand!(117, 4),
(117, 8) => $expand!(117, 8),
(117, 12) => $expand!(117, 12),
(118, 4) => $expand!(118, 4),
(118, 8) => $expand!(118, 8),
(118, 12) => $expand!(118, 12),
(119, 4) => $expand!(119, 4),
(119, 8) => $expand!(119, 8),
(119, 12) => $expand!(119, 12),
(120, 4) => $expand!(120, 4),
(120, 8) => $expand!(120, 8),
(120, 12) => $expand!(120, 12),
(121, 4) => $expand!(121, 4),
(121, 8) => $expand!(121, 8),
(121, 12) => $expand!(121, 12),
(122, 4) => $expand!(122, 4),
(122, 8) => $expand!(122, 8),
(122, 12) => $expand!(122, 12),
(123, 4) => $expand!(123, 4),
(123, 8) => $expand!(123, 8),
(123, 12) => $expand!(123, 12),
(124, 4) => $expand!(124, 4),
(124, 8) => $expand!(124, 8),
(124, 12) => $expand!(124, 12),
(125, 4) => $expand!(125, 4),
(125, 8) => $expand!(125, 8),
(125, 12) => $expand!(125, 12),
(126, 4) => $expand!(126, 4),
(126, 8) => $expand!(126, 8),
(126, 12) => $expand!(126, 12),
(127, 4) => $expand!(127, 4),
(127, 8) => $expand!(127, 8),
(127, 12) => $expand!(127, 12),
(128, 4) => $expand!(128, 4),
(128, 8) => $expand!(128, 8),
(128, 12) => $expand!(128, 12),
(129, 4) => $expand!(129, 4),
(129, 8) => $expand!(129, 8),
(129, 12) => $expand!(129, 12),
(130, 4) => $expand!(130, 4),
(130, 8) => $expand!(130, 8),
(130, 12) => $expand!(130, 12),
(131, 4) => $expand!(131, 4),
(131, 8) => $expand!(131, 8),
(131, 12) => $expand!(131, 12),
(132, 4) => $expand!(132, 4),
(132, 8) => $expand!(132, 8),
(132, 12) => $expand!(132, 12),
(133, 4) => $expand!(133, 4),
(133, 8) => $expand!(133, 8),
(133, 12) => $expand!(133, 12),
(134, 4) => $expand!(134, 4),
(134, 8) => $expand!(134, 8),
(134, 12) => $expand!(134, 12),
(135, 4) => $expand!(135, 4),
(135, 8) => $expand!(135, 8),
(135, 12) => $expand!(135, 12),
(136, 4) => $expand!(136, 4),
(136, 8) => $expand!(136, 8),
(136, 12) => $expand!(136, 12),
(137, 4) => $expand!(137, 4),
(137, 8) => $expand!(137, 8),
(137, 12) => $expand!(137, 12),
(138, 4) => $expand!(138, 4),
(138, 8) => $expand!(138, 8),
(138, 12) => $expand!(138, 12),
(139, 4) => $expand!(139, 4),
(139, 8) => $expand!(139, 8),
(139, 12) => $expand!(139, 12),
(140, 4) => $expand!(140, 4),
(140, 8) => $expand!(140, 8),
(140, 12) => $expand!(140, 12),
(141, 4) => $expand!(141, 4),
(141, 8) => $expand!(141, 8),
(141, 12) => $expand!(141, 12),
(142, 4) => $expand!(142, 4),
(142, 8) => $expand!(142, 8),
(142, 12) => $expand!(142, 12),
(143, 4) => $expand!(143, 4),
(143, 8) => $expand!(143, 8),
(143, 12) => $expand!(143, 12),
(144, 4) => $expand!(144, 4),
(144, 8) => $expand!(144, 8),
(144, 12) => $expand!(144, 12),
(145, 4) => $expand!(145, 4),
(145, 8) => $expand!(145, 8),
(145, 12) => $expand!(145, 12),
(146, 4) => $expand!(146, 4),
(146, 8) => $expand!(146, 8),
(146, 12) => $expand!(146, 12),
(147, 4) => $expand!(147, 4),
(147, 8) => $expand!(147, 8),
(147, 12) => $expand!(147, 12),
(148, 4) => $expand!(148, 4),
(148, 8) => $expand!(148, 8),
(148, 12) => $expand!(148, 12),
(149, 4) => $expand!(149, 4),
(149, 8) => $expand!(149, 8),
(149, 12) => $expand!(149, 12),
(150, 4) => $expand!(150, 4),
(150, 8) => $expand!(150, 8),
(150, 12) => $expand!(150, 12),
(151, 4) => $expand!(151, 4),
(151, 8) => $expand!(151, 8),
(151, 12) => $expand!(151, 12),
(152, 4) => $expand!(152, 4),
(152, 8) => $expand!(152, 8),
(152, 12) => $expand!(152, 12),
(153, 4) => $expand!(153, 4),
(153, 8) => $expand!(153, 8),
(153, 12) => $expand!(153, 12),
(154, 4) => $expand!(154, 4),
(154, 8) => $expand!(154, 8),
(154, 12) => $expand!(154, 12),
(155, 4) => $expand!(155, 4),
(155, 8) => $expand!(155, 8),
(155, 12) => $expand!(155, 12),
(156, 4) => $expand!(156, 4),
(156, 8) => $expand!(156, 8),
(156, 12) => $expand!(156, 12),
(157, 4) => $expand!(157, 4),
(157, 8) => $expand!(157, 8),
(157, 12) => $expand!(157, 12),
(158, 4) => $expand!(158, 4),
(158, 8) => $expand!(158, 8),
(158, 12) => $expand!(158, 12),
(159, 4) => $expand!(159, 4),
(159, 8) => $expand!(159, 8),
(159, 12) => $expand!(159, 12),
(160, 4) => $expand!(160, 4),
(160, 8) => $expand!(160, 8),
(160, 12) => $expand!(160, 12),
(161, 4) => $expand!(161, 4),
(161, 8) => $expand!(161, 8),
(161, 12) => $expand!(161, 12),
(162, 4) => $expand!(162, 4),
(162, 8) => $expand!(162, 8),
(162, 12) => $expand!(162, 12),
(163, 4) => $expand!(163, 4),
(163, 8) => $expand!(163, 8),
(163, 12) => $expand!(163, 12),
(164, 4) => $expand!(164, 4),
(164, 8) => $expand!(164, 8),
(164, 12) => $expand!(164, 12),
(165, 4) => $expand!(165, 4),
(165, 8) => $expand!(165, 8),
(165, 12) => $expand!(165, 12),
(166, 4) => $expand!(166, 4),
(166, 8) => $expand!(166, 8),
(166, 12) => $expand!(166, 12),
(167, 4) => $expand!(167, 4),
(167, 8) => $expand!(167, 8),
(167, 12) => $expand!(167, 12),
(168, 4) => $expand!(168, 4),
(168, 8) => $expand!(168, 8),
(168, 12) => $expand!(168, 12),
(169, 4) => $expand!(169, 4),
(169, 8) => $expand!(169, 8),
(169, 12) => $expand!(169, 12),
(170, 4) => $expand!(170, 4),
(170, 8) => $expand!(170, 8),
(170, 12) => $expand!(170, 12),
(171, 4) => $expand!(171, 4),
(171, 8) => $expand!(171, 8),
(171, 12) => $expand!(171, 12),
(172, 4) => $expand!(172, 4),
(172, 8) => $expand!(172, 8),
(172, 12) => $expand!(172, 12),
(173, 4) => $expand!(173, 4),
(173, 8) => $expand!(173, 8),
(173, 12) => $expand!(173, 12),
(174, 4) => $expand!(174, 4),
(174, 8) => $expand!(174, 8),
(174, 12) => $expand!(174, 12),
(175, 4) => $expand!(175, 4),
(175, 8) => $expand!(175, 8),
(175, 12) => $expand!(175, 12),
(176, 4) => $expand!(176, 4),
(176, 8) => $expand!(176, 8),
(176, 12) => $expand!(176, 12),
(177, 4) => $expand!(177, 4),
(177, 8) => $expand!(177, 8),
(177, 12) => $expand!(177, 12),
(178, 4) => $expand!(178, 4),
(178, 8) => $expand!(178, 8),
(178, 12) => $expand!(178, 12),
(179, 4) => $expand!(179, 4),
(179, 8) => $expand!(179, 8),
(179, 12) => $expand!(179, 12),
(180, 4) => $expand!(180, 4),
(180, 8) => $expand!(180, 8),
(180, 12) => $expand!(180, 12),
(181, 4) => $expand!(181, 4),
(181, 8) => $expand!(181, 8),
(181, 12) => $expand!(181, 12),
(182, 4) => $expand!(182, 4),
(182, 8) => $expand!(182, 8),
(182, 12) => $expand!(182, 12),
(183, 4) => $expand!(183, 4),
(183, 8) => $expand!(183, 8),
(183, 12) => $expand!(183, 12),
(184, 4) => $expand!(184, 4),
(184, 8) => $expand!(184, 8),
(184, 12) => $expand!(184, 12),
(185, 4) => $expand!(185, 4),
(185, 8) => $expand!(185, 8),
(185, 12) => $expand!(185, 12),
(186, 4) => $expand!(186, 4),
(186, 8) => $expand!(186, 8),
(186, 12) => $expand!(186, 12),
(187, 4) => $expand!(187, 4),
(187, 8) => $expand!(187, 8),
(187, 12) => $expand!(187, 12),
(188, 4) => $expand!(188, 4),
(188, 8) => $expand!(188, 8),
(188, 12) => $expand!(188, 12),
(189, 4) => $expand!(189, 4),
(189, 8) => $expand!(189, 8),
(189, 12) => $expand!(189, 12),
(190, 4) => $expand!(190, 4),
(190, 8) => $expand!(190, 8),
(190, 12) => $expand!(190, 12),
(191, 4) => $expand!(191, 4),
(191, 8) => $expand!(191, 8),
(191, 12) => $expand!(191, 12),
(192, 4) => $expand!(192, 4),
(192, 8) => $expand!(192, 8),
(192, 12) => $expand!(192, 12),
(193, 4) => $expand!(193, 4),
(193, 8) => $expand!(193, 8),
(193, 12) => $expand!(193, 12),
(194, 4) => $expand!(194, 4),
(194, 8) => $expand!(194, 8),
(194, 12) => $expand!(194, 12),
(195, 4) => $expand!(195, 4),
(195, 8) => $expand!(195, 8),
(195, 12) => $expand!(195, 12),
(196, 4) => $expand!(196, 4),
(196, 8) => $expand!(196, 8),
(196, 12) => $expand!(196, 12),
(197, 4) => $expand!(197, 4),
(197, 8) => $expand!(197, 8),
(197, 12) => $expand!(197, 12),
(198, 4) => $expand!(198, 4),
(198, 8) => $expand!(198, 8),
(198, 12) => $expand!(198, 12),
(199, 4) => $expand!(199, 4),
(199, 8) => $expand!(199, 8),
(199, 12) => $expand!(199, 12),
(200, 4) => $expand!(200, 4),
(200, 8) => $expand!(200, 8),
(200, 12) => $expand!(200, 12),
(201, 4) => $expand!(201, 4),
(201, 8) => $expand!(201, 8),
(201, 12) => $expand!(201, 12),
(202, 4) => $expand!(202, 4),
(202, 8) => $expand!(202, 8),
(202, 12) => $expand!(202, 12),
(203, 4) => $expand!(203, 4),
(203, 8) => $expand!(203, 8),
(203, 12) => $expand!(203, 12),
(204, 4) => $expand!(204, 4),
(204, 8) => $expand!(204, 8),
(204, 12) => $expand!(204, 12),
(205, 4) => $expand!(205, 4),
(205, 8) => $expand!(205, 8),
(205, 12) => $expand!(205, 12),
(206, 4) => $expand!(206, 4),
(206, 8) => $expand!(206, 8),
(206, 12) => $expand!(206, 12),
(207, 4) => $expand!(207, 4),
(207, 8) => $expand!(207, 8),
(207, 12) => $expand!(207, 12),
(208, 4) => $expand!(208, 4),
(208, 8) => $expand!(208, 8),
(208, 12) => $expand!(208, 12),
(209, 4) => $expand!(209, 4),
(209, 8) => $expand!(209, 8),
(209, 12) => $expand!(209, 12),
(210, 4) => $expand!(210, 4),
(210, 8) => $expand!(210, 8),
(210, 12) => $expand!(210, 12),
(211, 4) => $expand!(211, 4),
(211, 8) => $expand!(211, 8),
(211, 12) => $expand!(211, 12),
(212, 4) => $expand!(212, 4),
(212, 8) => $expand!(212, 8),
(212, 12) => $expand!(212, 12),
(213, 4) => $expand!(213, 4),
(213, 8) => $expand!(213, 8),
(213, 12) => $expand!(213, 12),
(214, 4) => $expand!(214, 4),
(214, 8) => $expand!(214, 8),
(214, 12) => $expand!(214, 12),
(215, 4) => $expand!(215, 4),
(215, 8) => $expand!(215, 8),
(215, 12) => $expand!(215, 12),
(216, 4) => $expand!(216, 4),
(216, 8) => $expand!(216, 8),
(216, 12) => $expand!(216, 12),
(217, 4) => $expand!(217, 4),
(217, 8) => $expand!(217, 8),
(217, 12) => $expand!(217, 12),
(218, 4) => $expand!(218, 4),
(218, 8) => $expand!(218, 8),
(218, 12) => $expand!(218, 12),
(219, 4) => $expand!(219, 4),
(219, 8) => $expand!(219, 8),
(219, 12) => $expand!(219, 12),
(220, 4) => $expand!(220, 4),
(220, 8) => $expand!(220, 8),
(220, 12) => $expand!(220, 12),
(221, 4) => $expand!(221, 4),
(221, 8) => $expand!(221, 8),
(221, 12) => $expand!(221, 12),
(222, 4) => $expand!(222, 4),
(222, 8) => $expand!(222, 8),
(222, 12) => $expand!(222, 12),
(223, 4) => $expand!(223, 4),
(223, 8) => $expand!(223, 8),
(223, 12) => $expand!(223, 12),
(224, 4) => $expand!(224, 4),
(224, 8) => $expand!(224, 8),
(224, 12) => $expand!(224, 12),
(225, 4) => $expand!(225, 4),
(225, 8) => $expand!(225, 8),
(225, 12) => $expand!(225, 12),
(226, 4) => $expand!(226, 4),
(226, 8) => $expand!(226, 8),
(226, 12) => $expand!(226, 12),
(227, 4) => $expand!(227, 4),
(227, 8) => $expand!(227, 8),
(227, 12) => $expand!(227, 12),
(228, 4) => $expand!(228, 4),
(228, 8) => $expand!(228, 8),
(228, 12) => $expand!(228, 12),
(229, 4) => $expand!(229, 4),
(229, 8) => $expand!(229, 8),
(229, 12) => $expand!(229, 12),
(230, 4) => $expand!(230, 4),
(230, 8) => $expand!(230, 8),
(230, 12) => $expand!(230, 12),
(231, 4) => $expand!(231, 4),
(231, 8) => $expand!(231, 8),
(231, 12) => $expand!(231, 12),
(232, 4) => $expand!(232, 4),
(232, 8) => $expand!(232, 8),
(232, 12) => $expand!(232, 12),
(233, 4) => $expand!(233, 4),
(233, 8) => $expand!(233, 8),
(233, 12) => $expand!(233, 12),
(234, 4) => $expand!(234, 4),
(234, 8) => $expand!(234, 8),
(234, 12) => $expand!(234, 12),
(235, 4) => $expand!(235, 4),
(235, 8) => $expand!(235, 8),
(235, 12) => $expand!(235, 12),
(236, 4) => $expand!(236, 4),
(236, 8) => $expand!(236, 8),
(236, 12) => $expand!(236, 12),
(237, 4) => $expand!(237, 4),
(237, 8) => $expand!(237, 8),
(237, 12) => $expand!(237, 12),
(238, 4) => $expand!(238, 4),
(238, 8) => $expand!(238, 8),
(238, 12) => $expand!(238, 12),
(239, 4) => $expand!(239, 4),
(239, 8) => $expand!(239, 8),
(239, 12) => $expand!(239, 12),
(240, 4) => $expand!(240, 4),
(240, 8) => $expand!(240, 8),
(240, 12) => $expand!(240, 12),
(241, 4) => $expand!(241, 4),
(241, 8) => $expand!(241, 8),
(241, 12) => $expand!(241, 12),
(242, 4) => $expand!(242, 4),
(242, 8) => $expand!(242, 8),
(242, 12) => $expand!(242, 12),
(243, 4) => $expand!(243, 4),
(243, 8) => $expand!(243, 8),
(243, 12) => $expand!(243, 12),
(244, 4) => $expand!(244, 4),
(244, 8) => $expand!(244, 8),
(244, 12) => $expand!(244, 12),
(245, 4) => $expand!(245, 4),
(245, 8) => $expand!(245, 8),
(245, 12) => $expand!(245, 12),
(246, 4) => $expand!(246, 4),
(246, 8) => $expand!(246, 8),
(246, 12) => $expand!(246, 12),
(247, 4) => $expand!(247, 4),
(247, 8) => $expand!(247, 8),
(247, 12) => $expand!(247, 12),
(248, 4) => $expand!(248, 4),
(248, 8) => $expand!(248, 8),
(248, 12) => $expand!(248, 12),
(249, 4) => $expand!(249, 4),
(249, 8) => $expand!(249, 8),
(249, 12) => $expand!(249, 12),
(250, 4) => $expand!(250, 4),
(250, 8) => $expand!(250, 8),
(250, 12) => $expand!(250, 12),
(251, 4) => $expand!(251, 4),
(251, 8) => $expand!(251, 8),
(251, 12) => $expand!(251, 12),
(252, 4) => $expand!(252, 4),
(252, 8) => $expand!(252, 8),
(252, 12) => $expand!(252, 12),
(253, 4) => $expand!(253, 4),
(253, 8) => $expand!(253, 8),
(253, 12) => $expand!(253, 12),
(254, 4) => $expand!(254, 4),
(254, 8) => $expand!(254, 8),
(254, 12) => $expand!(254, 12),
(255, 4) => $expand!(255, 4),
(255, 8) => $expand!(255, 8),
(255, 12) => $expand!(255, 12),
(_, _) => panic!("Invalid sae value"),
}
};
}
#[cfg(test)]
macro_rules! assert_approx_eq {
($a:expr, $b:expr, $eps:expr) => {{
let (a, b) = (&$a, &$b);
assert!(
(*a - *b).abs() < $eps,
"assertion failed: `(left !== right)` \
(left: `{:?}`, right: `{:?}`, expect diff: `{:?}`, real diff: `{:?}`)",
*a,
*b,
$eps,
(*a - *b).abs()
);
}};
}