Graphite Version 3
An experimental 3D geometry processing program
Loading...
Searching...
No Matches
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.

Member Enumeration Documentation

◆ Sign2

enum GEO::intervalBase::Sign2

Definition at line 90 of file interval_nt.h.

Constructor & Destructor Documentation

◆ intervalBase() [1/2]

GEO::intervalBase::intervalBase ( )
inline

Definition at line 124 of file interval_nt.h.

◆ intervalBase() [2/2]

GEO::intervalBase::intervalBase ( double  x)
inline

Definition at line 128 of file interval_nt.h.

Member Function Documentation

◆ control_add()

void GEO::intervalBase::control_add ( const intervalBase x)
inlineprotected

Definition at line 190 of file interval_nt.h.

◆ control_check()

void GEO::intervalBase::control_check ( double  inf,
double  sup 
)
inlineprotected

Definition at line 199 of file interval_nt.h.

◆ control_mul()

void GEO::intervalBase::control_mul ( const intervalBase x)
inlineprotected

Definition at line 196 of file interval_nt.h.

◆ control_negate()

void GEO::intervalBase::control_negate ( )
inlineprotected

Definition at line 188 of file interval_nt.h.

◆ control_set() [1/3]

void GEO::intervalBase::control_set ( const expansion_nt x)
inlineprotected

Definition at line 182 of file interval_nt.h.

◆ control_set() [2/3]

void GEO::intervalBase::control_set ( const intervalBase x)
inlineprotected

Definition at line 185 of file interval_nt.h.

◆ control_set() [3/3]

void GEO::intervalBase::control_set ( double  x)
inlineprotected

Definition at line 179 of file interval_nt.h.

◆ control_sub()

void GEO::intervalBase::control_sub ( const intervalBase x)
inlineprotected

Definition at line 193 of file interval_nt.h.

◆ convert_sign()

static Sign GEO::intervalBase::convert_sign ( Sign2  s)
inlinestatic

Definition at line 113 of file interval_nt.h.

◆ set_FPU_round_to_nearest()

static void GEO::intervalBase::set_FPU_round_to_nearest ( )
inlinestatic

Definition at line 74 of file interval_nt.h.

◆ set_FPU_round_to_upper()

static void GEO::intervalBase::set_FPU_round_to_upper ( )
inlinestatic

Definition at line 82 of file interval_nt.h.

◆ sign_is_determined()

static bool GEO::intervalBase::sign_is_determined ( Sign2  s)
inlinestatic

Definition at line 100 of file interval_nt.h.

◆ sign_is_non_zero()

static bool GEO::intervalBase::sign_is_non_zero ( Sign2  s)
inlinestatic

Definition at line 107 of file interval_nt.h.


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