PPL  1.2
checked_defs.hh File Reference
#include "mp_std_bits_defs.hh"
#include "Temp_defs.hh"
#include "Rounding_Dir_defs.hh"
#include "Numeric_Format_defs.hh"
#include "Float_defs.hh"
#include <cassert>
#include <iostream>
#include <gmpxx.h>
#include "checked_inlines.hh"
#include "checked_int_inlines.hh"
#include "checked_float_inlines.hh"
#include "checked_mpz_inlines.hh"
#include "checked_mpq_inlines.hh"
#include "checked_ext_inlines.hh"
Include dependency graph for checked_defs.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Parma_Polyhedra_Library::Minus_Infinity
 
struct  Parma_Polyhedra_Library::Plus_Infinity
 
struct  Parma_Polyhedra_Library::Not_A_Number
 
struct  Parma_Polyhedra_Library::Is_Special< T >
 
struct  Parma_Polyhedra_Library::Is_Special< Minus_Infinity >
 
struct  Parma_Polyhedra_Library::Is_Special< Plus_Infinity >
 
struct  Parma_Polyhedra_Library::Is_Special< Not_A_Number >
 
struct  Parma_Polyhedra_Library::Checked_Number_Transparent_Policy< T >
 

Namespaces

 Parma_Polyhedra_Library
 The entire library is confined to this namespace.
 
 Parma_Polyhedra_Library::Checked
 Types and functions implementing checked numbers.
 

Macros

#define PPL_FUNCTION_CLASS(name)   name ## _function_struct
 
#define PPL_DECLARE_FUN1_0_0(name, ret_type, qual, type)
 
#define PPL_DECLARE_FUN1_0_1(name, ret_type, qual, type, after1)
 
#define PPL_DECLARE_FUN1_0_2(name, ret_type, qual, type, after1, after2)
 
#define PPL_DECLARE_FUN1_0_3(name, ret_type, qual, type, after1, after2, after3)
 
#define PPL_DECLARE_FUN1_1_1(name, ret_type, before1, qual, type, after1)
 
#define PPL_DECLARE_FUN1_1_2(name, ret_type, before1, qual, type, after1, after2)
 
#define PPL_DECLARE_FUN1_2_2(name, ret_type, before1, before2, qual, type, after1, after2)
 
#define PPL_DECLARE_FUN2_0_0(name, ret_type, qual1, type1, qual2, type2)
 
#define PPL_DECLARE_FUN2_0_1(name, ret_type, qual1, type1, qual2, type2, after1)
 
#define PPL_DECLARE_FUN2_0_2(name, ret_type, qual1, type1, qual2, type2, after1, after2)
 
#define PPL_DECLARE_FUN3_0_1(name, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
 
#define PPL_DECLARE_FUN5_0_1(name, ret_type, qual1, type1, qual2, type2, qual3, type3, qual4, type4, qual5, type5, after1)
 
#define PPL_SPECIALIZE_FUN1_0_0(name, func, ret_type, qual, type)
 
#define PPL_SPECIALIZE_FUN1_0_1(name, func, ret_type, qual, type, after1)
 
#define PPL_SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type, after1, after2)
 
#define PPL_SPECIALIZE_FUN1_0_3(name, func, ret_type, qual, type, after1, after2, after3)
 
#define PPL_SPECIALIZE_FUN1_1_1(name, func, ret_type, before1, qual, type, after1)
 
#define PPL_SPECIALIZE_FUN1_1_2(name, func, ret_type, before1, qual, type, after1, after2)
 
#define PPL_SPECIALIZE_FUN1_2_2(name, func, ret_type, before1, before2, qual, type, after1, after2)
 
#define PPL_SPECIALIZE_FUN2_0_0(name, func, ret_type, qual1, type1, qual2, type2)
 
#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1)
 
#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1, qual2, type2, after1, after2)
 
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
 
#define PPL_SPECIALIZE_FUN5_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, qual4, type4, qual5, type5, after1)
 
