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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 18 Jul 2026 06:41PM UTC
Jobs 1
Files 695
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

18 Jul 2026 05:53PM UTC coverage: 84.689% (+0.02%) from 84.674%
29654787094

push

github

web-flow
fix(efloat): make sqrt()/cbrt() precision-adaptive (were capped at ~97 digits) (#1143)

sqrt() and cbrt() ran a FIXED 7 Newton iterations. The comment claimed "7
iterations converge up to 2048 bits", but that assumes a ~52-bit seed; the
actual initial guess is exponent-only (2^(scale/2), mantissa 1.0), accurate to
~1 bit -- deliberately, to preserve efloat's unbounded exponent range. From a
1-bit seed, quadratic convergence reaches only ~2^7 bits, so accuracy was frozen
at ~323 bits (~97 digits) regardless of get_precision() (issue #1140).

Keep the unbounded-range seed but scale the iteration count with the working
precision: ~ceil(log2(P)) doublings plus guard steps, where P is the max
precision feeding the arithmetic (operand or seed/default, whichever is larger).
A convergence break stops as soon as the update falls below P, so the guard
steps cost nothing once converged. Same fix applied to cbrt.

Verified: |sqrt(2)^2 - 2| and |cbrt(2)^3 - 2| now converge to the type's full
precision (e.g. exact at efloat<128>), not ~2^-323. New regression test
elastic/efloat/math/sqrt_precision.cpp asserts accuracy scales with precision
(>2000-bit agreement at efloat<64>, far past the old ~323-bit cap) plus basic
values and special cases. All existing efloat math tests still pass on gcc
13.3.0 and clang 18.1.3.

Resolves #1140

14 of 14 new or added lines in 1 file covered. (100.0%)

49454 of 58395 relevant lines covered (84.69%)

6844096.72 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29654787094.1 18 Jul 2026 06:41PM UTC 695
84.69
GitHub Action Run
Source Files on build 29654787094
  • Tree
  • List 695
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29654787094
  • 352682c2 on github
  • Prev Build on main (#29649682345)
  • Next Build on main (#29657033445)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc