javascript Math.sin()是O(1)吗?

javascript Math.sin()是O(1)吗?,javascript,math,time-complexity,Javascript,Math,Time Complexity,我想知道Math.sin(),Math.cos()是否为O(1),以及如何将其转换为编译器 我们可以为它创建一个匹配表 或者我们可以创建一个不太详细的匹配表,并使用线性公式计算值 或者我们可以把它分解 我想在任何意义上,Math.sin()都是O(1),因为输入是有界的,但是它在编译器中到底是如何完成的,它有多复杂?可能不可能给出明确的答案,所以我会尽量向您提供尽可能多的信息 Math对象实现在浏览器和操作系统之间可能有所不同(“请注意,许多数学函数的精度取决于实现。这意味着不同的浏览器可以给出

我想知道
Math.sin()
Math.cos()
是否为O(1),以及如何将其转换为编译器

我们可以为它创建一个匹配表

或者我们可以创建一个不太详细的匹配表,并使用线性公式计算值

或者我们可以把它分解


我想在任何意义上,
Math.sin()
都是O(1),因为输入是有界的,但是它在编译器中到底是如何完成的,它有多复杂?

可能不可能给出明确的答案,所以我会尽量向您提供尽可能多的信息

Math
对象实现在浏览器和操作系统之间可能有所不同(“请注意,许多数学函数的精度取决于实现。这意味着不同的浏览器可以给出不同的结果,甚至不同操作系统或体系结构上的同一JS引擎也可以给出不同的结果。”)

正弦函数有几种主要的实现方式:


复杂性将取决于实现。据我所知,CORDIC算法更常见。

它看起来像一个复制品:它是
O(1)
(对于
C
的某些值),因为它对指令有一个[小]有限的限制-即使是泰勒展开,例如。这并不意味着每个调用都保证花费相同的时间(或不是),但是这是一种解释性语言。没有编译器,但通常有编译器。参见,例如O(1),关于什么?