Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

panda/src/linmath/nearly_zero.h File Reference

Go to the source code of this file.

Defines

#define IS_THRESHOLD_ZERO(value, threshold)   ((value) < (threshold) && (value) > -(threshold))
#define IS_THRESHOLD_EQUAL(value1, value2, threshold)   (IS_THRESHOLD_ZERO((value1) - (value2), threshold))
#define IS_THRESHOLD_COMPEQ(value1, value2, threshold)   (cfloor(value1 / threshold + 0.5f) == cfloor(value2 / threshold + 0.5f))
#define NEARLY_ZERO(FLOATTYPE)   (get_nearly_zero_value((FLOATTYPE)0))
#define IS_NEARLY_ZERO(value)   (IS_THRESHOLD_ZERO(value, get_nearly_zero_value(value)))
#define IS_NEARLY_EQUAL(value1, value2)   (IS_THRESHOLD_EQUAL(value1, value2, get_nearly_zero_value(value1)))
#define MAYBE_ZERO(value)   (IS_NEARLY_ZERO(value) ? 0.0 : (value))

Functions

INLINE_LINMATH double get_nearly_zero_value (double)
INLINE_LINMATH float get_nearly_zero_value (float)


Detailed Description

Definition in file nearly_zero.h.


Define Documentation

#define IS_NEARLY_EQUAL value1,
value2   )     (IS_THRESHOLD_EQUAL(value1, value2, get_nearly_zero_value(value1)))
 

Definition at line 70 of file nearly_zero.h.

#define IS_NEARLY_ZERO value   )     (IS_THRESHOLD_ZERO(value, get_nearly_zero_value(value)))
 

Definition at line 65 of file nearly_zero.h.

#define IS_THRESHOLD_COMPEQ value1,
value2,
threshold   )     (cfloor(value1 / threshold + 0.5f) == cfloor(value2 / threshold + 0.5f))
 

Definition at line 55 of file nearly_zero.h.

Referenced by FLOATNAME().

#define IS_THRESHOLD_EQUAL value1,
value2,
threshold   )     (IS_THRESHOLD_ZERO((value1) - (value2), threshold))
 

Definition at line 47 of file nearly_zero.h.

Referenced by SceneGraphAnalyzer::collect_statistics(), FLOATNAME(), and CollisionPolygon::make_copy().

#define IS_THRESHOLD_ZERO value,
threshold   )     ((value) < (threshold) && (value) > -(threshold))
 

Definition at line 42 of file nearly_zero.h.

#define MAYBE_ZERO value   )     (IS_NEARLY_ZERO(value) ? 0.0 : (value))
 

Definition at line 76 of file nearly_zero.h.

#define NEARLY_ZERO FLOATTYPE   )     (get_nearly_zero_value((FLOATTYPE)0))
 

Definition at line 61 of file nearly_zero.h.

Referenced by FLOATNAME().


Function Documentation

INLINE_LINMATH float get_nearly_zero_value float   ) 
 

Definition at line 35 of file nearly_zero.h.

INLINE_LINMATH double get_nearly_zero_value double   ) 
 

Definition at line 30 of file nearly_zero.h.

References INLINE_LINMATH.


Generated on Fri May 2 00:45:52 2003 for Panda by doxygen1.3