Graphite  Version 3
An experimental 3D geometry processing program
GEO::intervalBase Class Reference

Base class for interval arithmetics. More...

#include <geogram/numerics/interval_nt.h>

Inheritance diagram for GEO::intervalBase:
GEO::intervalRN GEO::intervalRU

Public Types

enum  Sign2 {
  SIGN2_ERROR = -1 , SIGN2_ZERO = 0 , SIGN2_NP , SIGN2_PP ,
  SIGN2_ZP , SIGN2_NN , SIGN2_NZ
}
 

Public Member Functions

 intervalBase (double x)
 
 intervalBase (const intervalBase &rhs)=default
 
intervalBaseoperator= (const intervalBase &rhs)=default
 

Static Public Member Functions

static void set_FPU_round_to_nearest ()
 
static void set_FPU_round_to_upper ()
 
static bool sign_is_determined (Sign2 s)
 
static bool sign_is_non_zero (Sign2 s)
 
static Sign convert_sign (Sign2 s)
 

Protected Member Functions

void control_set (double x)
 
void control_set (const expansion_nt &x)
 
void control_set (const intervalBase &x)
 
void control_negate ()
 
void control_add (const intervalBase &x)
 
void control_sub (const intervalBase &x)
 
void control_mul (const intervalBase &x)
 
void control_check (double inf, double sup)
 

Detailed Description

Base class for interval arithmetics.

Has the verification mechanics (define INTERVAL_CHECK to activate it). Verification stores an additional expansion_nt and checks that this expansion_nt is contained by the interval.

Definition at line 71 of file interval_nt.h.


The documentation for this class was generated from the following file: