📄 mathutils.cpp
字号:
#include <cfloat>
#include <cmath>
#include <climits>
using namespace std;
#include "mathutils.h"
double deg2rad(double deg)
// post: return radian equivalent of deg degrees
{
return deg*PI/180;
}
double rad2deg(double rad)
// post: return degree equivalent of rad radians
{
return rad*180/PI;
}
bool FloatEqual(double lhs, double rhs)
// postcondition: returns true if lhs == rhs where equality
// is determined by using relative error, i.e.
// |lhs-rhs| / min(|lhs|,|rhs|)
{
const double EPSILON = DBL_EPSILON*10; // precision for equality
double flhs = fabs(lhs); // compute absolute values
double frhs = fabs(rhs);
double min = frhs;
if (flhs < frhs) // set minimum of absolute values
{
min = flhs;
}
if (min < EPSILON) // avoid division by zero, check
{
return (fabs(lhs-rhs) < EPSILON);
}
return (fabs(lhs-rhs)/min < EPSILON);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -