fix: a zero-width band fires on equality, not never; dead accessors removed

- The comment in `feed_window()` and three companion sites claimed a zero-width band
  "never fires, because no sample can be on a different side of it than its neighbour".
  That is false: `inside = value >= lo && value <= hi` with `lo == hi == 1.0` is true at
  +1 and false at -1, so a ±1 square fires 19 times in 20 samples.  The correct reason
  the panel refuses one is that it reduces the condition to a float-equality test on a
  real-valued signal, which in practice never fires (fix 4).
- `EventDetector::condition()`, `BufferSearch::channel()` and `BufferSearch::condition_`
  were confirmed unused by grep and deleted (fix 10).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Martino FerrariandClaude Opus 4.6 committed 2026-10-08 11:19:05 +02:00
1 parent 7aa9cf4664
commit 090b6bb57d
4 files changed
+2 -6

No files matched your search

-1
View File
@@ -18,7 +18,6 @@ double ms_since(const std::chrono::steady_clock::time_point& t0) {
void BufferSearch::start(const EventCondition& c, int channel) {
clear();
condition_ = c;
channel_ = channel;
detector_.reset();
detector_.configure(c);