Int32x4 and operations.

Int32x4 stores 4 32-bit bit-masks in "lanes". The lanes are "x", "y", "z", and "w" respectively.

Constants

int WWWW = 0xFF
const
int WWWX = 0x3F
const
int WWWY = 0x7F
const
int WWWZ = 0xBF
const
int WWXW = 0xCF
const
int WWXX = 0xF
const
int WWXY = 0x4F
const
int WWXZ = 0x8F
const
int WWYW = 0xDF
const
int WWYX = 0x1F
const
int WWYY = 0x5F
const
int WWYZ = 0x9F
const
int WWZW = 0xEF
const
int WWZX = 0x2F
const
int WWZY = 0x6F
const
int WWZZ = 0xAF
const
int WXWW = 0xF3
const
int WXWX = 0x33
const
int WXWY = 0x73
const
int WXWZ = 0xB3
const
int WXXW = 0xC3
const
int WXXX = 0x3
const
int WXXY = 0x43
const
int WXXZ = 0x83
const
int WXYW = 0xD3
const
int WXYX = 0x13
const
int WXYY = 0x53
const
int WXYZ = 0x93
const
int WXZW = 0xE3
const
int WXZX = 0x23
const
int WXZY = 0x63
const
int WXZZ = 0xA3
const
int WYWW = 0xF7
const
int WYWX = 0x37
const
int WYWY = 0x77
const
int WYWZ = 0xB7
const
int WYXW = 0xC7
const
int WYXX = 0x7
const
int WYXY = 0x47
const
int WYXZ = 0x87
const
int WYYW = 0xD7
const
int WYYX = 0x17
const
int WYYY = 0x57
const
int WYYZ = 0x97
const
int WYZW = 0xE7
const
int WYZX = 0x27
const
int WYZY = 0x67
const
int WYZZ = 0xA7
const
int WZWW = 0xFB
const
int WZWX = 0x3B
const
int WZWY = 0x7B
const
int WZWZ = 0xBB
const
int WZXW = 0xCB
const
int WZXX = 0xB
const
int WZXY = 0x4B
const
int WZXZ = 0x8B
const
int WZYW = 0xDB
const
int WZYX = 0x1B
const
int WZYY = 0x5B
const
int WZYZ = 0x9B
const
int WZZW = 0xEB
const
int WZZX = 0x2B
const
int WZZY = 0x6B
const
int WZZZ = 0xAB
const
int XWWW = 0xFC
const
int XWWX = 0x3C
const
int XWWY = 0x7C
const
int XWWZ = 0xBC
const
int XWXW = 0xCC
const
int XWXX = 0xC
const
int XWXY = 0x4C
const
int XWXZ = 0x8C
const
int XWYW = 0xDC
const
int XWYX = 0x1C
const
int XWYY = 0x5C
const
int XWYZ = 0x9C
const
int XWZW = 0xEC
const
int XWZX = 0x2C
const
int XWZY = 0x6C
const
int XWZZ = 0xAC
const
int XXWW = 0xF0
const
int XXWX = 0x30
const
int XXWY = 0x70
const
int XXWZ = 0xB0
const
int XXXW = 0xC0
const
int XXXX = 0x0
const
Mask passed to shuffle or shuffleMix.
int XXXY = 0x40
const
int XXXZ = 0x80
const
int XXYW = 0xD0
const
int XXYX = 0x10
const
int XXYY = 0x50
const
int XXYZ = 0x90
const
int XXZW = 0xE0
const
int XXZX = 0x20
const
int XXZY = 0x60
const
int XXZZ = 0xA0
const
int XYWW = 0xF4
const
int XYWX = 0x34
const
int XYWY = 0x74
const
int XYWZ = 0xB4
const
int XYXW = 0xC4
const
int XYXX = 0x4
const
int XYXY = 0x44
const
int XYXZ = 0x84
const
int XYYW = 0xD4
const
int XYYX = 0x14
const
int XYYY = 0x54
const
int XYYZ = 0x94
const
int XYZW = 0xE4
const
int XYZX = 0x24
const
int XYZY = 0x64
const
int XYZZ = 0xA4
const
int XZWW = 0xF8
const
int XZWX = 0x38
const
int XZWY = 0x78
const
int XZWZ = 0xB8
const
int XZXW = 0xC8
const
int XZXX = 0x8
const
int XZXY = 0x48
const
int XZXZ = 0x88
const
int XZYW = 0xD8
const
int XZYX = 0x18
const
int XZYY = 0x58
const
int XZYZ = 0x98
const
int XZZW = 0xE8
const
int XZZX = 0x28
const
int XZZY = 0x68
const
int XZZZ = 0xA8
const
int YWWW = 0xFD
const
int YWWX = 0x3D
const
int YWWY = 0x7D
const
int YWWZ = 0xBD
const
int YWXW = 0xCD
const
int YWXX = 0xD
const
int YWXY = 0x4D
const
int YWXZ = 0x8D
const
int YWYW = 0xDD
const
int YWYX = 0x1D
const
int YWYY = 0x5D
const
int YWYZ = 0x9D
const
int YWZW = 0xED
const
int YWZX = 0x2D
const
int YWZY = 0x6D
const
int YWZZ = 0xAD
const
int YXWW = 0xF1
const
int YXWX = 0x31
const
int YXWY = 0x71
const
int YXWZ = 0xB1
const
int YXXW = 0xC1
const
int YXXX = 0x1
const
int YXXY = 0x41
const
int YXXZ = 0x81
const
int YXYW = 0xD1
const
int YXYX = 0x11
const
int YXYY = 0x51
const
int YXYZ = 0x91
const
int YXZW = 0xE1
const
int YXZX = 0x21
const
int YXZY = 0x61
const
int YXZZ = 0xA1
const
int YYWW = 0xF5
const
int YYWX = 0x35
const
int YYWY = 0x75
const
int YYWZ = 0xB5
const
int YYXW = 0xC5
const
int YYXX = 0x5
const
int YYXY = 0x45
const
int YYXZ = 0x85
const
int YYYW = 0xD5
const
int YYYX = 0x15
const
int YYYY = 0x55
const
int YYYZ = 0x95
const
int YYZW = 0xE5
const
int YYZX = 0x25
const
int YYZY = 0x65
const
int YYZZ = 0xA5
const
int YZWW = 0xF9
const
int YZWX = 0x39
const
int YZWY = 0x79
const
int YZWZ = 0xB9
const
int YZXW = 0xC9
const
int YZXX = 0x9
const
int YZXY = 0x49
const
int YZXZ = 0x89
const
int YZYW = 0xD9
const
int YZYX = 0x19
const
int YZYY = 0x59
const
int YZYZ = 0x99
const
int YZZW = 0xE9
const
int YZZX = 0x29
const
int YZZY = 0x69
const
int YZZZ = 0xA9
const
int ZWWW = 0xFE
const
int ZWWX = 0x3E
const
int ZWWY = 0x7E
const
int ZWWZ = 0xBE
const
int ZWXW = 0xCE
const
int ZWXX = 0xE
const
int ZWXY = 0x4E
const
int ZWXZ = 0x8E
const
int ZWYW = 0xDE
const
int ZWYX = 0x1E
const
int ZWYY = 0x5E
const
int ZWYZ = 0x9E
const
int ZWZW = 0xEE
const
int ZWZX = 0x2E
const
int ZWZY = 0x6E
const
int ZWZZ = 0xAE
const
int ZXWW = 0xF2
const
int ZXWX = 0x32
const
int ZXWY = 0x72
const
int ZXWZ = 0xB2
const
int ZXXW = 0xC2
const
int ZXXX = 0x2
const
int ZXXY = 0x42
const
int ZXXZ = 0x82
const
int ZXYW = 0xD2
const
int ZXYX = 0x12
const
int ZXYY = 0x52
const
int ZXYZ = 0x92
const
int ZXZW = 0xE2
const
int ZXZX = 0x22
const
int ZXZY = 0x62
const
int ZXZZ = 0xA2
const
int ZYWW = 0xF6
const
int ZYWX = 0x36
const
int ZYWY = 0x76
const
int ZYWZ = 0xB6
const
int ZYXW = 0xC6
const
int ZYXX = 0x6
const
int ZYXY = 0x46
const
int ZYXZ = 0x86
const
int ZYYW = 0xD6
const
int ZYYX = 0x16
const
int ZYYY = 0x56
const
int ZYYZ = 0x96
const
int ZYZW = 0xE6
const
int ZYZX = 0x26
const
int ZYZY = 0x66
const
int ZYZZ = 0xA6
const
int ZZWW = 0xFA
const
int ZZWX = 0x3A
const
int ZZWY = 0x7A
const
int ZZWZ = 0xBA
const
int ZZXW = 0xCA
const
int ZZXX = 0xA
const
int ZZXY = 0x4A
const
int ZZXZ = 0x8A
const
int ZZYW = 0xDA
const
int ZZYX = 0x1A
const
int ZZYY = 0x5A
const
int ZZYZ = 0x9A
const
int ZZZW = 0xEA
const
int ZZZX = 0x2A
const
int ZZZY = 0x6A
const
int ZZZZ = 0xAA
const

