浮点:选择epsilon以防止零分割?

时间:2017-10-08 05:09:48

标签: c++ floating-point floating-accuracy

我的C ++程序中有简单的公式:

const double z = x / tan(y);

x的数字是1000到10 * 1000, y任何角度。

保护代码免于零分割的正确方法是什么?

我的意思是,我知道如果tan(y)接近零(使用哪个其他公式)该怎么办, 但是如何检查tan(y) ~ 0 - 用于检查的常量:

const double tn = tan(y);

if (fabs(tn) < EPS) { 
  z = some other formula;
} else {
   z = x / tn;
}

我应该采取什么EPS来防止浮点异常?

0 个答案:

没有答案