mod part_00;
mod part_01;
pub const MODEL_SHA256: &str = "c5183209ec4d2ab66d30959378e32966f3f9efebe66519939b562ca402ee8535";
pub const FEATURES: [&str; 18] = ["judge_p", "from_builder", "words", "rows", "columns", "fill", "numeric_share", "header_gap", "row_cv", "column_residual", "near_miss", "edge_cut", "agreement", "caption_above", "prose_cells", "area_share", "spanning_share", "prose_column"];
pub const THRESHOLD: f64 = 0.0_f64;
#[inline(always)]
fn go_left(value: f64, threshold: f64, default_left: bool, missing: u8) -> bool {
let value = if missing != 2 && value.is_nan() { 0.0 } else { value };
if (missing == 1 && value.abs() <= 1e-35) || (missing == 2 && value.is_nan()) {
return default_left;
}
value <= threshold
}
pub fn predict_margin(x: &[f64; 18]) -> f64 {
let acc = 0.0;
let acc = part_00::add(x, acc);
part_01::add(x, acc)
}