#define nonconst
 
#define PPL_SPECIALIZE_COPY(func, Type)    PPL_SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)
 
#define PPL_SPECIALIZE_SGN(func, From)    PPL_SPECIALIZE_FUN1_0_0(sgn, func, Result_Relation, const, From)
 
#define PPL_SPECIALIZE_CMP(func, Type1, Type2)    PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result_Relation, const, Type1, const, Type2)
 
#define PPL_SPECIALIZE_CLASSIFY(func, Type)    PPL_SPECIALIZE_FUN1_0_3(classify, func, Result, const, Type, bool, bool, bool)
 
#define PPL_SPECIALIZE_IS_NAN(func, Type)    PPL_SPECIALIZE_FUN1_0_0(is_nan, func, bool, const, Type)
 
#define PPL_SPECIALIZE_IS_MINF(func, Type)    PPL_SPECIALIZE_FUN1_0_0(is_minf, func, bool, const, Type)
 
#define PPL_SPECIALIZE_IS_PINF(func, Type)    PPL_SPECIALIZE_FUN1_0_0(is_pinf, func, bool, const, Type)
 
#define PPL_SPECIALIZE_IS_INT(func, Type)    PPL_SPECIALIZE_FUN1_0_0(is_int, func, bool, const, Type)
 
#define PPL_SPECIALIZE_ASSIGN_SPECIAL(func, Type)
 
#define PPL_SPECIALIZE_CONSTRUCT_SPECIAL(func, Type)
 
#define PPL_SPECIALIZE_CONSTRUCT(func, To, From)
 
#define PPL_SPECIALIZE_ASSIGN(func, To, From)
 
#define PPL_SPECIALIZE_FLOOR(func, To, From)
 
#define PPL_SPECIALIZE_CEIL(func, To, From)
 
#define PPL_SPECIALIZE_TRUNC(func, To, From)
 
#define PPL_SPECIALIZE_NEG(func, To, From)
 
#define PPL_SPECIALIZE_ABS(func, To, From)
 
#define PPL_SPECIALIZE_SQRT(func, To, From)
 
#define PPL_SPECIALIZE_ADD(func, To, From1, From2)
 
#define PPL_SPECIALIZE_SUB(func, To, From1, From2)
 
#define PPL_SPECIALIZE_MUL(func, To, From1, From2)
 
#define PPL_SPECIALIZE_DIV(func, To, From1, From2)
 
#define PPL_SPECIALIZE_REM(func, To, From1, From2)
 
#define PPL_SPECIALIZE_IDIV(func, To, From1, From2)
 
#define PPL_SPECIALIZE_ADD_2EXP(func, To, From)
 
#define PPL_SPECIALIZE_SUB_2EXP(func, To, From)
 
#define PPL_SPECIALIZE_MUL_2EXP(func, To, From)
 
#define PPL_SPECIALIZE_DIV_2EXP(func, To, From)
 
#define PPL_SPECIALIZE_SMOD_2EXP(func, To, From)
 
#define PPL_SPECIALIZE_UMOD_2EXP(func, To, From)
 
#define PPL_SPECIALIZE_ADD_MUL(func, To, From1, From2)
 
#define PPL_SPECIALIZE_SUB_MUL(func, To, From1, From2)
 
#define PPL_SPECIALIZE_GCD(func, To, From1, From2)
 
#define PPL_SPECIALIZE_GCDEXT(func, To1, From1, From2, To2, To3)
 
#define PPL_SPECIALIZE_LCM(func, To, From1, From2)
 
#define PPL_SPECIALIZE_INPUT(func, Type)
 
#define PPL_SPECIALIZE_OUTPUT(func, Type)
 
#define CHECK_P(cond, check)   ((cond) ? (check) : (assert(!(check)), false))
 

