目前分類:math.h/cmath application (8)

瀏覽方式: 標題列表 簡短摘要

標題猶豫了很久,本想以 [C語言數值分析] cmath / math.h 實作提要紀錄 (II) 為標題,

不過這篇真正的重點,筆者本意是較偏向以 ieee754 方式分析 library function,

edisonx 發表在 痞客邦 留言(0) 人氣()

二年前瘋狂研究 math.h 裡之各 function 如何實作,

一般見得了人之 function 為求速度,都直接與 IEEE754 format 做為操作基準,

edisonx 發表在 痞客邦 留言(2) 人氣()

 

nature log wiki 網頁,相關的函式還有 log10。

edisonx 發表在 痞客邦 留言(0) 人氣()


edisonx 發表在 痞客邦 留言(0) 人氣()

 

使用公式

edisonx 發表在 痞客邦 留言(0) 人氣()

 

傳統作法

edisonx 發表在 痞客邦 留言(0) 人氣()

吾人本身一陣最常用到的二個運算: Sqrt, 1/Sqrt,於是會找些奇淫怪技想辦法加速。

事實上在做 Sqrt 加速時,實測之結果效能都沒 VC 開 O2 來得快,即使只求整數之 sqrt 之演算法效果也沒很好,所幸在 codeproject 看到有人已實測,該程式碼共寫了 14 份 sqrt,有興趣可去下載下來看看,其中 asm 崁入的有 2 份,測出來結果都比內建的還快,且精度也完全正確。以下為該作者提供之 2 份 sqrt,實測出來約比內建 sqrt 快上 20% 左右 (11390 : 8922),其它的 12 種方法若有興趣,也可再進行實測。

edisonx 發表在 痞客邦 留言(0) 人氣()

一開始也沒想到這個問題,但之後認真研究排列組合中的子集合時,卻發現有必要使用到 log2 此函式。在 cmath (math.h) 裡面,提供 log 與 log10 函式,其中 log 即為 ln;但log2 函式卻視 compiler 決定是否支援,吾人手邊之 MSCV 不論哪個版本均無 log2 這個東西,故特撰此文。下述將先探討一些問題,再進行解法與說明。

本文所探討之 log2,以求得整數為主,求得小數之浮點數,日後再予以探討,文中提供五種方法以說明。

edisonx 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