mod part_00;
pub const MODEL_SHA256: &str = "d14cede10c0dd19f31984bfd4126f418b0a2bed588a7aaf955c5a6259b8fc26c";
pub const FEATURES: [&str; 29] = ["rows", "cols", "cells", "numeric", "words_cell", "col_words_max", "col_words_min", "heading_share", "p_head_max", "p_head_mean", "first_col_p_head", "empty", "height_share", "wordy_share", "first_col_words", "words_filled_median", "words_filled_mean", "figure_share_filled", "sentence_share", "lines_median", "run_on_share", "row_overlap", "column_start_spread", "judge_p", "from_builder", "grid_rows", "grid_columns", "filled_share", "has_rulings"];
pub const THRESHOLD: f64 = 0.22_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; 29]) -> f64 {
let acc = 0.0;
part_00::add(x, acc)
}