#include "liblocky.h" double blky_block_estimate( const blky_sensor_t* sensors, uint64_t n, double max_var, double min_avg) { double sum = 0; for (uint64_t i = 0; i < n; ++i) { sum += blky_abs(sensors[i].correl); } const double avg = sum / (double) n; double var = 0; for (uint64_t i = 0; i < n; ++i) { const double diff = blky_abs(sensors[i].correl) - avg; var += diff*diff; } var /= (double) n; // FIXME: calculate probability // if (var > max_var) return 0; // if (avg < min_avg) return 0; // return 1; // //if (var > 0.001) return 0; (void) max_var; (void) min_avg; if (var > 0.01) return 0; return blky_clamp(avg, 0, 1); }