00001 /* 00002 Copyright (C) 2005-2006 Feeling Software Inc. 00003 MIT License: http://www.opensource.org/licenses/mit-license.php 00004 */ 00005 00011 #ifdef WIN32 00012 #include <float.h> 00013 #endif 00014 00016 #define DBL_TOLERANCE 0.0001 00017 00018 #define FLT_TOLERANCE 0.0001f 00019 00021 typedef vector<double> DoubleList; 00022 00024 typedef vector<float> FloatList; 00025 00029 inline bool IsEquivalent(float f1, float f2) { return f1 - f2 < FLT_TOLERANCE && f2 - f1 < FLT_TOLERANCE; } 00030 00035 inline bool IsEquivalent(float f1, float f2, float tolerance) { return f1 - f2 < tolerance && f2 - f1 < tolerance; } 00036 00040 inline bool IsEquivalent(double f1, double f2) { return f1 - f2 < DBL_TOLERANCE && f2 - f1 < DBL_TOLERANCE; } 00041 00046 inline bool IsEquivalent(double f1, double f2, double tolerance) { return f1 - f2 < tolerance && f2 - f1 < tolerance; }