Properties

bool flagW
read-only
Extracted w value. Returns false for 0, true for any other value.
bool flagX
read-only
Extracted x value. Returns false for 0, true for any other value.
bool flagY
read-only
Extracted y value. Returns false for 0, true for any other value.
bool flagZ
read-only
Extracted z value. Returns false for 0, true for any other value.
int signMask
read-only
Extract the top bit from each lane return them in the first 4 bits. "x" lane is bit 0. "y" lane is bit 1. "z" lane is bit 2. "w" lane is bit 3.
int w
read-only
Extract 32-bit mask from w lane.
int x
read-only
Extract 32-bit mask from x lane.
int y
read-only
Extract 32-bit mask from y lane.
int z
read-only
Extract 32-bit mask from z lane.

Constructors

Int32x4(int x, int y, int z, int w)
Int32x4.bool(bool x, bool y, bool z, bool w)
Int32x4.fromFloat32x4Bits(Float32x4 x)

Operators

operator &(Int32x4 other) → Int32x4
The bit-wise and operator.
operator +(Int32x4 other) → Int32x4
Addition operator.
operator -(Int32x4 other) → Int32x4
Subtraction operator.
operator ^(Int32x4 other) → Int32x4
The bit-wise xor operator.
operator |(Int32x4 other) → Int32x4
The bit-wise or operator.

