我有一些数学(在 C++ 中)似乎生成了一些非常小的、接近于零的数字(我怀疑 trig 函数调用是我真正的问题),但我想检测这些情况以便我可以研究它们更多详情。
我目前正在尝试以下方法,是否正确?
if ( std::abs(x) < DBL_MIN ) {
log_debug("detected small num, %Le, %Le", x, y);
}
其次,数学的本质是三角函数(也就是使用大量的弧度/度数转换和//sin
调用等),我可以做什么样的转换来避免数学错误?cos
tan
显然,对于乘法,我可以使用对数变换- 还有什么?