OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Developer Tools & SDKs

Universal

Universal is a MIT-licensed, header-only C++ template library that supplies custom arithmetic plug-in types for mixed-precision algorithm development and optimization. It includes alternative integer, fixed-point, floating-point, rational, decimal, interval and adaptive-precision number systems, including formats such as half, bfloat16, TensorFloat and quad.

Independent OpenViST project profile, based on linked sources.

Universal — OpenViST project profile in AI Developer Tools & SDKs.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Universal when the central task is changing or evaluating the arithmetic representation inside C++ numerical code, rather than adding an AI model or end-user application feature.

Who it is for

  • C++ developers building AI and machine-learning algorithms
  • Researchers experimenting with numerical precision and dynamic range
  • Engineers working on computer vision, signal processing, optimization or estimation
  • Developers creating embedded numerical components

Documented uses

  • Replace native arithmetic types with parameterized custom formats
  • Compare reduced-, fixed- or arbitrary-precision representations in numerical kernels
  • Prototype number systems that lack consistent native hardware support
  • Explore arithmetic choices for AI, DSP, HPC and other numerical workloads
Before you choose

Requirements & limits

The repository is public and identifies an MIT license. The technical profile identifies Linux, Windows and macOS, with desktop, server and self-hosted use.

  • It is header-only, so the documented integration pattern is based on including number-system headers in a C++ project.
  • The library covers both specialized formats such as half and bfloat16 and broader families including fixed-point, rational, interval and adaptive-precision types.
  • Its kernel-template pattern supports changing the arithmetic type without rewriting the kernel structure.
  • The project describes use across AI, machine learning, computer vision, signal processing, embedded systems and other numerical domains.
  • The repository lists Linux, macOS and Windows build and regression workflows, while this does not establish compatibility with every individual toolchain or workload.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Parameterize a C++ kernel with a Universal arithmetic type

Set up the documented pattern for evaluating a numerical kernel with a selected custom type.

Before you start

  • A C++ project
  • The Universal library headers
  • A numerical kernel that can be expressed as a C++ function template

Steps

  1. Include the header for the desired number system, such as cfloat.hpp.

  2. Define the computational kernel as a template over its arithmetic type.

  3. Create an application type alias such as sw::universal::half.

  4. Pass values of that type to the kernel and print or otherwise use the result.

Expected outcome

A C++ numerical kernel is structured to use a selected Universal arithmetic representation.

Guide limitations

  • The documented pattern demonstrates setup and invocation but does not establish performance results or hardware compatibility for a particular project.
  • Choosing an appropriate precision and dynamic range remains an application-specific task.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
4 October 2026
Original website title
stillwater-sc/universal · Official homepage title · retained in its source language