Functions

 Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN2_0_0 (copy, void, nonconst, Type1, const, Type2) PPL_DECLARE_FUN1_0_0(sgn
 
From Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN2_0_0 (cmp, Result_Relation, const, Type1, const, Type2) PPL_DECLARE_FUN1_0_3(classify
 
From bool Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN1_0_0 (is_nan, bool, const, Type) PPL_DECLARE_FUN1_0_0(is_minf
 
From bool Type Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN1_0_0 (is_pinf, bool, const, Type) PPL_DECLARE_FUN1_0_0(is_int
 
From bool Type Type Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN1_0_2 (assign_special, Result, nonconst, Type, Result_Class, Rounding_Dir) PPL_DECLARE_FUN1_0_2(construct_special
 
From bool Type Type Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN2_0_1 (construct, Result, nonconst, To, const, From, Rounding_Dir) PPL_DECLARE_FUN2_0_1(assign
 
From bool Type Type Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN2_0_1 (floor, Result, nonconst, To, const, From, Rounding_Dir) PPL_DECLARE_FUN2_0_1(ceil
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN2_0_1 (trunc, Result, nonconst, To, const, From, Rounding_Dir) PPL_DECLARE_FUN2_0_1(neg
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN2_0_1 (abs, Result, nonconst, To, const, From, Rounding_Dir) PPL_DECLARE_FUN2_0_1(sqrt
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN3_0_1 (add, Result, nonconst, To, const, From1, const, From2, Rounding_Dir) PPL_DECLARE_FUN3_0_1(sub
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN3_0_1 (mul, Result, nonconst, To, const, From1, const, From2, Rounding_Dir) PPL_DECLARE_FUN3_0_1(div
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN3_0_1 (rem, Result, nonconst, To, const, From1, const, From2, Rounding_Dir) PPL_DECLARE_FUN3_0_1(idiv
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN2_0_2 (add_2exp, Result, nonconst, To, const, From, unsigned int, Rounding_Dir) PPL_DECLARE_FUN2_0_2(sub_2exp
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN2_0_2 (mul_2exp, Result, nonconst, To, const, From, unsigned int, Rounding_Dir) PPL_DECLARE_FUN2_0_2(div_2exp
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN2_0_2 (smod_2exp, Result, nonconst, To, const, From, unsigned int, Rounding_Dir) PPL_DECLARE_FUN2_0_2(umod_2exp
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN3_0_1 (add_mul, Result, nonconst, To, const, From1, const, From2, Rounding_Dir) PPL_DECLARE_FUN3_0_1(sub_mul
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN3_0_1 (gcd, Result, nonconst, To, const, From1, const, From2, Rounding_Dir) PPL_DECLARE_FUN5_0_1(gcdext
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN3_0_1 (lcm, Result, nonconst, To, const, From1, const, From2, Rounding_Dir) PPL_DECLARE_FUN1_0_2(input
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir Rounding_Dir std::istream Rounding_Dir Parma_Polyhedra_Library::Checked::PPL_DECLARE_FUN1_1_2 (output, Result, std::ostream &, const, Type, const Numeric_Format &, Rounding_Dir) template< typename Policy
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir Rounding_Dir std::istream Rounding_Dir To Result Parma_Polyhedra_Library::Checked::round (To &to, Result r, Rounding_Dir dir)
 
Result Parma_Polyhedra_Library::Checked::input_mpq (mpq_class &to, std::istream &is)
 
std::string Parma_Polyhedra_Library::Checked::float_mpq_to_string (mpq_class &q)
 

Variables

 Parma_Polyhedra_Library::Checked::Result_Relation
 
 Parma_Polyhedra_Library::Checked::const
 
From Parma_Polyhedra_Library::Checked::Result
 
From Parma_Polyhedra_Library::Checked::Type
 
From Parma_Polyhedra_Library::Checked::bool
 
From bool Type Type Parma_Polyhedra_Library::Checked::nonconst
 
From bool Type Type Parma_Polyhedra_Library::Checked::Result_Class
 
From bool Type Type Rounding_Dir Parma_Polyhedra_Library::Checked::To
 
From bool Type Type Rounding_Dir Parma_Polyhedra_Library::Checked::From
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::From1
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::From2
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Parma_Polyhedra_Library::Checked::int
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::To1
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::To2
 
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir Parma_Polyhedra_Library::Checked::To3
 

Macro Definition Documentation

#define CHECK_P (   cond,
  check 
)    ((cond) ? (check) : (assert(!(check)), false))

Definition at line 698 of file checked_defs.hh.

Referenced by Parma_Polyhedra_Library::Checked::add_ext(), Parma_Polyhedra_Library::Checked::add_mul_ext(), Parma_Polyhedra_Library::Checked::add_unsigned_int(), Parma_Polyhedra_Library::Checked::assign_int_float(), Parma_Polyhedra_Library::Checked::assign_signed_int_signed_int(), Parma_Polyhedra_Library::Checked::assign_signed_int_unsigned_int(), Parma_Polyhedra_Library::Checked::assign_unsigned_int_mpz(), Parma_Polyhedra_Library::Checked::assign_unsigned_int_signed_int(), Parma_Polyhedra_Library::Checked::assign_unsigned_int_unsigned_int(), Parma_Polyhedra_Library::Checked::classify_float(), Parma_Polyhedra_Library::Checked::div_ext(), Parma_Polyhedra_Library::Checked::div_mpq(), Parma_Polyhedra_Library::Checked::div_mpz(), Parma_Polyhedra_Library::Checked::div_signed_int(), Parma_Polyhedra_Library::Checked::div_unsigned_int(), Parma_Polyhedra_Library::Checked::idiv_ext(), Parma_Polyhedra_Library::Checked::idiv_mpq(), Parma_Polyhedra_Library::Checked::idiv_mpz(), Parma_Polyhedra_Library::Checked::idiv_signed_int(), Parma_Polyhedra_Library::Checked::idiv_unsigned_int(), Parma_Polyhedra_Library::Checked::is_inf_float(), Parma_Polyhedra_Library::Checked::is_minf_float(), Parma_Polyhedra_Library::Checked::is_nan_float(), Parma_Polyhedra_Library::Checked::is_pinf_float(), Parma_Polyhedra_Library::Checked::neg_signed_int(), Parma_Polyhedra_Library::Checked::neg_unsigned_int(), Parma_Polyhedra_Library::Checked::rem_ext(), Parma_Polyhedra_Library::Checked::rem_mpq(), Parma_Polyhedra_Library::Checked::rem_mpz(), Parma_Polyhedra_Library::Checked::rem_signed_int(), Parma_Polyhedra_Library::Checked::rem_unsigned_int(), Parma_Polyhedra_Library::Checked::smod_2exp_ext(), Parma_Polyhedra_Library::Checked::sqrt_mpq(), Parma_Polyhedra_Library::Checked::sqrt_mpz(), Parma_Polyhedra_Library::Checked::sqrt_signed_int(), Parma_Polyhedra_Library::Checked::sub_ext(), Parma_Polyhedra_Library::Checked::sub_mul_ext(), Parma_Polyhedra_Library::Checked::sub_unsigned_int(), and Parma_Polyhedra_Library::Checked::umod_2exp_ext().

#define nonconst

Definition at line 362 of file checked_defs.hh.

#define PPL_DECLARE_FUN1_0_0 (   name,
  ret_type,
  qual,
  type 
)

Definition at line 48 of file checked_defs.hh.

#define PPL_DECLARE_FUN1_0_1 (   name,
  ret_type,
  qual,
  type,
  after1 
)

Definition at line 56 of file checked_defs.hh.

#define PPL_DECLARE_FUN1_0_2 (   name,
  ret_type,
  qual,
  type,
  after1,
  after2 
)

Definition at line 65 of file checked_defs.hh.

#define PPL_DECLARE_FUN1_0_3 (   name,
  ret_type,
  qual,
  type,
  after1,
  after2,
  after3 
)

Definition at line 76 of file checked_defs.hh.

#define PPL_DECLARE_FUN1_1_1 (   name,
  ret_type,
  before1,
  qual,
  type,
  after1 
)

Definition at line 90 of file checked_defs.hh.

#define PPL_DECLARE_FUN1_1_2 (   name,
  ret_type,
  before1,
  qual,
  type,
  after1,
  after2 
)

Definition at line 101 of file checked_defs.hh.

#define PPL_DECLARE_FUN1_2_2 (   name,
  ret_type,
  before1,
  before2,
  qual,
  type,
  after1,
  after2 
)

Definition at line 113 of file checked_defs.hh.

#define PPL_DECLARE_FUN2_0_0 (   name,
  ret_type,
  qual1,
  type1,
  qual2,
  type2 
)

Definition at line 127 of file checked_defs.hh.

#define PPL_DECLARE_FUN2_0_1 (   name,
  ret_type,
  qual1,
  type1,
  qual2,
  type2,
  after1 
)

Definition at line 139 of file checked_defs.hh.

#define PPL_DECLARE_FUN2_0_2 (   name,
  ret_type,
  qual1,
  type1,
  qual2,
  type2,
  after1,
  after2 
)

Definition at line 153 of file checked_defs.hh.

#define PPL_DECLARE_FUN3_0_1 (   name,
  ret_type,
  qual1,
  type1,
  qual2,
  type2,
  qual3,
  type3,
  after1 
)

Definition at line 167 of file checked_defs.hh.

#define PPL_DECLARE_FUN5_0_1 (   name,
  ret_type,
  qual1,
  type1,
  qual2,
  type2,
  qual3,
  type3,
  qual4,
  type4,
  qual5,
  type5,
  after1 
)

Definition at line 183 of file checked_defs.hh.

#define PPL_FUNCTION_CLASS (   name)    name ## _function_struct

Definition at line 46 of file checked_defs.hh.

#define PPL_SPECIALIZE_ABS (   func,
  To,
  From 
)
Value:
const, From, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1)
From bool Type Type Rounding_Dir To
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 404 of file checked_defs.hh.

#define PPL_SPECIALIZE_ADD (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 410 of file checked_defs.hh.

#define PPL_SPECIALIZE_ADD_2EXP (   func,
  To,
  From 
)
Value:
const, From, unsigned int, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1, qual2, type2, after1, after2)
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 428 of file checked_defs.hh.

#define PPL_SPECIALIZE_ADD_MUL (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 446 of file checked_defs.hh.

#define PPL_SPECIALIZE_ASSIGN (   func,
  To,
  From 
)
Value:
const, From, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1)
From bool Type Type Rounding_Dir To
Result assign(Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type, const T &x, const Info &info, bool should_shrink=false)
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 389 of file checked_defs.hh.

