Skip to content
Theodore Omtzigt edited this page Apr 4, 2021 · 5 revisions

Welcome to the Universal Numbers wiki!

Universal is a C++17/20 header-only library for plug-in replacements of native language types to optimize algorithmic performance and energy efficiency. The library consists of the following number systems:

  • adaptive decimal: decimal
  • signed integer: integer<nbits>
  • fixed-point: fixpnt<nbits, rbits>
  • linear floating-point: bfloat<nbits, es>
  • tapered floating-point: posit<nbits, es>
  • logarithmic: lns
  • interval: areal<nbits, es>, valid<nbits, es>
  • Kulisch super-accumulator for floating-point: quire<nbits, es, capacity>

C++20 enables constexpr operations for floating-point types.

Universal is used to design and optimize mixed-precision algorithms for HPC and AI applications. In addition to increasing performance and improving energy efficiency, Universal also contains high-performance reproducible computation for safety and reliability applications.

Clone this wiki locally