// SPDX-License-Identifier: AGPL-3.0-or-later
//! Heuristic bets H1–H33.

mod h1;
mod h10;
mod h11;
mod h12;
mod h13;
mod h14;
mod h15;
mod h16;
mod h17;
mod h18;
mod h19;
mod h2;
mod h20;
mod h21;
mod h22;
mod h23;
mod h24;
mod h25;
mod h27;
mod h28;
mod h29;
mod h3;
mod h30;
mod h31;
mod h32;
mod h33;
mod h4;
mod h5;
mod h6;
mod h7;
mod h8;
mod h9;

use crate::retro::types::{Bet, Inputs};

pub fn all_bets(inputs: &Inputs) -> Vec<Bet> {
    let mut v = Vec::new();
    v.extend(h1::run(inputs));
    v.extend(h2::run(inputs));
    v.extend(h3::run(inputs));
    v.extend(h4::run(inputs));
    v.extend(h5::run(inputs));
    v.extend(h6::run(inputs));
    v.extend(h7::run(inputs));
    v.extend(h8::run(inputs));
    v.extend(h9::run(inputs));
    v.extend(h10::run(inputs));
    v.extend(h11::run(inputs));
    v.extend(h12::run(inputs));
    v.extend(h13::run(inputs));
    v.extend(h14::run(inputs));
    v.extend(h15::run(inputs));
    v.extend(h16::run(inputs));
    v.extend(h17::run(inputs));
    v.extend(h18::run(inputs));
    v.extend(h19::run(inputs));
    v.extend(h20::run(inputs));
    v.extend(h21::run(inputs));
    v.extend(h22::run(inputs));
    v.extend(h23::run(inputs));
    v.extend(h24::run(inputs));
    v.extend(h25::run(inputs));
    v.extend(h27::run(inputs));
    v.extend(h28::run(inputs));
    v.extend(h29::run(inputs));
    v.extend(h30::run(inputs));
    v.extend(h31::run(inputs));
    v.extend(h32::run(inputs));
    v.extend(h33::run(inputs));
    v
}