Methods

select(Float32x4 trueValue, Float32x4 falseValue) → Float32x4
Merge trueValue and falseValue based on this' bit mask: Select bit from trueValue when bit in this is on. Select bit from falseValue when bit in this is off.
shuffle(int mask) → Int32x4
Shuffle the lane values. mask must be one of the 256 shuffle constants.
shuffleMix(Int32x4 other, int mask) → Int32x4
Shuffle the lane values in this and other. The returned Int32x4 will have XY lanes from this and ZW lanes from other. Uses the same mask as shuffle.
withFlagW(bool w) → Int32x4
Returns a new Int32x4 copied from this with a new w value.
withFlagX(bool x) → Int32x4
Returns a new Int32x4 copied from this with a new x value.
withFlagY(bool y) → Int32x4
Returns a new Int32x4 copied from this with a new y value.
withFlagZ(bool z) → Int32x4
Returns a new Int32x4 copied from this with a new z value.
withW(int w) → Int32x4
Returns a new Int32x4 copied from this with a new w value.
withX(int x) → Int32x4
Returns a new Int32x4 copied from this with a new x value.
withY(int y) → Int32x4
Returns a new Int32x4 copied from this with a new y value.
withZ(int z) → Int32x4
Returns a new Int32x4 copied from this with a new z value.