作者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