• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

paulmthompson / WhiskerToolbox / 15664585996
73%

Build:
DEFAULT BRANCH: main
Ran 15 Jun 2025 04:29PM UTC
Jobs 1
Files 123
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Jun 2025 03:13PM UTC coverage: 66.58% (+1.4%) from 65.21%
15664585996

push

github

paulmthompson
Refactor min/max statistical functions with NaN error handling and TimeFrameIndex support

- Replace 0.0f return values with std::numeric_limits<float>::quiet_NaN() for invalid operations
  * Consistent with IEEE 754 standards and mathematical library conventions
  * Matches existing DataAggregation.cpp pattern of using NaN for missing data
  * Enables proper error detection with std::isnan()

- Create layered architecture for min/max functions:
  * Core template implementations: calculate_min_impl/calculate_max_impl(Iterator, Iterator)
  * Supporting vector implementations: calculate_min_impl/calculate_max_impl(vector, start, end)
  * Span-based operations: calculate_min/calculate_max(std::span<const float>)
  * High-level interfaces:
    - calculate_min/calculate_max(AnalogTimeSeries) - entire series
    - calculate_min/calculate_max(AnalogTimeSeries, start, end) - index-based range
    - calculate_min_in_time_range/calculate_max_in_time_range(AnalogTimeSeries, start_time, end_time) - NEW TimeFrameIndex-based

- Add comprehensive test coverage:
  * Span-based operations with empty/partial spans
  * TimeFrameIndex range operations for sparse and dense storage
  * Boundary approximation when exact times don't exist
  * Consistency verification between all calculation methods
  * Edge cases: negative values, identical values, invalid ranges
  * Vector implementation testing with various range conditions

- Maintain zero-copy efficiency using std::span for range operations
- Ensure all methods return identical results for equivalent data ranges

205 of 207 new or added lines in 4 files covered. (99.03%)

13 existing lines in 2 files now uncovered.

8405 of 12624 relevant lines covered (66.58%)

1215.17 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
87.5
src/WhiskerToolbox/DataManager/AnalogTimeSeries/utils/statistics.hpp

Uncovered Existing Lines

Lines Coverage ∆ File
6
94.26
49.16% src/WhiskerToolbox/DataManager/AnalogTimeSeries/utils/statistics.cpp
7
92.13
0.04% src/WhiskerToolbox/DataManager/utils/DataAggregation/DataAggregation.cpp
Jobs
ID Job ID Ran Files Coverage
1 15664585996.1 15 Jun 2025 04:29PM UTC 123
66.58
GitHub Action Run
Source Files on build 15664585996
  • Tree
  • List 123
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #15664585996
  • ebbac4da on github
  • Prev Build on main (#15655387894)
  • Next Build on main (#15685147280)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc