Robert Ramey Software Development Homepage

Safe Numerics Library

Arithmetic operations in C++ are NOT guaranteed to yield a correct mathematical result. This feature is inherited from the early days of C. The behavior of int, unsigned int and others were designed to map closely to the underlying hardware. Computer hardware implements these types as a fixed number of bits. When the result of arithmetic operations exceeds this number of bits, the result will not be arithmetically correct.

I have crafted a library to address this issue once and for all. You can find out more about this by checking out the page for Safe Numerics at the boost library incubator.

I've also made a proposal for the C++ Standards commitee to include a simplified version of this library as part of he C++ standard. You can see the proposal here.

Latest News!

February, 2017

Article in ACCU Overload "Correct Integer Operations with Minimal Runtime Penalties"

Monday September 21, 2016

Safe Numerics Presentation at CPPCon 2016

Tuesday September 22nd, 2015

Safe Numerics Library submission to C++ Standard Commitee.