The design of the Boost interval arithmetic library

  • Authors:
  • Hervé Brönnimann;Guillaume Melquiond;Sylvain Pion

  • Affiliations:
  • CIS, Polytechnic University, Six Metrotech, Brooklyn, NY;École Normale Supérieure de Lyon, Lyon cedex, France and Polytechnic University;INRIA, BP, Sophia Antipolis cedex, France and Polytechnic University

  • Venue:
  • Theoretical Computer Science - Real numbers and computers
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the design of the Boost interval arithmetic library, a C++ library designed to handle mathematical intervals efficiently and in a generic way. Interval computations are an essential tool for reliable computing. Increasingly a number of mathematical proofs have relied on global optimization problems solved using branch-and-bound algorithms with interval computations; it is therefore extremely important to have a mathematically correct implementation of interval arithmetic. Various implementations exist with diverse semantics. Our design is unique in that it uses policies to specify three independent variable behaviors: rounding, checking, and comparisons. As a result, with the proper policies, our interval library is able to emulate almost any of the specialized libraries available for interval arithmetic, without any loss of performance nor sacrificing the ease of use. This library is openly available at www.boost.org.