BWAPI
Classes | Namespaces | Defines | Typedefs | Functions | Variables
SPAR/AIModule/BWTA/vendors/CGAL/CGAL/FPU.h File Reference
#include <CGAL/number_type_basic.h>
#include <cmath>
#include <fenv.h>
#include <limits>
Include dependency graph for FPU.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Protect_FPU_rounding< true >
struct  Protect_FPU_rounding< false >
struct  Checked_protect_FPU_rounding< Protected >
struct  Set_ieee_double_precision

Namespaces

namespace  CGALi

Defines

#define CGAL_IA_MIN_DOUBLE   std::numeric_limits<double>::denorm_min()
#define CGAL_IA_MAX_DOUBLE   (std::numeric_limits<double>::max)()
#define CGAL_IA_FORCE_TO_DOUBLE(x)   (x)
#define CGAL_IA_STOP_CPROP(x)   CGAL::IA_force_to_double(x)
#define CGAL_BUG_SQRT(d)   std::sqrt(d)
#define CGAL_IA_ADD(a, b)   CGAL_IA_FORCE_TO_DOUBLE((a)+CGAL_IA_STOP_CPROP(b))
#define CGAL_IA_SUB(a, b)   CGAL_IA_FORCE_TO_DOUBLE((a)-CGAL_IA_STOP_CPROP(b))
#define CGAL_IA_MUL(a, b)   CGAL_IA_FORCE_TO_DOUBLE((a)*CGAL_IA_STOP_CPROP(b))
#define CGAL_IA_DIV(a, b)   CGAL_IA_FORCE_TO_DOUBLE((a)/CGAL_IA_STOP_CPROP(b))
#define CGAL_IA_SQUARE(a)   CGAL_IA_MUL(a,a)
#define CGAL_IA_SQRT(a)   CGAL_IA_FORCE_TO_DOUBLE(CGAL_BUG_SQRT(CGAL_IA_STOP_CPROP(a)))
#define CGAL_IA_SETFPCW(CW)   fesetround(CW)
#define CGAL_IA_GETFPCW(CW)   CW = fegetround()
#define CGAL_FE_TONEAREST   FE_TONEAREST
#define CGAL_FE_TOWARDZERO   FE_TOWARDZERO
#define CGAL_FE_UPWARD   FE_UPWARD
#define CGAL_FE_DOWNWARD   FE_DOWNWARD

Typedefs

typedef int FPU_CW_t

Functions

double IA_force_to_double (double x)
FPU_CW_t FPU_get_cw (void)
void FPU_set_cw (FPU_CW_t cw)
FPU_CW_t FPU_get_and_set_cw (FPU_CW_t cw)
void force_ieee_double_precision ()

Variables

const double CGALi::infinity = HUGE_VAL

Define Documentation

#define CGAL_BUG_SQRT (   d)    std::sqrt(d)
#define CGAL_FE_DOWNWARD   FE_DOWNWARD
#define CGAL_FE_TONEAREST   FE_TONEAREST
#define CGAL_FE_TOWARDZERO   FE_TOWARDZERO
#define CGAL_FE_UPWARD   FE_UPWARD
#define CGAL_IA_ADD (   a,
 
)    CGAL_IA_FORCE_TO_DOUBLE((a)+CGAL_IA_STOP_CPROP(b))
#define CGAL_IA_DIV (   a,
 
)    CGAL_IA_FORCE_TO_DOUBLE((a)/CGAL_IA_STOP_CPROP(b))
#define CGAL_IA_FORCE_TO_DOUBLE (   x)    (x)
#define CGAL_IA_GETFPCW (   CW)    CW = fegetround()
#define CGAL_IA_MAX_DOUBLE   (std::numeric_limits<double>::max)()
#define CGAL_IA_MIN_DOUBLE   std::numeric_limits<double>::denorm_min()
#define CGAL_IA_MUL (   a,
 
)    CGAL_IA_FORCE_TO_DOUBLE((a)*CGAL_IA_STOP_CPROP(b))
#define CGAL_IA_SETFPCW (   CW)    fesetround(CW)
#define CGAL_IA_SQUARE (   a)    CGAL_IA_MUL(a,a)
#define CGAL_IA_STOP_CPROP (   x)    CGAL::IA_force_to_double(x)
#define CGAL_IA_SUB (   a,
 
)    CGAL_IA_FORCE_TO_DOUBLE((a)-CGAL_IA_STOP_CPROP(b))

Typedef Documentation

typedef int FPU_CW_t

Function Documentation

void force_ieee_double_precision ( ) [inline]

Here is the call graph for this function:

Here is the call graph for this function:

Here is the caller graph for this function:

FPU_CW_t FPU_get_cw ( void  ) [inline]

Here is the caller graph for this function:

void FPU_set_cw ( FPU_CW_t  cw) [inline]

Here is the caller graph for this function:

double IA_force_to_double ( double  x) [inline]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines