网上找不到资料。浮点仿真算法已经有了,也已经写成对象+运算符重载的形式。只不过如果使用这个对象去替换float的话,编译器就不懂优化编译了。
比如Type a, b;
Type c = a/((a + b) * (a + b) - (a - b) * (a - b));
Type d = b/((a + b) * (a + b) - (a - b) * (a - b));如果Type是float的,编译会优化编译一下,(a + b)、(a - b)以及(a + b) * (a + b) - (a - b) * (a - b)都只会计算一次,但如果是对象的话,这些都要计算多次。用GCC编译的话,加上参数-msoft-float,编译器就会把这些+-*/编译为只有声明的函数,然后我用浮点仿真算法实现这些函数,那么就做到了浮点仿真。
VC有没有这样的编译参数,cl /?没发现相似的?