ippi庫中函式命名統一遵循下述格式:
ippi(name)__(datatype)(descriptors)(parameters)
其中,name部分描述函式的功能,datatype表示部分函式的輸入和輸出的資料型別,
具體可以參考ipps庫的函式格式。下面重點介紹一下ippi庫特有的descriptors部分。
descriptors部分用來補充說明函式使用的細節,下表列出了ippi庫中的descriptos及其相應含義說明。
如果函式名中同時使用了多個descriptor,那麼按照字母表的順序排列descriptor。每個函式名都會使用cn或者pn來標記所處理的影象通道數目以及資料的排列方式。如果輸入和輸出資料的通道排列方式不同,那麼需要分別使用descriptor進行標記,例如,函式ippihlstobgr_8u_c3p3r把三通道的hls影象轉換成三通道bgr影象。
函式原型
函式名中在name部分之後包含datatype和descriptor部分,ippi中執行某個功能的函式集通常包含了很多個函式,這些函式的區別在於處理的資料型別,或者是descriptor標記的細節。
為了使說明文件顯得更加清楚簡潔,本文件中對每個函式集只會描述乙個函式原型,
把datatype和descriptor部統一標記為(mod),表示此部分可以有所變化。然後,針對具體函式實現的差異部分再做特別說明。以影象膨脹函式為例,函式原型為:
ippstatus ippidilate_(mod)(const ipp(datatype)* psrc, int srcstep, ipp(datatype)* pdst, int dststep, ippisize roisize);
其中,mod部分支援的值包括:8u_c1r, 8u_c3r, 8u_ac4r。
近似規則
ippi函式中存在需要近似的情況,通常的近似規則如下:
例如,1.5近似為2,2.5近似為2。
整型結果縮放處理
函式可以使用引數scalefactor來指定縮放形式,scalefactor可以設定為正數、複數或0。
縮放結果是通過對輸出結果乘以2-scalefactor得到的。使用縮放的好處是可以保留輸出資料的範圍與精度,下面舉例說明。
當scalefactor設定為正數時,通常使用位移操作實現的,近似處理的方式參考上面介紹的近似規則部分。例如,使用函式ippisqr對200進行平方運算,得到的ipp16s型別的結果是32767而非40000,這樣,結果限定在了ipp16s資料型別能儲存的最大範圍,導致存出結果錯誤。如果設定了scalefactor為1,得到的結果為20000,沒有達到ipp16s的上限32767,準確的結果通過20000*21可以恢復。這個例子說明可以使用縮放來保留準確的結果。
再以平方根運算為例,使用函式ippisqr對2進行平方根運算,得到的結果是1而非1.414。如果設定為scalefactor為-3,對應輸出值為11,可以通過11*2-3計算出實際結果的近似值1.375。這個例子說明可以使用縮放來保留結果的精度。
APK檔案命名格式
專案代號 版本號 版本型別 打包時間 市場 apk 名稱 本應用的專案代號為 distance 版本號 一般由3位數值組成,由應用版本去掉小數點標識,比如應用版本為 1.00 那麼這裡應寫為 100 版本型別 此項為可選。目前分為 demo alpha beta 即 演示版 試玩版 內部測試版 測試...
php函式名命名規範,php函式命名規範
php函式命名規範 1 函式的名稱應該提示出它的功能 2 函式名稱以字母或下劃線開頭 3 函式名稱不能以數字開頭。函式是通過呼叫函式來執行的,我們可以在頁面的任何位置呼叫函式。函式命名規範 函式名稱以字母或下劃線開頭 不能以數字開頭 函式是通過呼叫函式來執行的。我們可以在頁面的任何位置呼叫函式。為了...
函式與命名空間
格式 返回值 引數 可變引數 內聯函式 函式過載 格式 返回型別 函式名 函式引數型別 函式引數,如果沒有形參可以直接在函式名後面加 或者 void 返回值說明 有返回值函式 無返回值函式 例子 例1 有返回值 double max double a,double b 例2 無返回值 void sh...