如何有效地签入asm.js代码,浮点值是否为NaN?
原则上工作的一种方法是将全局isNaN JavaScript函数作为外部函数导入asm.js模块。但是,由于调用外接函数的代价很高,所以这不会产生最佳代码。
与值NaN (它是标准库的一部分)相比,没有选择,因为NaN与另一个NaN的比较通过JavaScript语义总是产生false。
检查堆上的位也是不可选的,因为没有指定endianess。
为什么isNaN不是asm.js标准库的一部分?
发布于 2014-02-26 10:26:09
NaN的这个属性通常用于标识它:
var isNaN = a!=a; 来自维基百科:
等式和不等式谓词是非信令的,因此x=x返回false可以用来测试x是否是一个安静的NaN。
发布于 2014-02-26 10:26:01
if (value !== value) {
// Definitely NaN
}你可以把它做成这样的函数
function isNaN(inputValue) {
return inputValue !== inputValue;
}https://stackoverflow.com/questions/22038416
复制相似问题