webassembly 是否支持 trig 函数?我的意思是喜欢内置支持,因为看起来我们必须从 javascript 导入它们。如果我们有这样的东西就好了:
f32.sin
f32.cos
如果有任何意义。如果它们不存在,我认为它是因为实现非常依赖于系统。
问题:
想象一下,我们有一些非常复杂且计算量大的公式,其中涉及这些数学函数。我想计算 webassembly 中的所有内容,而不依赖于导入或细分我的代码,其中一部分在 webassembly 中运行,另一部分在 javascript 中运行。
除此之外,我确实相信如果内置三角函数,从语义上来说,事情看起来会更整洁。
三角函数在 WebAssembly 中不可用,尽管之前已经讨论过1、2、3。一般来说,WebAssembly 为像 CPU 指令一样有效存在的东西提供操作码,而三角函数现在没有有效的 CPU 版本(即使 x86 sin / cos 也很慢)。
此外,我们现在不想强制执行特定的精度范围。这是一种以正确的精度指定三角函数的艺术形式,到目前为止还没有引起强烈的兴趣。
在未来,我们希望看到像 libm.wasm 这样的代码共享,这将消除代码下载负担。
可以说,如果有 ISA 信息,实施可能会更有效,但我们需要有人用数据来支持该用例以对其进行标准化。我希望第一个这样的情况是快速 sqrt 和逆 sqrt 近似值,它们经常在游戏中使用并且具有良好的 ISA 支持。在 WebAssembly 的上下文中,我还没有听说过真正的性能敏感三角函数使用。并不是说我不认为它们会存在:这是Community Group的一个简单的优先级问题。