作者EdisonX (闭上眼的鱼)
站内Programming
标题[问题] fmod 是否所有程式语言都提供 ?
时间Wed Nov 30 23:47:48 2011
特殊需求,目前以 C 写了一连串的 math library.
日後可能移植至其他 没有 math library 之程式语言,
不以 inline asm 实作,目前已完成大多,
然而,在做到三角函数时,大量使用 fmod。
问题是 fmod、ceil、floor ,在考虑完整正确性後,
本身速度就不可能打过 library,
找中文 wiki ieee754 後,里面有一段注记如此
----
标准运算
下述函数必须提供:
加减乘除 Add, subtract, multiply, divide
平方根 Square root
浮点余数. 返回值 x-(round(x/y)*y).
近似到最近的整数. 如果恰好在两个相邻整数之间,则近似到偶数.
比较运算. IEEE754定义了特殊情况: -inf = -inf, inf = inf and x ≠ NaN
for any x (including NaN
----
纳闷的是,一些看似简单,要快不易的 fabs, fmod, ceil, floor, getsign 等
function,是否一般在任何程式语言里 (包含组语),均必包含之?
谢谢各位先进之不吝解惑,感谢。
--
If there is no tomorrow,
I want to see u last time.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.177.78.41
1F:→ akasan:有些CPU的组语连浮点运算都没有勒 114.44.158.31 12/01 00:39
2F:→ EdisonX:谢谢a大.或该进一步请教.在有浮点数运算之 180.177.78.41 12/01 00:50
3F:→ EdisonX:CPU,是否组语都包含这些指令? (没floating 180.177.78.41 12/01 00:51
4F:→ EdisonX:可能只能用组语做大数吧 XD) 180.177.78.41 12/01 00:51
5F:→ akasan:喔 你问的太大了 答案当然是:否 114.44.158.31 12/01 01:14
6F:→ EdisonX:谢谢回答,再次感谢 :) 180.177.78.41 12/01 10:10
7F:→ WPC001:有些CPU不支援, 但完整的lib会包出来给你 114.25.132.200 12/01 21:07
8F:→ WPC001:有些CPU连float都不支援... 114.25.132.200 12/01 21:08