1.opencl的浮點函式將會被劃分為五類來分別討論:算數運算和取捨,比較,指數運算,三角運算,以及其他型別的函式。
2。算術運算函式和取捨函式:大多數的數學函式都能計算乘積、商數以及餘數,大多數取捨函式都能接受float型數,然後返回小數部分為0的float型數:
(1)floatn fabs
(floatn x)
--返回引數的絕對值,|x|
;(2)floatn fma
(flaotn a,floatn b, floatn c)
--返回a*b+c,中間的乘法結果沒有近似取捨;
(3)floatn fmod
(floatn x,floatn y)
--返回x模y的結果:x-
(y*trunc
(y/x));
(4)floatn mad
(floatn a,floatn b,floatn c)
--返回a*b+c;
(5)float
remainder
(floatn x, floatn y)
--返回x除以y的餘數:x-n*y,其中x是最接近x/y的整數;
(6)float
remquo
(floatn x, floatn y,
__(g|l|p)
*quo)
--返回x除以y的餘數:x-n*y,其中n是最接近x/y的整數;同時也會計算x/y的低七位,結果的符號和x/y相同,被儲存在quo指向的物件中;
(7)floatn rint
(floatn x)
--以float型返回最臨近的整數--如果兩個整數同樣接近,以float型返回偶數;
(8)floatn round
(floatn x)
--返回最臨近x 的整數,如果兩個整數同樣近,返回遠離遠點的整數;
(9)floatn ceil
(floatn x)
--返回x向上取整的結果;
(10)floatn floor
(floatn x)
-- 返回x向下取整的結果;
(11)floatn trunc
(floatn x)
--去掉x的小數部分,返回整數。
這張表中包含了兩個功能相同的函式。函式mad和函式fma(fused multiply和add, 先乘後加)的功能都是計算a*b+c.「mad在速度重於精度的場合下使用」。而與之相反,fma能提供更高的精度,它只對最後結果進行取捨,不對中間運算結果做任何處理。
運算子「/」既可以用於整數運算,也可以用於浮點數運算,但是操作符%(求餘)只能用於整數運算。如果要對浮點數求餘,則需要呼叫函式fmod,它將返回x-(ytrunc(y/x))的運算結果。函式remainder的功能相同,但返回的是x-ny的運算結果,其中n是最接近x/y的整數。
提到取捨函式,唯一需要記住的是:函式rint是向最近的偶數做取捨,而函式round則不然,它返回的是距離最近的整數,但如果兩個最近的整數距離相同,它將返回離0最遠的那個。
round(-6.5)返回的是-7.0而不是-6.0,這是因為-7比-6離0更遠。可以將函式round與函式trunc對立起來理解記憶。
筆記 浮點型資料
浮點數 floating point number 就是實數 real number 浮點數有兩種表示形式 1 十進位制小數形式。它由數字和小數點組成。0.123 123.123.0 0.0都是十進位制小數形式。2 指數形式。如123e3或123e3都代表123 103。注意字母e或e之前必須有數字...
php手冊 筆記 型別 浮點型
1.除了字串型別之外,其它的所有型別轉換為浮點型時,都是先轉換為整型,然後再轉換為浮點型的 2.floor 0.1 0.7 10 返回的是7 為什麼echo 0.1 0.7 10返回的是8呢?也就是對浮點數的運算結果一定要注意使用限制小數點的位數,比如使用floor round 0.1 0.7 1 ...
學習筆記16
提出該動機的原因有3個方面 1 檢測演算法是專門在複雜場景中精確定位和區分物件的,這可能導致更準確和穩健的 2 重用檢測模型可以減少跟蹤中的重複工作,因此我們可以將更多精力放在跟蹤特定的問題上,例如目標域適應和時間依賴性。3 這種框架有可能促成多任務模型,即聯合檢測和跟蹤視覺物體,這接近行業的需求。...