| 192 | |
| 193 | |
| 194 | uint16_t DistanceTable::count(float value, float epsilon) |
| 195 | { |
| 196 | uint16_t cnt = 0; |
| 197 | for (uint16_t index = 0; index < _elements; index++) |
| 198 | { |
| 199 | float current = _distanceTable[index]; |
| 200 | if (abs (current - value) < epsilon) cnt++; |
| 201 | else if (_invert) |
| 202 | { |
| 203 | if (abs (current + value) < epsilon) cnt++; |
| 204 | } |
| 205 | } |
| 206 | if (_invert) return cnt; |
| 207 | return cnt * 2; // count the symmetrical elements too. |
| 208 | } |
| 209 | |
| 210 | |
| 211 | uint16_t DistanceTable::countAbove(float value) |