# libmpdec++

Welcome to the libmpdec++ documentation. libmpdec++ is a C++ library for correctly-rounded arbitrary precision decimal floating point arithmetic. libmpdec++ conforms - with minor restrictions - to the IEEE 754-2008 Standard for Floating-Point Arithmetic, provided that the appropriate context parameters are set.

- Constants
  - Rounding modes
  - Status flags
  - Flag sets
  - IEEE interchange context
- Exceptions
  - Base class for signals and conditions of the specification
  - Signals
  - Conditions
  - Other exceptions
- Context
  - Implicit thread local context
  - Context class
  - Factory functions
  - TLS context caveats
    - Main thread
    - Linking
- Decimal class
  - Exact constructors
  - Inexact constructors
  - Accessors
  - Exact assignment operators
  - Inexact assignment operators
  - Exact comparison operators
  - Exact reverse comparison operators
  - Unary arithmetic operators
  - Binary arithmetic operators
  - Reverse binary arithmetic operators
  - Predicates
  - Predicates with an optional context argument
  - Unary functions, no context argument
  - Unary functions, optional context argument
  - Binary functions, no context argument
  - Binary functions, optional context argument
  - Binary functions, two return values
  - Ternary functions
  - Irregular functions
  - Exact integer conversion
  - Exact string conversion
  - Inexact string conversion
  - Streams
  - Required by the specification