1.0e-10
今天处理一个数据,程序bug了,算出了-1.#IND,原因是算出了面积为零的三角形,而之中我用来sqrt()做开方。但让我很郁闷的是为什么会有面积为零的三角形,于是我找啊找,找到了这三个点:
1.573970, 9.490746, -1.333724
1.953880, 9.890684, -1.306802
2.333790, 10.290600, -1.279880
咋眼看去这三点好像很正常,但仔细看就会这三点几乎共线,而且还是等距,可以算出三边长为:
0.55227421271321409
0.55225828127788124
1.1045324938868932
前两个加起来等于:
1.1045324939910954
相差了0.0000000001,于是我做减法,开方,华丽丽的算出了-1.#IND。
几万点中竟有如此巧合,让我为我程序异常处理的不严谨付出了时间的代价。
Published
20 August 2014