29 input_ok &= (valueIdx < itemCount);
31 input_ok &= valid_opt_idx(scaleIdx, itemCount);
32 input_ok &= valid_opt_idx(rgIdx, itemCount);
33 input_ok &= valid_opt_idx(binIdx, itemCount);
36 input_ok &= (binIdx >= 0);
37 input_ok &= (
static_cast<size_t>(binIdx + 1) < itemCount);
40 input_ok &= !conflicts_with_value(scaleIdx, valueIdx);
41 input_ok &= !conflicts_with_value(rgIdx, valueIdx);
42 input_ok &= !conflicts_with_value(binIdx, valueIdx);
44 input_ok &= (
static_cast<size_t>(binIdx + 1) != valueIdx);
47 input_ok &= !conflicts(scaleIdx, rgIdx);
48 input_ok &= !conflicts(scaleIdx, binIdx);
49 input_ok &= !(binIdx != -1 && scaleIdx >= 0 && scaleIdx == binIdx + 1);
50 input_ok &= !conflicts(rgIdx, binIdx);
51 input_ok &= !(binIdx != -1 && rgIdx >= 0 && rgIdx == binIdx + 1);
53 const size_t minCols =
55 + (scaleIdx != -1 ? 1 : 0)
56 + (rgIdx != -1 ? 1 : 0)
57 + (binIdx != -1 ? 2 : 0);
59 input_ok &= (itemCount >= minCols);
62 LOG_ERROR(
"ValueError",
"Invalid LHA Block prototype.");
void add_lha_prototype(BlockName blockName, size_t itemCount=2, size_t valueIdx=1, int scaleIdx=-1, int rgIdx=-1, int binIdx=-1, bool globalScale=false)
Adds or overrides an LHA block prototype used by LhaParser.
void add_lha_prototype(BlockName blockName, size_t itemCount=2, size_t valueIdx=1, int scaleIdx=-1, int rgIdx=-1, int binIdx=-1, bool globalScale=false)
Adds a new LHA block prototype to the global set.