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

stillwater-sc / universal / 37687696635
86%
master: 84%

Build:
Build:
LAST BUILD BRANCH: ci/install-timeouts
DEFAULT BRANCH: master
Ran 07 Oct 2026 09:58PM UTC
Jobs 1
Files 693
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

07 Oct 2026 09:12PM UTC coverage: 86.305% (+0.1%) from 86.204%
37687696635

push

github

web-flow
feat(poxel): tile_interval enclosure and the five #1637 ubit applications (#1641)

* feat(poxel): tile_interval enclosure and the five #1637 ubit applications

tile_interval<Tile> is a guaranteed enclosure built from a pair of ubit
tiles. It works for poxel and for areal tiles of up to 64 bits. Every
operation is evaluated on exact endpoints only. Both tile types return
the tile containing the exact result of an exact-operand op, and that
one tile gives both directed roundings. Tiles are integer keys in tile
order. Open ends stay open, so (0, minpos) + (0, minpos) is strictly
positive. sign() is positive, negative, zero or undecidable, never
wrong. cos is enclosed by the Taylor sums S_30 <= cos <= S_28.

Tests: exhaustive enclosure and tightness for every pair of tiles of
poxel<8,0>, poxel<9,2> and areal<8,2>. Multi-tile operands, open ends,
and cos up to poxel<64,2>. Mutations caught: a shifted bound, missing
product corners, swapped Taylor bounds, endpoint and strictness errors.

The applications compare float, double, posit, single tiles (a flag)
and tile intervals (an enclosure), each with assertions:
- Rump: every rounding format is wrong, posit<32,2> with the wrong
  sign; the intervals contain -0.8274 and are honestly undecidable.
- Muller-Kahan: everything rounding settles on 100; the intervals
  contain the exact iterate at every step.
- det(M^k): double returns 0 (fused multiply-add) or the wrong sign
  (unfused); no interval asserts a wrong sign; 64-bit ones prove
  det(M) > 0.
- BBP tail (reformulated at 16 bits): half flushes to 0, posit<16,2>
  rounds up to minpos; tile_interval<poxel<17,2>> proves
  0 < S < 1e-16.
- Griewank: float, double and posit report g < 0;
  tile_interval<poxel<64,2>> proves g > 0.

The poxel doc's subtraction wording is corrected: a - b adds the
negated tile.

Refs #1637, #1631

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(poxel): check all four k = 50 verdicts; disjoint intersect is nan

geome... (continued)

172 of 174 new or added lines in 1 file covered. (98.85%)

47133 of 54612 relevant lines covered (86.31%)

9995846.38 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
98.85
include/sw/universal/utility/tile_interval.hpp
Jobs
ID Job ID Ran Files Coverage
1 37687696635.1 07 Oct 2026 09:58PM UTC 693
86.31
GitHub Action Run
Source Files on build 37687696635
  • Tree
  • List 693
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37687696635
  • eacec468 on github
  • Prev Build on main (#37364685012)
  • Next Build on main (#37803630275)
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