PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 數學函式的實作
作者:
SMpeng
(peng)
2015-01-14 22:17:10
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
gcc
補充說明(Supplement):
其實應該算閒聊XD
這學期學了C,大致上還OK,不過剛剛突然有點好奇,在標準程式庫的math.h當中,
那些用到double的函數大致上是用什麼樣的方法實作的阿?
比方說
double pow(double base, double exponent);
double log(double x);
double exp(double x);
如果想要自己寫一個這樣的函式是不是有點困難?
作者:
tj386
(最愛歐陽三姊妹♥♥♥)
2015-01-14 22:27:00
可以參考glibc都是open source,有興趣可以慢慢trace
作者:
EdisonX
(卡卡獸)
2015-01-14 22:39:00
glibc 的 math.h 幾乎看不到 source, 比較推 fdlibm
http://www.netlib.org/fdlibm/
另在 c 裡的 math.h , 沒記錯的話有些是直接呼叫組語做的至於原理的話-都是數值分析,而且方法不只一種。像求 sin我所知的方法大概就三種了。想自己做玩具級(速度慢)的話
http://edisonx.pixnet.net/blog/post/88987513
參考下
作者: SMpeng (peng)
2015-01-14 22:45:00
太感謝了! 來研究看看XD
作者:
suhorng
( )
2015-01-14 22:55:00
像是..x86 有 fsin, fcos 組語指令XD
作者:
LPH66
(-6.2598534e+18f)
2015-01-15 00:04:00
還有一個 fsincos 可以一次做完, 補一個除就變 tan 了
作者: hidog (.....)
2015-01-15 16:06:00
有學過微積分就能實做了 剩下是精確度還有效率問題
作者:
wenyonba
(射後不理很XX啊!!!!)
2015-01-15 16:14:00
樓上你也跑來這閒晃啊 XD
作者: hidog (.....)
2015-01-15 16:17:00
因為是工程師阿XD
作者:
Killercat
(殺人貓™)
2015-01-15 17:24:00
這邊除了新手 學生以外就只剩下工程師跟攻城獸了吧...
作者: amozartea (單車單)
2015-01-16 11:05:00
exp用泰勒展式做就好了
作者: tubbysong (song)
2015-01-16 20:57:00
Double 是雙精倍浮點數,被用表現「自然數」計算
繼續閱讀
[問題] 多個讀寫EC的程式 同時執行造成的問題
srxrrr
[問題] matlab 自定義svd函式crash
g12288
[問題] 我要怎麼更改字串內容
b13b46o2
[問題] 函式內部的程式碼用FORTRAN寫可行嗎?
lovepork
Re: [問題] 請教一個結構陣列大小的問題
CoSNaYe
[問題] 請教一個結構陣列大小的問題
CoSNaYe
Fw: [情報] "風之旅人"首席工程師談TMP & Reflection
cjcat2266
[問題] 自定義排序的規則
googled
[問題] 用c語言抓windows字型產生bit資料
x049
Re: [問題] auto用在const變數以及字面值
azureblaze
Links
booklink
Contact Us: admin [ a t ] ucptt.com