#define PPL_SPECIALIZE_ASSIGN_SPECIAL (   func,
  Type 
)
Value:
PPL_SPECIALIZE_FUN1_0_2(assign_special, func, Result, \
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Result_Class
#define PPL_SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type, after1, after2)
#define nonconst

Definition at line 380 of file checked_defs.hh.

#define PPL_SPECIALIZE_CEIL (   func,
  To,
  From 
)
Value:
const, From, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1)
From bool Type Type Rounding_Dir To
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 395 of file checked_defs.hh.

#define PPL_SPECIALIZE_CLASSIFY (   func,
  Type 
)    PPL_SPECIALIZE_FUN1_0_3(classify, func, Result, const, Type, bool, bool, bool)

Definition at line 370 of file checked_defs.hh.

#define PPL_SPECIALIZE_CMP (   func,
  Type1,
  Type2 
)    PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result_Relation, const, Type1, const, Type2)

Definition at line 368 of file checked_defs.hh.

#define PPL_SPECIALIZE_CONSTRUCT (   func,
  To,
  From 
)
Value:
const, From, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1)
From bool Type Type Rounding_Dir To
From bool Type Type Rounding_Dir From
Enable_If< Is_Native_Or_Checked< To >::value &&Is_Special< From >::value, Result >::type construct(To &to, const From &x, Rounding_Dir dir)
#define nonconst

