注释
|
这对 8 位 Arduinos 来说无关紧要,因为双精度与单精度浮点数相同。 |
|
但是移植到另一个平台确实很重要,尤其是具有单精度 FPU 的平台 |
作者
|
确切地。 另一方面,违反 math.h 声明的充分理由是什么?因为它有效? |
IIRC 参数值在调用之前被提升为双精度,结果被截断为在 ARM 上浮动。因此,可能以较慢的执行速度为代价,结果会更精确。如果存在 FPU 但未使用它会更慢吗?
确实如此,但我不认为这是一个很好的理由。我已经切换到我的端口中的浮动等效项以避免开销.. |
作者
|
avr-libc 在正确的方向 |


根据 GRBL 未使用双精度而是浮精度,以尊重 math.h 声明的方式应使用“funcf”而不是“func”
atan2 -> atan2f
floor –
> floorf round -> roundf
sin -> sinf
cos -> cosf
sqrt -> sqrtf
fabs -> fabsf