用c語言編寫簡單的對數函式
作為乙個影象處理晶元公司的工程師,支援不同sensor的**策略是乙個isp的基本功能,但是有的sensor**策略複雜,還需要加上sensor廠商自己新增的補丁,而isp本身空間有限,不能引用math.h,或者大量定義陣列來查表,所以有時候需要發揮自己的想象力。
比如`.
// an highlighted block
const unsigned int gain_table[225] = ;
void set_gain(unsigned int gain)
這個sensor的增益策略是乙個典型的查表法。但是isp的空間有限,無法設定那麼多陣列,於是我在excel表中將資料做了處理,先搞清楚陣列和所求的i之間的關係。
發現對應**資料除以32的平方增益倍數就比較容易看出來了。
現在vs上模擬驗證了一下,當n大於30的時候,得出來的i精度相差不大,我以為看到了希望,匯入伺服器,編譯,但是問題又來了!!!韌體沒有空間承載大量計算!!
所以只能自己想辦法編寫乙個簡單的對數函式!!!
unsigned short math(unsigned gain)
{ int i = 0,j = 0;
while (gain > 3)
j = (i +1) + ((3 * (s_ncurgain - (2<
return j;
}
不定方程求解c語言 編寫自己的求解器
如果不寫自己的求解器,那麼學這個軟體將毫無意義。而寫自己的求解器,常見的,無外乎幾種目的 這些需求裡面,其實除了第一條是需要改動求解器框子的,剩下的無非是在一般計算的中間插入一些計算步驟罷了。所以下面寫的時候我先從最簡單的求解器 簡單方程 沒有源項 常係數 開始寫起,然後單獨處理上述若干種不同情況。...
用C語言編寫通用氣泡排序函式
一 首先明確如何用氣泡排序法對乙個整型陣列元素進行排序 注 此處為公升序排列,詳見文章 用氣泡排序法對陣列中的元素排序 二 base為乙個無型別的指標變數,用於接收在主函式中傳給此排序函式位址 num表示需要排序的元素個數 width表示每個元素的寬度,即所佔的位元組個數 cmp是乙個指向函式的指標...
用C語言編寫一系列簡單的程式
1 列印九九乘法表 include int main void printf n 2 使用 列印矩形 include int main void printf n 3 使用 列印平行四邊形 include int main void else printf n 4 使用 列印直角三角形 includ...