Metal 著色語言程式設計指南 十六

2021-07-11 15:52:20 字數 634 閱讀 3010

算數操作符(+, -, *, /, %) 返回值型別與運算元相同(向量或標量,  整型或浮點型).  除和取模運算有可能返回未定義的值:

除操作可能會導致越界返回值(out-of-range value).   以整型而言,   除操作返回的值如果越界的話,  會被限制為整型可以表示的最大或者最小值,  比如, 帶符號整型的最小值為: type_min/(-1).

除零操作,   浮點數除零會返回正無窮, 負無窮或者 非數值(nan),  這種做法遵循 ieee 754標準. 

取模操作,    第二運算元為零的取模操作會導致未定義行為.   如果運算元為向量,   取模操作就逐個作用於兩個向量相同位置的分量上,  如果作為第二運算元向量有值為零的分量, 那個這個分量的取模運算是為定義行為,  其他分量的運算則正常進行.    如果兩個運算元都是非負數, 返回值非負,  如果兩個運算元至少有乙個為負數,  則返回未定義值. 

無符號整型可以表示的值得範圍為 2^n,   在這裡n是指整型數的位元數.    帶符號整型數溢位是未定義行為. 

整型數的除操作, 其餘數會被捨棄.   如果a, b 為整型數,  b非零 則  a/b + a%b = a 成立. 

一元操作符(++, --)  可以作用於運算元的左側或者右側, 跟c++標準所定義的完全一樣. 

Metal 著色語言程式設計指南 一

metal shading language guide 這篇文章講述了metal 圖形繪製和計算 shading 程式語言.metal shading 語言是基於c 的程式語言,使用metal shading 語言的 可以在gpu上進行圖形繪製或者通用平行計算。由於metal shading 語言...

Metal 著色語言程式設計指南 四

metal shading 語言的向量數學庫提供了對向量和矩陣型別表示和運算的支援。向量的命名規則如下所示 booln,charn,shortn,intn,uncharn,ushortn,uintn halfn,floatn 這裡 n 可以是 2,3,4 的其中乙個數字,表示 2 3 4 維向量。矩...

Metal 著色語言程式設計指南 七

floatnxm 和 halfnxm 矩陣可以被看成是型別為floatm和halfm的陣列.類似二維陣列,矩陣的成員可以用二維下標來定址.矩陣物件後面跟乙個下標可以被看作是乙個列向量.如同陣列,列向量的計數也是從0開始,矩陣物件的第二個下標就如同是對向量物件進行定址。所以,矩陣物件後面跟兩個下標就表...