macro_rules! impl_score_set32 {
($($idx:tt $F:ident),+) => {
impl<C, $($F: Fn(&C) -> f32),+> crate::ScoreSetTrait32<C>
for ($(crate::Metric32<C, $F>,)+)
{
fn weighted_sum(&self, weights: &[f32], ctx: &C) -> f32 {
0.0_f32 $(+ self.$idx.eval(ctx).map(|w| w.into_inner()).unwrap_or(0.0) * weights[$idx])+
}
fn collect_breakdown(
&self,
weights: &[f32],
ctx: &C,
) -> alloc::vec::Vec<crate::Breakdown32> {
alloc::vec![
$(self.$idx.make_breakdown(weights[$idx], ctx),)+
]
}
}
};
}
#[cfg(feature = "fixed-tuple-1")]
impl<C, F0: Fn(&C) -> f32> crate::ScoreSetTrait32<C> for (crate::Metric32<C, F0>,) {
fn weighted_sum(&self, weights: &[f32], ctx: &C) -> f32 {
self.0.eval(ctx).map(|w| w.into_inner()).unwrap_or(0.0) * weights[0]
}
fn collect_breakdown(&self, weights: &[f32], ctx: &C) -> alloc::vec::Vec<crate::Breakdown32> {
alloc::vec![self.0.make_breakdown(weights[0], ctx)]
}
}
#[cfg(feature = "fixed-tuple-2")]
impl_score_set32!(0 F0, 1 F1);
#[cfg(feature = "fixed-tuple-3")]
impl_score_set32!(0 F0, 1 F1, 2 F2);
#[cfg(feature = "fixed-tuple-4")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3);
#[cfg(feature = "fixed-tuple-5")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4);
#[cfg(feature = "fixed-tuple-6")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5);
#[cfg(feature = "fixed-tuple-7")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6);
#[cfg(feature = "fixed-tuple-8")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7);
#[cfg(feature = "fixed-tuple-9")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8);
#[cfg(feature = "fixed-tuple-10")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9);
#[cfg(feature = "fixed-tuple-11")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10);
#[cfg(feature = "fixed-tuple-12")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11);
#[cfg(feature = "fixed-tuple-13")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12);
#[cfg(feature = "fixed-tuple-14")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13);
#[cfg(feature = "fixed-tuple-15")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14);
#[cfg(feature = "fixed-tuple-16")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15);
#[cfg(feature = "fixed-tuple-17")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16);
#[cfg(feature = "fixed-tuple-18")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17);
#[cfg(feature = "fixed-tuple-19")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18);
#[cfg(feature = "fixed-tuple-20")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19);
#[cfg(feature = "fixed-tuple-21")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20);
#[cfg(feature = "fixed-tuple-22")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21);
#[cfg(feature = "fixed-tuple-23")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22);
#[cfg(feature = "fixed-tuple-24")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23);
#[cfg(feature = "fixed-tuple-25")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24);
#[cfg(feature = "fixed-tuple-26")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25);
#[cfg(feature = "fixed-tuple-27")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26);
#[cfg(feature = "fixed-tuple-28")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27);
#[cfg(feature = "fixed-tuple-29")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28);
#[cfg(feature = "fixed-tuple-30")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29);
#[cfg(feature = "fixed-tuple-31")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30);
#[cfg(feature = "fixed-tuple-32")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31);
#[cfg(feature = "fixed-tuple-33")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32);
#[cfg(feature = "fixed-tuple-34")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33);
#[cfg(feature = "fixed-tuple-35")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34);
#[cfg(feature = "fixed-tuple-36")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35);
#[cfg(feature = "fixed-tuple-37")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36);
#[cfg(feature = "fixed-tuple-38")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37);
#[cfg(feature = "fixed-tuple-39")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38);
#[cfg(feature = "fixed-tuple-40")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39);
#[cfg(feature = "fixed-tuple-41")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40);
#[cfg(feature = "fixed-tuple-42")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41);
#[cfg(feature = "fixed-tuple-43")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42);
#[cfg(feature = "fixed-tuple-44")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43);
#[cfg(feature = "fixed-tuple-45")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44);
#[cfg(feature = "fixed-tuple-46")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45);
#[cfg(feature = "fixed-tuple-47")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46);
#[cfg(feature = "fixed-tuple-48")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47);
#[cfg(feature = "fixed-tuple-49")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48);
#[cfg(feature = "fixed-tuple-50")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49);
#[cfg(feature = "fixed-tuple-51")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50);
#[cfg(feature = "fixed-tuple-52")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51);
#[cfg(feature = "fixed-tuple-53")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52);
#[cfg(feature = "fixed-tuple-54")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53);
#[cfg(feature = "fixed-tuple-55")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54);
#[cfg(feature = "fixed-tuple-56")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54, 55 F55);
#[cfg(feature = "fixed-tuple-57")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54, 55 F55, 56 F56);
#[cfg(feature = "fixed-tuple-58")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54, 55 F55, 56 F56, 57 F57);
#[cfg(feature = "fixed-tuple-59")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54, 55 F55, 56 F56, 57 F57, 58 F58);
#[cfg(feature = "fixed-tuple-60")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54, 55 F55, 56 F56, 57 F57, 58 F58, 59 F59);
#[cfg(feature = "fixed-tuple-61")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54, 55 F55, 56 F56, 57 F57, 58 F58, 59 F59, 60 F60);
#[cfg(feature = "fixed-tuple-62")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54, 55 F55, 56 F56, 57 F57, 58 F58, 59 F59, 60 F60, 61 F61);
#[cfg(feature = "fixed-tuple-63")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54, 55 F55, 56 F56, 57 F57, 58 F58, 59 F59, 60 F60, 61 F61, 62 F62);
#[cfg(feature = "fixed-tuple-64")]
impl_score_set32!(0 F0, 1 F1, 2 F2, 3 F3, 4 F4, 5 F5, 6 F6, 7 F7, 8 F8, 9 F9, 10 F10, 11 F11, 12 F12, 13 F13, 14 F14, 15 F15, 16 F16, 17 F17, 18 F18, 19 F19, 20 F20, 21 F21, 22 F22, 23 F23, 24 F24, 25 F25, 26 F26, 27 F27, 28 F28, 29 F29, 30 F30, 31 F31, 32 F32, 33 F33, 34 F34, 35 F35, 36 F36, 37 F37, 38 F38, 39 F39, 40 F40, 41 F41, 42 F42, 43 F43, 44 F44, 45 F45, 46 F46, 47 F47, 48 F48, 49 F49, 50 F50, 51 F51, 52 F52, 53 F53, 54 F54, 55 F55, 56 F56, 57 F57, 58 F58, 59 F59, 60 F60, 61 F61, 62 F62, 63 F63);
#[macro_export]
macro_rules! score_set32 {
($($w:expr => $m:expr),+ $(,)?) => {{
let raw = [$($w as f32),+];
$crate::Scored32::new(($($m,)+), &raw)
}};
}