用asm.js进行高精度计算是否切实可行?

时间:2014-02-27 20:59:32

标签: javascript html5 math fractals asm.js

我一直在研究HTML5应用程序,该应用程序绘制由迭代函数定义的分形图像,例如着名的Mandelbrot分形。 http://en.wikipedia.org/wiki/Mandelbrot_set

我的理解是Javascript只使用单个数据类型表示数字,双精度浮点数。由于这个限制,我无法像我希望的那样精确地绘制我的程序。互联网上有图像和视频,它们表示分形图像非常精确,以至于它们在小数点后使用数百个数字。请参阅此处以获取示例:http://www.youtube.com/watch?v=foxD6ZQlnlU

我听说过Javascript的高精度计算库,但我看到的都使用字符串来表示数字,这与asm.js不兼容。

使用asm.js进行高精度计算是否有实用的方法?多高?我会说任意高。精度需要调整。

如果我不得不在黑暗中拍摄,我猜想因为asm.js支持整数运算,所以我可以通过使用整数数组来表示小数点后面的大量数字。我可以将数字表示为字符串,并有一个小函数将它们分成数组以传递给asm.js代码。

1 个答案:

答案 0 :(得分:1)

这是一个项目,

gmp.js

它似乎是GNU Multiple-Precision Arithmetic Library通过emscripten到JavaScript的端口,它使用asm.js作为其默认代码生成目标;因为gmp.js是由与emscripten相同的作者编写的,所以它看起来很合法。