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

stillwater-sc / universal / 28460029221
85%
master: 84%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 30 Jun 2026 05:13PM UTC
Jobs 1
Files 692
Run time 2min
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

30 Jun 2026 04:30PM UTC coverage: 84.607%. Remained the same
28460029221

push

github

web-flow
feat(efloat): implement mathematical square root, cube root, and hypotenuse library (#1129)

* feat(efloat): implement mathematical square root, cube root, and hypotenuse library (#1118)

Implement cbrt() (Newton-Raphson cube root solver with scale-derived starting guess) and
hypot() (positive hypotenuse scaled to prevent overflow) inside math/sqrt.hpp.

Overhaul sqrt() exceptional checks to replace isneg() with sign() == -1, correctly capturing
and returning NaN with InvalidOperation for sqrt(-inf).

Update math.cpp inside elastic/efloat/math/ to add extensive tests for sqrt(-inf), cbrt, and
hypot.

Resolves #1118
Relates to parent Issue #1092, Epic #1101

* fix(efloat): resolve CodeRabbit reviews round 2 on minmax and sqrt

1. Resolve sqrt.hpp (hypot check ordering) review:
   reorder special-case checks inside hypot() so that infinity is checked BEFORE NaN,
   ensuring hypot(NaN, +inf) correctly returns +inf in accordance with standard IEEE-754.

2. Resolve math.cpp (cbrt and hypot validation) review:
   - Update cbrt(2.0) test to use an efloat-space round-trip check (cbrt_two * cbrt_two
     * cbrt_two == 2.0) rather than standard double std::cbrt(2.0) oracle, preventing 53-bit
     truncation.
   - Add tests for hypot(NaN, +inf) and hypot(+inf, NaN).

3. Resolve minmax.cpp (direct imports and NaN propagation) review:
   - Add direct include of math/minmax.hpp inside minmax.cpp.
   - Add assertions for fmax(NaN, NaN) and explicit fdim NaN-propagation.

Resolves #1118, PR #1129

* fix(efloat): resolve CodeRabbit reviews round 3 on sqrt/cbrt

1. Resolve math.cpp (cbrt validation) review:
   overhaul the cbrt(2.0) check inside math.cpp to use a 256-bit efloat-space round-trip error
   difference check (diff < 2^-200) instead of double-based IsClose(), keeping the validation
   completely in efloat precision and preventing any 53-bit truncation of error steps.

2. Resolve math.cpp (hypot inf validation) review:
   update hypot(NaN, +inf) and hypot(+in... (continued)

32 of 36 new or added lines in 1 file covered. (88.89%)

9 existing lines in 3 files now uncovered.

49194 of 58144 relevant lines covered (84.61%)

6614767.22 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
92.59
-7.41% include/sw/universal/number/efloat/math/sqrt.hpp

Coverage Regressions

Lines Coverage ∆ File
6
50.45
-5.41% include/sw/universal/verification/posit_test_suite_randoms.hpp
2
89.78
-0.55% include/sw/universal/number/posito/posito_impl.hpp
1
80.58
-0.22% include/sw/universal/number/posit1/specialized/posit_16_1.hpp
Jobs
ID Job ID Ran Files Coverage
1 28460029221.1 30 Jun 2026 05:13PM UTC 692
84.61
GitHub Action Run
Source Files on build 28460029221
  • Tree
  • List 692
  • Changed 5
  • Source Changed 1
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28460029221
  • 1d6f3e64 on github
  • Prev Build on main (#28439329267)
  • Next Build on main (#28473943872)
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