Definition at line 386 of file checked_defs.hh.

#define PPL_SPECIALIZE_CONSTRUCT_SPECIAL (   func,
  Type 
)
Value:
PPL_SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst, \
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Result_Class
#define PPL_SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type, after1, after2)
#define nonconst

Definition at line 383 of file checked_defs.hh.

#define PPL_SPECIALIZE_COPY (   func,
  Type 
)    PPL_SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)

Definition at line 364 of file checked_defs.hh.

#define PPL_SPECIALIZE_DIV (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 419 of file checked_defs.hh.

#define PPL_SPECIALIZE_DIV_2EXP (   func,
  To,
  From 
)
Value:
const, From, unsigned int, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1, qual2, type2, after1, after2)
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 437 of file checked_defs.hh.

#define PPL_SPECIALIZE_FLOOR (   func,
  To,
  From 
)
Value:
const, From, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1)
From bool Type Type Rounding_Dir To
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 392 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN1_0_0 (   name,
  func,
  ret_type,
  qual,
  type 
)

Definition at line 210 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN1_0_1 (   name,
  func,
  ret_type,
  qual,
  type,
  after1 
)

Definition at line 218 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN1_0_2 (   name,
  func,
  ret_type,
  qual,
  type,
  after1,
  after2 
)

Definition at line 227 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN1_0_3 (   name,
  func,
  ret_type,
  qual,
  type,
  after1,
  after2,
  after3 
)

