PPL  1.2
checked_float_inlines.hh File Reference
#include "compiler.hh"
#include <cmath>
Include dependency graph for checked_float_inlines.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::Checked::Float_2exp
 

Namespaces

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

Functions

float Parma_Polyhedra_Library::Checked::multiply_add (float x, float y, float z)
 
double Parma_Polyhedra_Library::Checked::multiply_add (double x, double y, double z)
 
long double Parma_Polyhedra_Library::Checked::multiply_add (long double x, long double y, long double z)
 
double Parma_Polyhedra_Library::Checked::round_to_integer (double x)
 
long double Parma_Polyhedra_Library::Checked::round_to_integer (long double x)
 
bool Parma_Polyhedra_Library::Checked::fpu_direct_rounding (Rounding_Dir dir)
 
bool Parma_Polyhedra_Library::Checked::fpu_inverse_rounding (Rounding_Dir dir)
 
void Parma_Polyhedra_Library::Checked::limit_precision (const float &v)
 
void Parma_Polyhedra_Library::Checked::limit_precision (const double &v)
 
void Parma_Polyhedra_Library::Checked::limit_precision (const long double &)
 
template<typename Policy , typename T >
Result Parma_Polyhedra_Library::Checked::classify_float (const T v, bool nan, bool inf, bool sign)
 
template<typename Policy , typename T >
bool Parma_Polyhedra_Library::Checked::is_nan_float (const T v)
 
template<typename Policy , typename T >
bool Parma_Polyhedra_Library::Checked::is_inf_float (const T v)
 
template<typename Policy , typename T >
bool Parma_Polyhedra_Library::Checked::is_minf_float (const T v)
 
template<typename Policy , typename T >
bool Parma_Polyhedra_Library::Checked::is_pinf_float (const T v)
 
template<typename Policy , typename T >
bool Parma_Polyhedra_Library::Checked::is_int_float (const T v)
 
template<typename Policy , typename T >
Result Parma_Polyhedra_Library::Checked::assign_special_float (T &v, Result_Class c, Rounding_Dir)
 
template<typename T >
void Parma_Polyhedra_Library::Checked::pred_float (T &v)
 
template<typename T >
void Parma_Polyhedra_Library::Checked::succ_float (T &v)
 
template<typename Policy , typename To >
Result Parma_Polyhedra_Library::Checked::round_lt_float (To &to, Rounding_Dir dir)
 
template<typename Policy , typename To >
Result Parma_Polyhedra_Library::Checked::round_gt_float (To &to, Rounding_Dir dir)
 
template<typename Policy >
void Parma_Polyhedra_Library::Checked::prepare_inexact (Rounding_Dir dir)
 
template<typename Policy >
Result Parma_Polyhedra_Library::Checked::result_relation (Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename To , typename From >
Result Parma_Polyhedra_Library::Checked::assign_float_float_exact (To &to, const From from, Rounding_Dir)
 
template<typename To_Policy , typename From_Policy , typename To , typename From >
Result Parma_Polyhedra_Library::Checked::assign_float_float_inexact (To &to, const From from, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename To , typename From >
Result Parma_Polyhedra_Library::Checked::assign_float_float (To &to, const From from, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::floor_float (Type &to, const Type from, Rounding_Dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::ceil_float (Type &to, const Type from, Rounding_Dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::trunc_float (Type &to, const Type from, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::neg_float (Type &to, const Type from, Rounding_Dir)
 
template<typename To_Policy , typename From1_Policy , typename From2_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::add_float (Type &to, const Type x, const Type y, Rounding_Dir dir)
 
template<typename To_Policy , typename From1_Policy , typename From2_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::sub_float (Type &to, const Type x, const Type y, Rounding_Dir dir)
 
template<typename To_Policy , typename From1_Policy , typename From2_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::mul_float (Type &to, const Type x, const Type y, Rounding_Dir dir)
 
template<typename To_Policy , typename From1_Policy , typename From2_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::div_float (Type &to, const Type x, const Type y, Rounding_Dir dir)
 
template<typename To_Policy , typename From1_Policy , typename From2_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::idiv_float (Type &to, const Type x, const Type y, Rounding_Dir dir)
 
template<typename To_Policy , typename From1_Policy , typename From2_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::rem_float (Type &to, const Type x, const Type y, Rounding_Dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::add_2exp_float (Type &to, const Type x, unsigned int exp, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::sub_2exp_float (Type &to, const Type x, unsigned int exp, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::mul_2exp_float (Type &to, const Type x, unsigned int exp, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::div_2exp_float (Type &to, const Type x, unsigned int exp, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::smod_2exp_float (Type &to, const Type x, unsigned int exp, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::umod_2exp_float (Type &to, const Type x, unsigned int exp, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::abs_float (Type &to, const Type from, Rounding_Dir)
 
template<typename To_Policy , typename From_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::sqrt_float (Type &to, const Type from, Rounding_Dir dir)
 
template<typename Policy , typename Type >
Result_Relation Parma_Polyhedra_Library::Checked::sgn_float (const Type x)
 
template<typename Policy1 , typename Policy2 , typename Type >
Result_Relation Parma_Polyhedra_Library::Checked::cmp_float (const Type x, const Type y)
 
template<typename To_Policy , typename From_Policy , typename To , typename From >
Result Parma_Polyhedra_Library::Checked::assign_float_int_inexact (To &to, const From from, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename To , typename From >
Result Parma_Polyhedra_Library::Checked::assign_float_int (To &to, const From from, Rounding_Dir dir)
 
template<typename Policy , typename T >
Result Parma_Polyhedra_Library::Checked::set_neg_overflow_float (T &to, Rounding_Dir dir)
 
template<typename Policy , typename T >
Result Parma_Polyhedra_Library::Checked::set_pos_overflow_float (T &to, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename T >
Result Parma_Polyhedra_Library::Checked::assign_float_mpz (T &to, const mpz_class &from, Rounding_Dir dir)
 
template<typename To_Policy , typename From_Policy , typename T >
Result Parma_Polyhedra_Library::Checked::assign_float_mpq (T &to, const mpq_class &from, Rounding_Dir dir)
 
template<typename To_Policy , typename From1_Policy , typename From2_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::add_mul_float (Type &to, const Type x, const Type y, Rounding_Dir dir)
 
template<typename To_Policy , typename From1_Policy , typename From2_Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::sub_mul_float (Type &to, const Type x, const Type y, Rounding_Dir dir)
 
template<typename From >
void Parma_Polyhedra_Library::Checked::assign_mpq_numeric_float (mpq_class &to, const From from)
 
template<>
void Parma_Polyhedra_Library::Checked::assign_mpq_numeric_float (mpq_class &to, const long double from)
 
template<typename Policy , typename Type >
Result Parma_Polyhedra_Library::Checked::output_float (std::ostream &os, const Type from, const Numeric_Format &, Rounding_Dir)