macro_rules! resolve_float_force_range {
($ns:expr, $field:expr, $default_from:expr, $default_to:expr) => { ... };
}Expand description
Resolves a numeric range, converting integers to floats if needed.
Handles empty ranges (..), bounded ranges, and partial ranges.
Automatically converts integer values to f32.
ยงExamples
use ratslang::{compile_code, resolve_var, resolve_float_force_range, Rhs, Val, NumVal};
use anyhow::anyhow;
struct Configs {
user: ratslang::VariableHistory,
defaults: ratslang::VariableHistory,
}
let code = "range = 10..100";
let ast = compile_code(code)?;
let configs = Configs {
user: ast.vars,
defaults: ratslang::VariableHistory::new(vec![]),
};
let (min, max) = resolve_float_force_range!(configs, "range", 0.0, 200.0)?;
assert_eq!(min, 10.0);
assert_eq!(max, 100.0);