数码资讯
javascript实现算术平方根算法——代码超简单
几天前,我从雷神的木槌上看到了一个平方根的根源。 源代码是用C语言编写的,我发现这个算法可以用Javascript完成。 功能invsqrt(x){ var = 0.5××; var b =新ArrayBuffer(4); var a新的DataView(B,0); d.setfloat32(0,X
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
几天前,我从雷神的木槌上看到了一个平方根的根源。
源代码是用C语言编写的,我发现这个算法可以用Javascript完成。
功能invsqrt(x){
var = 0.5××;
var b =新ArrayBuffer(4);
var a新的DataView(B,0);
d.setfloat32(0,X);
var i = d.getint32(0);
我= 0x5f375a86 -(我> > 1);
d.setint32(0,i);
VAR r = d.getfloat32(0);
R = R *(1.5小时×r×r);
返回R;
}
测试:
console.time();
对于(var i = 0;i < 10000000;i + +){
InvSqrt(我);
}
Console.timeEnd(T);
console.time();
对于(var i = 0;i < 10000000;i + +){
1 / math.sqrt(我);
}
Console.timeEnd(T);
vm2303:18 T:33438.000ms
vm2303:24 T:16720.000ms
虽然结果仍然比系统库慢,而且精度很低,但是我很满意。
以上是使用javascript算术平方根算法的算法,如何,代码非常简单,需要的朋友可以快速学习。
源代码是用C语言编写的,我发现这个算法可以用Javascript完成。
功能invsqrt(x){
var = 0.5××;
var b =新ArrayBuffer(4);
var a新的DataView(B,0);
d.setfloat32(0,X);
var i = d.getint32(0);
我= 0x5f375a86 -(我> > 1);
d.setint32(0,i);
VAR r = d.getfloat32(0);
R = R *(1.5小时×r×r);
返回R;
}
测试:
console.time();
对于(var i = 0;i < 10000000;i + +){
InvSqrt(我);
}
Console.timeEnd(T);
console.time();
对于(var i = 0;i < 10000000;i + +){
1 / math.sqrt(我);
}
Console.timeEnd(T);
vm2303:18 T:33438.000ms
vm2303:24 T:16720.000ms
虽然结果仍然比系统库慢,而且精度很低,但是我很满意。
以上是使用javascript算术平方根算法的算法,如何,代码非常简单,需要的朋友可以快速学习。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。