SGF、SGN、SGL汇编算数类测试

易语言 2020-05-27 16:46:23

1. sgf 开头的函数是双精度比较大小,以修复核心库的大小比较精度太低的风险(差距小于0.0000001会被认为相等)。速度慢一些(函数调用开销很大)。
2. sgn 开头的函数是整数型运算,比核心库快得多(在操作数都是变量的情况下),而且有无符号整数运算相关函数。
3. sgl 开头的函数是长整数型运算,以修复在操作数都是变量的情况下核心库转换双精度(只有53位尾数)计算带来的误差风险,速度比核心库快得多,而且有无符号整数运算相关函数。
本模块所有汇编代码由visual studio 2013 c++编译器在开启优化,不开启CPU指令集扩展的情况下生成。
(易语言在处理 a +-*/ b(a、b都是变量)时会先转换浮点数,使得速度很慢,位运算不知道为什么也很慢)
(易语言核心库的大小比较有严重误差,如果两个浮点数相差小于0.0000001则认为相等,这些函数解决误差问题,但是速度会慢,因为调用子程序call开销太大)