Definition at line 238 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN1_1_1 (   name,
  func,
  ret_type,
  before1,
  qual,
  type,
  after1 
)

Definition at line 249 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN1_1_2 (   name,
  func,
  ret_type,
  before1,
  qual,
  type,
  after1,
  after2 
)

Definition at line 260 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN1_2_2 (   name,
  func,
  ret_type,
  before1,
  before2,
  qual,
  type,
  after1,
  after2 
)

Definition at line 272 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN2_0_0 (   name,
  func,
  ret_type,
  qual1,
  type1,
  qual2,
  type2 
)

Definition at line 284 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN2_0_1 (   name,
  func,
  ret_type,
  qual1,
  type1,
  qual2,
  type2,
  after1 
)

Definition at line 295 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN2_0_2 (   name,
  func,
  ret_type,
  qual1,
  type1,
  qual2,
  type2,
  after1,
  after2 
)

Definition at line 307 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN3_0_1 (   name,
  func,
  ret_type,
  qual1,
  type1,
  qual2,
  type2,
  qual3,
  type3,
  after1 
)

Definition at line 320 of file checked_defs.hh.

#define PPL_SPECIALIZE_FUN5_0_1 (   name,
  func,
  ret_type,
  qual1,
  type1,
  qual2,
  type2,
  qual3,
  type3,
  qual4,
  type4,
  qual5,
  type5,
  after1 
)

Definition at line 335 of file checked_defs.hh.

#define PPL_SPECIALIZE_GCD (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 452 of file checked_defs.hh.

#define PPL_SPECIALIZE_GCDEXT (   func,
  To1,
  From1,
  From2,
  To2,
  To3 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN5_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, qual4, type4, qual5, type5, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir To2
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir To1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir unsigned Rounding_Dir Rounding_Dir To3

Definition at line 455 of file checked_defs.hh.

#define PPL_SPECIALIZE_IDIV (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 425 of file checked_defs.hh.

#define PPL_SPECIALIZE_INPUT (   func,
  Type 
)
Value:
std::istream&, Rounding_Dir)
Enable_If< Is_Native_Or_Checked< T >::value, Result >::type input(T &x, std::istream &is, Rounding_Dir dir)
Input function.
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type, after1, after2)
#define nonconst

Definition at line 462 of file checked_defs.hh.

