{{JSRef}} {{SeeCompatTable}}
The SIMD.Bool16x8
data type is a 128-bit vector divided into 8 lanes storing boolean values.
Syntax
SIMD.Bool16x8(s0, s1, s2, s3, s4, s5, s6, s7);
Parameters
s[0-7]
{{optional_inline}}- A boolean specifying the value of the lane. Defaults to
false
.
Constructor functions
In addition to the simple creator function, the SIMD API provides the following constructor functions.
- {{jsxref("SIMD.splat", "SIMD.Bool16x8.splat()")}}
- Creates an Bool6x8 with all lanes set to a given value.
Note: SIMD types don't work with new
, as SIMD values are no "boxed" objects (comparable to String(s)
vs. new String(s)
, which creates a String object).
var v = new SIMD.Bool16x8(true,true,true,true,false,false,false,false); // TypeError: SIMD.Bool16x8 is not a constructor var w = new SIMD.Bool16x8.splat(true); // TypeError: SIMD.Bool16x8.splat is not a constructor
Instead, you just write:
var v = SIMD.Bool16x8(true,true,true,true,false,false,false,false); var w = SIMD.Bool16x8.splat(true);
Operations
To actually do something with SIMD types, SIMD operations are needed that work on SIMD data types.
Checking SIMD types
- {{jsxref("SIMD.check", "SIMD.Bool16x8.check()")}}
- Returns a new Bool16x8 if the parameter is a valid Bool16x8 data type. Throws a {{jsxref("TypeError")}} otherwise.
Accessing and mutating lanes
- {{jsxref("SIMD.extractLane", "SIMD.Bool16x8.extractLane()")}}
- Returns the value of the given lane.
- {{jsxref("SIMD.replaceLane", "SIMD.Bool16x8.replaceLane()")}}
- Returns a new Bool16x8 with the given lane value replaced.
-
Boolean operations
- {{jsxref("SIMD.allTrue", "SIMD.Bool16x8.allTrue()")}}
- Checks if all lanes hold a
true
value. - {{jsxref("SIMD.anyTrue", "SIMD.Bool16x8.anyTrue()")}}
- Checks if any of the lanes hold a
true
value.
Bitwise logical operations
- {{jsxref("SIMD.and", "SIMD.Bool16x8.and()")}}
- Returns a new Bool16x8 with the logical AND of the lane values (
a & b
). - {{jsxref("SIMD.or", "SIMD.Bool16x8.or()")}}
- Returns a new Bool16x8 with the logical OR of the lane values (
a | b
). - {{jsxref("SIMD.xor", "SIMD.Bool16x8.xor()")}}
- Returns a new Bool16x8 with the logical XOR of the lane values (
a ^ b
). - {{jsxref("SIMD.not", "SIMD.Bool16x8.not()")}}
- Returns a new Bool16x8 with lane with the logical NOT of the lane values (
~a
).
SIMD prototype
The following methods and properties are installed on the SIMD.Bool16x8.prototype
.
SIMD.Bool16x8.prototype.constructor
- Specifies the function that creates a SIMD object's prototype.
- {{jsxref("SIMD.toLocaleString", "SIMD.Bool16x8.prototype.toLocaleString()")}}
- Returns a localized string representing the SIMD type and its elements. Overrides the {{jsxref("Object.prototype.toLocaleString()")}} method.
- {{jsxref("SIMD.toString", "SIMD.Bool16x8.prototype.toString()")}}
- Returns a string representing the SIMD type and its elements. Overrides the {{jsxref("Object.prototype.toString()")}} method.
- {{jsxref("SIMD.valueOf", "SIMD.Bool16x8.prototype.valueOf()")}}
- Returns the primitive value of a SIMD object.
- {{jsxref("SIMD.toSource", "SIMD.Bool16x8.prototype.toSource()")}} {{non-standard_inline}}
- Returns a string representing the source code of the object. Overrides the {{jsxref("Object.prototype.toSource()")}} method.
Examples
Constructing a Bool16x8
SIMD.Bool16x8(true, true, true, true, false, false, false, false); // Bool16x8[true, true, true, true, false, false, false, false] SIMD.Bool16x8(true, false); // Bool16x8[true, false, false, false, false, false, false, false] SIMD.Bool16x8(); // Bool16x8[false, false, false false, false, false, false, false]
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('SIMD', '#bool16x8', 'Bool16x8')}} | {{Spec2('SIMD')}} | Initial definition. |
Browser compatibility
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatNightly("firefox")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatNo}} | {{CompatNightly("firefox")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
See also
- {{jsxref("SIMD")}}