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

stillwater-sc / universal / 23203718673 / 1
85%
master: 84%

Build:
Build:
LAST BUILD BRANCH: feat/issue-1061-online-muldiv
DEFAULT BRANCH: master
Ran 17 Mar 2026 04:31PM UTC
Files 625
Run time 16s
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

17 Mar 2026 04:02PM UTC coverage: 84.127% (-0.04%) from 84.166%
23203718673.1

push

github

web-flow
feat(blas): implement client-directed type registry for serialization (#587)

* feat(blas): implement client-directed type registry for serialization

Replace the framework-enumerates-all-types pattern with a compile-time
type registry where the client declares its supported types:

  using MyTypes = type_list<float, double, half>;
  typed_datafile<MyTypes> df;
  df.restore(stream);  // only instantiates float, double, half

New files:
- type_registry.hpp: type_list<>, dispatch<>, try_match<> using
  fold expressions for compile-time generated type matching
- typed_datafile.hpp: typed_datafile<TypeList> class that uses the
  registry for restore dispatch; save is type-erased via ICollection

Extended datafile.hpp:
- Added type IDs for posit v2, dd, qd
- Added type names to scalarType() for new types

Test suite (typed_serialization.cpp):
- Float/double/half vector round-trip
- Type mismatch (graceful error when type not in registry)
- Multiple datasets in one file

Resolves #583

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

* fix(blas): address CodeRabbit review on typed_datafile

1. Fix memory leak (critical): restore path used raw new without
   delete. Add OwnedCollectionContainer that holds a unique_ptr
   to the data, freeing it on destruction.

2. Fix bounds check: name(i) now uses .at(i) for bounds safety.

3. Matrix dimensionality: acknowledged as TODO for Phase 3;
   added comment documenting the limitation.

4. dd/qd generateScalarTypeId branches: these were intentionally
   removed due to posit1/posit2 trait header conflicts when
   number_systems.hpp is included. The typed_datafile path works
   because the client includes the correct type headers. The
   branches will be added when the trait conflict is resolved.

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

43841 of 52113 relevant lines covered (84.13%)

6046805.51 hits per line

Source Files on job 23203718673.1
  • Tree
  • List 625
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 23203718673
  • d0168813 on github
  • Prev Job for on main (#23176044597.1)
  • Next Job for on main (#23212981572.1)
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