#define PPL_SPECIALIZE_IS_INT (   func,
  Type 
)    PPL_SPECIALIZE_FUN1_0_0(is_int, func, bool, const, Type)

Definition at line 378 of file checked_defs.hh.

#define PPL_SPECIALIZE_IS_MINF (   func,
  Type 
)    PPL_SPECIALIZE_FUN1_0_0(is_minf, func, bool, const, Type)

Definition at line 374 of file checked_defs.hh.

#define PPL_SPECIALIZE_IS_NAN (   func,
  Type 
)    PPL_SPECIALIZE_FUN1_0_0(is_nan, func, bool, const, Type)

Definition at line 372 of file checked_defs.hh.

#define PPL_SPECIALIZE_IS_PINF (   func,
  Type 
)    PPL_SPECIALIZE_FUN1_0_0(is_pinf, func, bool, const, Type)

Definition at line 376 of file checked_defs.hh.

#define PPL_SPECIALIZE_LCM (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 459 of file checked_defs.hh.

#define PPL_SPECIALIZE_MUL (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 416 of file checked_defs.hh.

#define PPL_SPECIALIZE_MUL_2EXP (   func,
  To,
  From 
)
Value:
const, From, unsigned int, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1, qual2, type2, after1, after2)
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 434 of file checked_defs.hh.

#define PPL_SPECIALIZE_NEG (   func,
  To,
  From 
)
Value:
const, From, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1)
From bool Type Type Rounding_Dir To
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 401 of file checked_defs.hh.

#define PPL_SPECIALIZE_OUTPUT (   func,
  Type 
)
Value:
PPL_SPECIALIZE_FUN1_1_2(output, func, Result, std::ostream&, \
const, Type, \
const Numeric_Format&, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
Enable_If< Is_Native_Or_Checked< T >::value, Result >::type output(std::ostream &os, const T &x, const Numeric_Format &format, Rounding_Dir dir)
#define PPL_SPECIALIZE_FUN1_1_2(name, func, ret_type, before1, qual, type, after1, after2)

Definition at line 465 of file checked_defs.hh.

#define PPL_SPECIALIZE_REM (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 422 of file checked_defs.hh.

#define PPL_SPECIALIZE_SGN (   func,
  From 
)    PPL_SPECIALIZE_FUN1_0_0(sgn, func, Result_Relation, const, From)

Definition at line 366 of file checked_defs.hh.

#define PPL_SPECIALIZE_SMOD_2EXP (   func,
  To,
  From 
)
Value:
const, From, unsigned int, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1, qual2, type2, after1, after2)
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 440 of file checked_defs.hh.

#define PPL_SPECIALIZE_SQRT (   func,
  To,
  From 
)
Value:
const, From, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1)
From bool Type Type Rounding_Dir To
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 407 of file checked_defs.hh.

#define PPL_SPECIALIZE_SUB (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 413 of file checked_defs.hh.

#define PPL_SPECIALIZE_SUB_2EXP (   func,
  To,
  From 
)
Value:
const, From, unsigned int, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1, qual2, type2, after1, after2)
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 431 of file checked_defs.hh.

#define PPL_SPECIALIZE_SUB_MUL (   func,
  To,
  From1,
  From2 
)
Value:
const, From1, const, From2, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1)
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From1
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir From2
#define nonconst

Definition at line 449 of file checked_defs.hh.

#define PPL_SPECIALIZE_TRUNC (   func,
  To,
  From 
)
Value:
const, From, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1)
From bool Type Type Rounding_Dir To
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 398 of file checked_defs.hh.

#define PPL_SPECIALIZE_UMOD_2EXP (   func,
  To,
  From 
)
Value:
const, From, unsigned int, Rounding_Dir)
Rounding_Dir
Rounding directions for arithmetic computations.
From bool Type Type Rounding_Dir To
#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1, qual2, type2, after1, after2)
From bool Type Type Rounding_Dir From
#define nonconst

Definition at line 443 of file checked_defs.hh.