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

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

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 14 Aug 2026 04:30PM UTC
Jobs 1
Files 616
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

14 Aug 2026 03:53PM UTC coverage: 85.361%. Remained the same
31816715669

push

github

web-flow
feat(ucalc): register the logarithmic takum (#1310)

takum_log was absent from the calculator, so the one thing it is most useful
for -- seeing that the two variants disagree -- could not be done there.

Registration alone was enough.  ucalc.cpp already includes takum.hpp, which
pulls in takum_log_impl.hpp, and the generic register_type<T> detects the type's
capabilities through SFINAE and ADL rather than requiring a specialization.  All
four widths work through the existing paths: show, bits, range, precision, ulp,
compare, diverge.

The interesting one is diverge, which now spans the two encodings:

    > diverge x*x takum32 takum_log32 1e-9 for x in [1,2]
      first divergence at x = 1.0000169297250676
      takum32       1.000033855
      takum_log32   1.000033863
      ulp diff:     2.154 ULPs

and the same value lands on different bits, as it must:

    takum32      3.0 -> 0b0.1.001.0.10000000000000000000000000
    takum_log32  3.0 -> 0b0.1.001.1.00110010011111010100111101

The takum family had no coverage in ucalc's regression at all, so this adds it
for both variants: arithmetic, sqrt, constants, and the widths from 8 to 64.

Two of those checks exist specifically to catch a registration that compiles but
is wrong.  A registration that silently aliased takum_log32 to takum32 would
satisfy every value check -- both types compute 1+1 -- so the suite also asserts
that the two produce DIFFERENT encodings and different type tags for the same
input.  Verified by mutation: aliasing the registration trips three checks, the
two above plus e, which is exactly representable in the logarithmic takum and in
no binary floating-point format because the value base is sqrt(e).

42182 of 49416 relevant lines covered (85.36%)

7262776.82 hits per line

Jobs
ID Job ID Ran Files Coverage
1 31816715669.1 14 Aug 2026 04:30PM UTC 616
85.36
GitHub Action Run
Source Files on build 31816715669
  • Tree
  • List 616
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31816715669
  • ec00786b on github
  • Prev Build on main (#31797849430)
  • Next Build on main (#31833665626)
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