- g_variant_get(data, "(dd)", &low, &high);
- ret = SR_ERR_ARG;
- for (i = 0; i < ARRAY_SIZE(volt_thresholds); i++) {
- if (fabs(volt_thresholds[i].low - low) < 0.1 &&
- fabs(volt_thresholds[i].high - high) < 0.1) {
- devc->selected_voltage_range =
- volt_thresholds_ranges[i].range;
- ret = SR_OK;
- break;
- }
- }
+ if ((idx = std_double_tuple_idx(data, ARRAY_AND_SIZE(thresholds))) < 0)
+ return SR_ERR_ARG;
+ devc->selected_voltage_range = thresholds_ranges[idx].range;