[問題] 關於pow的實作

看板C_and_CPP (C/C++)作者 (Arim5566)時間15年前 (2011/06/11 10:29), 編輯推噓3(306)
留言9則, 6人參與, 最新討論串1/1
各位板友好 一般在實作pow的時候,幾乎都是用迴圈連乘本身之後再相加 但是想問一下如果指數是浮點數的話,比如pow(2,2.5) pow應該如何實作呢?(不用其他的math函式,比如說sqrt) 另外想請問一下 比如說如果想要看math.h的實作的話,在linux(ubuntu10.04)底下應該要去哪個資料夾看呢? 小弟只知道/usr/include這個資料夾可以看到其定義的標頭檔 但是不知道函式實做的內容是放在哪裡 謝謝 -- ~宅男的四個徵兆~ ∠□ ○ ! * \○/ ★    (○ ? ╦╦└□ " ○□═ □   □> ║║√√ ╦══╦ ∥    |\ 一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.197.57

06/11 12:40, , 1F
libm 應該是包在 glibc 吧
06/11 12:40, 1F

06/11 12:42, , 2F
實作內容除非你抓 source package 不然是不會裝到系統裡的
06/11 12:42, 2F

06/11 12:42, , 3F
http://ftp.gnu.org/gnu/glibc/ GNU C Library source
06/11 12:42, 3F

06/11 12:46, , 4F
沒記錯的話應該是用牛頓法還是什麼的數學/數值計算的方
06/11 12:46, 4F

06/11 12:47, , 5F
式去逼近出來的, 基於數學模型再看有什麼方法可以加速.
06/11 12:47, 5F

06/11 14:19, , 6F
可以參考我的文 #1Chs26F6 (Prob_Solve)
06/11 14:19, 6F

06/11 16:20, , 7F
#1C_9QpXj 要原始碼的話這帖裡面有參考網址。
06/11 16:20, 7F

06/11 20:08, , 8F
但是我記得glibc幾乎是用巨集呈現
06/11 20:08, 8F

06/11 22:31, , 9F
謝謝各位大大的指教^^
06/11 22:31, 9F
文章代碼(AID): #1DyjCEW1 (C_and_CPP)
文章代碼(AID): #1DyjCEW1 (C_and_CPP)