PPL  1.2
fpu-ia32_inlines.hh File Reference
#include <csetjmp>
#include <csignal>
Include dependency graph for fpu-ia32_inlines.hh:

Go to the source code of this file.

Classes

struct  Parma_Polyhedra_Library::ia32_fenv_t
 

Namespaces

 Parma_Polyhedra_Library
 The entire library is confined to this namespace.
 

Macros

#define FPU_INVALID   0x01
 
#define FPU_DIVBYZERO   0x04
 
#define FPU_OVERFLOW   0x08
 
#define FPU_UNDERFLOW   0x10
 
#define FPU_INEXACT   0x20
 
#define FPU_ALL_EXCEPT   (FPU_INEXACT | FPU_DIVBYZERO | FPU_UNDERFLOW | FPU_OVERFLOW | FPU_INVALID)
 
#define PPL_FPU_TONEAREST   0
 
#define PPL_FPU_DOWNWARD   0x400
 
#define PPL_FPU_UPWARD   0x800
 
#define PPL_FPU_TOWARDZERO   0xc00
 
#define FPU_ROUNDING_MASK   0xc00
 
#define SSE_INEXACT   0x20
 
#define PPL_FPU_CONTROL_DEFAULT_BASE   0x37f
 
#define PPL_SSE_CONTROL_DEFAULT_BASE   0x1f80
 
#define PPL_FPU_CONTROL_DEFAULT   (PPL_FPU_CONTROL_DEFAULT_BASE | PPL_FPU_UPWARD)
 
#define PPL_SSE_CONTROL_DEFAULT   (PPL_SSE_CONTROL_DEFAULT_BASE | (PPL_FPU_UPWARD << 3))
 

Functions

int Parma_Polyhedra_Library::fpu_get_control ()
 
void Parma_Polyhedra_Library::fpu_set_control (int c)
 
int Parma_Polyhedra_Library::fpu_get_status ()
 
void Parma_Polyhedra_Library::fpu_clear_status (unsigned short bits)
 
void Parma_Polyhedra_Library::fpu_clear_exceptions ()
 
Functions Controlling Floating Point Unit
void Parma_Polyhedra_Library::fpu_initialize_control_functions ()
 Initializes the FPU control functions. More...
 
fpu_rounding_direction_type Parma_Polyhedra_Library::fpu_get_rounding_direction ()
 Returns the current FPU rounding direction. More...
 
void Parma_Polyhedra_Library::fpu_set_rounding_direction (fpu_rounding_direction_type dir)
 Sets the FPU rounding direction to dir. More...
 
fpu_rounding_control_word_type Parma_Polyhedra_Library::fpu_save_rounding_direction (fpu_rounding_direction_type dir)
 Sets the FPU rounding direction to dir and returns the rounding control word previously in use. More...
 
void Parma_Polyhedra_Library::fpu_reset_inexact ()
 Clears the inexact computation status. More...
 
void Parma_Polyhedra_Library::fpu_restore_rounding_direction (fpu_rounding_control_word_type w)
 Restores the FPU rounding rounding control word to cw. More...
 
int Parma_Polyhedra_Library::fpu_check_inexact ()
 Queries the inexact computation status. More...
 

Macro Definition Documentation

#define FPU_ALL_EXCEPT   (FPU_INEXACT | FPU_DIVBYZERO | FPU_UNDERFLOW | FPU_OVERFLOW | FPU_INVALID)

Definition at line 36 of file fpu-ia32_inlines.hh.

#define FPU_DIVBYZERO   0x04

Definition at line 31 of file fpu-ia32_inlines.hh.

#define FPU_INEXACT   0x20

Definition at line 34 of file fpu-ia32_inlines.hh.

Referenced by Parma_Polyhedra_Library::fpu_check_inexact().

#define FPU_INVALID   0x01

Definition at line 30 of file fpu-ia32_inlines.hh.

#define FPU_OVERFLOW   0x08

Definition at line 32 of file fpu-ia32_inlines.hh.

#define FPU_ROUNDING_MASK   0xc00
#define FPU_UNDERFLOW   0x10

Definition at line 33 of file fpu-ia32_inlines.hh.

#define PPL_FPU_CONTROL_DEFAULT   (PPL_FPU_CONTROL_DEFAULT_BASE | PPL_FPU_UPWARD)
#define PPL_FPU_CONTROL_DEFAULT_BASE   0x37f
#define PPL_FPU_DOWNWARD   0x400

Definition at line 40 of file fpu-ia32_inlines.hh.

#define PPL_FPU_TONEAREST   0

Definition at line 39 of file fpu-ia32_inlines.hh.

#define PPL_FPU_TOWARDZERO   0xc00

Definition at line 42 of file fpu-ia32_inlines.hh.

#define PPL_FPU_UPWARD   0x800

Definition at line 41 of file fpu-ia32_inlines.hh.

#define PPL_SSE_CONTROL_DEFAULT_BASE   0x1f80
#define SSE_INEXACT   0x20

Definition at line 46 of file fpu-ia32_inlines.hh.

Referenced by Parma_Polyhedra_Library::fpu_check_inexact().