Releases: stillwater-sc/universal
Universal v3.95
Universal Numbers Library v3.95
What's New
Changes since v3.94:
- V3.95: Block formats and CI compile caches (#502)
Installation
Universal is a header-only C++ template library. To use:
find_package(UNIVERSAL CONFIG REQUIRED)
target_link_libraries(your_target universal::universal)Or simply add include/sw to your include path.
Requirements
- C++20 compatible compiler (GCC 10+, Clang 12+, MSVC 2019+)
- CMake 3.16+
What's Changed
- V3.95: Block formats and CI compile caches by @Ravenwater in #502
Full Changelog: v3.94...v3.95
Universal v3.94
Universal Numbers Library v3.94
What's New
Changes since v3.93:
- V3.94: interval arithmetic for mixed-precision algorithm SDK (#501)
Installation
Universal is a header-only C++ template library. To use:
find_package(UNIVERSAL CONFIG REQUIRED)
target_link_libraries(your_target universal::universal)Or simply add include/sw to your include path.
Requirements
- C++20 compatible compiler (GCC 10+, Clang 12+, MSVC 2019+)
- CMake 3.16+
What's Changed
- V3.94: interval arithmetic for mixed-precision algorithm SDK by @Ravenwater in #501
Full Changelog: v3.93...v3.94
Universal v3.93
Universal Numbers Library v3.93
What's New
Changes since v3.92:
- V3.93: UBSan fixes, image demo, and coverage workflow (#499)
Installation
Universal is a header-only C++ template library. To use:
find_package(UNIVERSAL CONFIG REQUIRED)
target_link_libraries(your_target universal::universal)Or simply add include/sw to your include path.
Requirements
- C++20 compatible compiler (GCC 10+, Clang 12+, MSVC 2019+)
- CMake 3.16+
What's Changed
- V3.93: UBSan fixes, image demo, and coverage workflow by @Ravenwater in #499
Full Changelog: v3.92...v3.93
Universal v3.92
Universal Numbers Library v3.92
What's New
Changes since v3.91:
- V3.92: process improvements (#497)
Installation
Universal is a header-only C++ template library. To use:
find_package(UNIVERSAL CONFIG REQUIRED)
target_link_libraries(your_target universal::universal)Or simply add include/sw to your include path.
Requirements
- C++20 compatible compiler (GCC 10+, Clang 12+, MSVC 2019+)
- CMake 3.16+
What's Changed
- V3.92: process improvements by @Ravenwater in #497
Full Changelog: v3.91...v3.92
v3.91: quality upgrade
V3.91 (#495) * Incrementing SEMVER to v3.91 * RCA'ed the GCC array-bound warnings to be a GCC bug: mitigating with pragma guards * unicode clean up * Incrementing SEMVER to v3.91 * RCA'ed the GCC array-bound warnings to be a GCC bug: mitigating with pragma guards * unicode clean up * [#490] regression fixes for Apple CLang * WIP: adding complex<> library to deal with non-native floating-point types * change and session logs for Jan 11th, 2026 * WIP: posit float conversion debug utilities * WIP: resurrecting the docker builder and release container automation * Clang x86 test failure fixes (#491) * Add temporary Clang x86 workaround toggle for positRegime and bfloat16 cos * Clang on x86: CI fixes - PR update * Fixes for several compiler warnings. (#493) * UBSan / ASan fixes uncovered by intermittent test failures (#492) * Fixes for several undefined behavior issues caught by UBSan * UBSan fix: *WIP* Grisu gfp broken (Negative array index fix) * [Codex]Fixes for several undefined behavior and undefined address issues caught by UBSan and UASan These fixes were made by OpenAI Codex and could probably use additional review * fixing incorrect suggestion if (v == -v) finds the special case 0x100...000 if (v == numeric_limits<Arith>::min()) finds 0 as Arith == bool Signed-off-by: Theodore Omtzigt <theo@stillwater-sc.com> --------- Signed-off-by: Theodore Omtzigt <theo@stillwater-sc.com> Co-authored-by: Theodore Omtzigt <theo@stillwater-sc.com> * Making all Dockerfiles consistent again with current build targets * code hygiene and operationalizing the sanitizers * Listen to the tools when they tell you something: UB fixed * Adding x86/Mac to the platform matrix * adding a x86 Linux with Clang * macos-13 is deprecated, moving to macos-15-intel * Enhancing the labeling of the CI jobs --------- Signed-off-by: Theodore Omtzigt <theo@stillwater-sc.com> Co-authored-by: Loren Osborn <linux_dr@yahoo.com>
v3.80: double-double and quad-double updates
Fleshed out double-double and quad-double types.
New math lib structure that is modeled after Boost.MATH but optimized for mixed-precision algorithm design and optimization.
v3.79: quad-double type
A new quad-double floating-point type and math library.
The quad-double is a segmented floating-point type consisting of four (4) doubles capturing 212 bits of precision.
v3.78 double-double type
v3.78 presents a new double-double type
v3.75: new posit infrastructure
added a fast posit<16,2> and restructured the regression environment to support more of these specialized posit implementations.
v3.74: new posit R&D
Added a new fast standard posit<16,2>