[input] Use double for recipe float values

Recipes themselves still use float, but using double in the cexpr values
allows bare floating point numbers (which parse as double) to be used,
making the bind command line a little more user-friendly.
This commit is contained in:
Bill Currie 2021-11-12 08:09:41 +09:00
parent adaa3c5485
commit 08083b8630

View file

@ -336,12 +336,14 @@ in_bind_f (void)
.curve = 1,
.scale = 1,
};
double curve = recipe.curve;
double scale = recipe.scale;
exprsym_t var_syms[] = {
{"minzone", &cexpr_int, &recipe.minzone},
{"maxzone", &cexpr_int, &recipe.maxzone},
{"deadzone", &cexpr_int, &recipe.deadzone},
{"curve", &cexpr_float, &recipe.curve},
{"scale", &cexpr_float, &recipe.scale},
{"curve", &cexpr_double, &curve},
{"scale", &cexpr_double, &scale},
{}
};
exprtab_t vars_tab = { var_syms, 0 };
@ -365,6 +367,8 @@ in_bind_f (void)
}
}
if (i == argc) {
recipe.curve = curve;
recipe.scale = scale;
IMT_BindAxis (imt, dev->axis_imt_id + num, axis, &recipe);
}
Hash_DelTable (vars_tab.tab);