operatorOP
sycl::marray operatorOP(const sycl::marray& lhs, const sycl::marray& rhs);
If OP is %, available only when:
DataT != float && DataT != double && DataT != half.
Construct a new instance of the SYCL sycl::marray class template with the
same template parameters as lhs marray with each element of the new
SYCL sycl::marray instance the result of an element-wise OP arithmetic
operation between each element of lhs marray and each element of
the rhs SYCL sycl::marray.
Where OP is: +, -, *, /, %.
sycl::marray operatorOP(const sycl::marray& lhs, const DataT& rhs);
If OP is %, available only when:
DataT != float && DataT != double && DataT != half.
Construct a new instance of the SYCL sycl::marray class template with the
same template parameters as lhs marray with each element of the new
SYCL sycl::marray instance the result of an element-wise OP arithmetic
operation between each element of lhs marray and the rhs scalar.
Where OP is: +, -, *, /, %.
sycl::marray& operatorOP(sycl::marray& lhs, const sycl::marray& rhs);
If OP is %=, available only when:
DataT != float && DataT != double &&
DataT != half.
Perform an in-place element-wise OP arithmetic operation between
each element of lhs marray and each element of the rhs
SYCL sycl::marray and return lhs marray.
Where OP is: +=, -=, *=, /=, %=.
sycl::marray& operatorOP(sycl::marray& lhs, const DataT& rhs);
If OP is %=, available only when:
DataT != float && DataT != double && DataT != half.
Perform an in-place element-wise OP arithmetic operation between
each element of lhs marray and rhs scalar and return
lhs marray.
Where OP is: +=, -=, *=, /=, %=.
sycl::marray& operatorOP(sycl::marray& v);
Perform an in-place element-wise OP prefix arithmetic operation on
each element of v marray, assigning the result of each element to
the corresponding element of v marray and return v marray.
Where OP is: ++, --.
sycl::marray operatorOP(sycl::marray& v, int);
Perform an in-place element-wise OP postfix arithmetic operation on
each element of v marray, assigning the result of each element to
the corresponding element of v marray and returns a copy of
v marray before the operation is performed.
Where OP is: ++, --.
sycl::marray operatorOP(sycl::marray& v);
Construct a new instance of the SYCL sycl::marray class template with the
same template parameters as this SYCL sycl::marray with each element of
the new SYCL sycl::marray instance the result of an element-wise OP
unary arithmetic operation on each element of this SYCL sycl::marray.
Where OP is: +, -.
sycl::marray operatorOP(const sycl::marray& lhs, const sycl::marray& rhs);
Available only when:
DataT != float && DataT != double && DataT != half.
Construct a new instance of the SYCL sycl::marray class template with the
same template parameters as lhs marray with each element of the new
SYCL sycl::marray instance the result of an element-wise OP bitwise
operation between each element of lhs marray and each element of
the rhs SYCL sycl::marray.
Where OP is: &, |, ^.
sycl::marray operatorOP(const sycl::marray& lhs, const DataT& rhs);
Available only when:
DataT != float && DataT != double && DataT != half.
Construct a new instance of the SYCL sycl::marray class template with the
same template parameters as lhs marray with each element of the new
SYCL sycl::marray instance the result of an element-wise OP bitwise
operation between each element of lhs marray and the rhs scalar.
Where OP is: &, |, ^.
sycl::marray& operatorOP(sycl::marray& lhs, const sycl::marray& rhs);
Available only when:
DataT != float && DataT != double && DataT != half.
Perform an in-place element-wise OP bitwise operation between each
element of lhs marray and the rhs SYCL sycl::marray and return
lhs marray.
Where OP is: &=, |=, ^=.
sycl::marray& operatorOP(sycl::marray& lhs, const DataT& rhs);
Available only when:
DataT != float && DataT != double && DataT != half.
Perform an in-place element-wise OP bitwise operation between each
element of lhs marray and the rhs scalar and return a
lhs marray.
Where OP is: &=, |=, ^=.
sycl::marray<bool, NumElements> operatorOP(const sycl::marray& lhs, const sycl::marray& rhs);
Construct a new instance of the sycl::marray class template with
DataT = bool and same NumElements as lhs marray with each element
of the new sycl::marray instance the result of an element-wise OP logical
operation between each element of lhs marray and each element of the
rhs marray.
Where OP is: &&, ||.
sycl::marray<bool, NumElements>
operatorOP(const sycl::marray& lhs, const DataT& rhs);
Construct a new instance of the sycl::marray class template with
DataT = bool and same NumElements as lhs marray with each element
of the new sycl::marray instance the result of an element-wise OP
logical operation between each element of lhs marray and
the rhs scalar.
Where OP is: &&, ||.
sycl::marray operatorOP(const sycl::marray& lhs, const sycl::marray& rhs);
Available only when:
DataT != float && DataT != double && DataT != half.
Construct a new instance of the SYCL sycl::marray class template
with the same template parameters as lhs marray with each element
of the new SYCL sycl::marray instance the result of an element-wise
OP bitshift operation between each element of lhs marray and each
element of the rhs SYCL sycl::marray. If OP is >>,
DataT is a signed type and lhs marray has a negative
value any vacated bits viewed as an unsigned integer must be assigned the
value 1, otherwise any vacated bits viewed as an unsigned integer
must be assigned the value 0.
Where OP is: <<, >>.
sycl::marray operatorOP(const sycl::marray& lhs,
const DataT& rhs);
Available only when:
DataT != float && DataT != double && DataT != half.
Construct a new instance of the SYCL sycl::marray class template
with the same template parameters as lhs marray with each element of
the new SYCL sycl::marray instance the result of an element-wise
OP bitshift operation between each element of lhs marray and the
rhs scalar. If OP is >>, DataT is a signed type and
lhs marray has a negative value any vacated bits viewed as an unsigned
integer must be assigned the value 1, otherwise any vacated bits viewed
as an unsigned integer must be assigned the value 0.
Where OP is: <<, >>.
sycl::marray& operatorOP(sycl::marray& lhs, const sycl::marray& rhs);
Available only when: DataT != float && DataT != double && DataT != half.
Perform an in-place element-wise OP bitshift operation between each
element of lhs marray and the rhs SYCL sycl::marray and returns
lhs marray. If OP is >>=, DataT is a signed type and
lhs marray has a negative value any vacated bits viewed as an unsigned
integer must be assigned the value 1, otherwise any vacated bits viewed
as an unsigned integer must be assigned the value 0.
Where OP is: <<=, >>=.
sycl::marray& operatorOP(sycl::marray& lhs, const DataT& rhs);
Available only when:
DataT != float && DataT != double && DataT != half.
Perform an in-place element-wise OP bitshift operation between each
element of lhs marray and the rhs scalar and returns a reference
to this SYCL sycl::marray. If OP is >>=, DataT is a signed type
and lhs marray has a negative value any vacated bits viewed as an
unsigned integer must be assigned the value 1, otherwise any vacated
bits viewed as an unsigned integer must be assigned the value 0.
Where OP is: <<=, >>=.
sycl::marray<bool, NumElements>
operatorOP(const sycl::marray& lhs, const sycl::marray& rhs);
Construct a new instance of the sycl::marray class template with
DataT = bool and same NumElements as lhs marray with each element of
the new sycl::marray instance is the result of an element-wise
OP relational operation between each element of lhs marray
and each element of the rhs marray. The ==, <, >, <=
and >= operations result in false if either the lhs element
or the rhs element is a NaN. The != operation results in
true if either the lhs element or the rhs
element is a NaN.
Where OP is: ==, !=, <, >, <=, >=.
sycl::marray<bool, NumElements> operatorOP(const sycl::marray& lhs, const DataT& rhs);
Construct a new instance of the sycl::marray class template with
DataT = bool and same NumElements as lhs marray with each element
of the new sycl::marray instance the result of an element-wise OP
relational operation between each element of lhs marray and the rhs
scalar. The ==, <, >, <= and >= operations result in
false if either the lhs element or the rhs is a NaN. The
!= operation results in true if either the lhs element or the
rhs is a NaN.
Where OP is: ==, !=, <, >, <=, >=.
sycl::marray operatorOP(const DataT& lhs, const sycl::marray& rhs);
If OP is %, available only when:
DataT != float && DataT != double && DataT != half.
Construct a new instance of the SYCL sycl::marray class template
with the same template parameters as the rhs SYCL sycl::marray
with each element of the new SYCL sycl::marray instance the result of
an element-wise OP arithmetic operation between the lhs scalar and
each element of the rhs SYCL sycl::marray.
Where OP is: +, -, *, /, %.
sycl::marray operatorOP(const DataT& lhs, const sycl::marray& rhs);
Available only when:
DataT != float && DataT != double && DataT != half.
Construct a new instance of the SYCL sycl::marray class template
with the same template parameters as the rhs SYCL sycl::marray
with each element of the new SYCL sycl::marray instance the result
of an element-wise OP bitwise operation between the lhs scalar
and each element of the rhs SYCL sycl::marray.
Where OP is: &, |, ^.
sycl::marray<bool, NumElements> operatorOP(const DataT& lhs, const sycl::marray& rhs);
Construct a new instance of the sycl::marray class template with
DataT = bool and same NumElements as rhs marray with each element
of the new sycl::marray instance the result of an element-wise OP
logical operation between the lhs scalar and each element
of the rhs marray.
Where OP is: &&, ||.
sycl::marray operatorOP(const DataT& lhs, const sycl::marray& rhs);
Construct a new instance of the SYCL sycl::marray class template
with the same template parameters as the rhs SYCL sycl::marray
with each element of the new SYCL sycl::marray instance the result of
an element-wise OP bitshift operation between the lhs scalar and
each element of the rhs SYCL sycl::marray. If OP is >>,
DataT is a signed type and this SYCL sycl::marray has a
negative value any vacated bits viewed as an unsigned integer must be
assigned the value 1, otherwise any vacated bits viewed as an
unsigned integer must be assigned the value 0.
Where OP is: <<, >>.
sycl::marray<bool, NumElements> operatorOP(const DataT& lhs, const sycl::marray& rhs);
Construct a new instance of the sycl::marray class template with
DataT = bool and same NumElements as rhs marray with each element
of the new SYCL sycl::marray instance the result of an element-wise
OP relational operation between the lhs scalar and each element of the
rhs marray. The ==, <, >, <= and >= operations result
in false if either the lhs or the rhs element is a NaN.
The != operation results in true if either the lhs or
the rhs element is a NaN.
Where OP is: ==, !=, <, >, <=, >=.
sycl::marray& operator~(const sycl::marray& v);
Available only when:
DataT != float && DataT != double && DataT != half.
Construct a new instance of the SYCL sycl::marray class template
with the same template parameters as v marray with each element of
the new SYCL sycl::marray instance the result of an element-wise
OP bitwise operation on each element of v marray.
sycl::marray<bool, NumElements> operator!(const sycl::marray& v);
Construct a new instance of the sycl::marray class template with
DataT = bool and same NumElements as v marray with each element of
the new sycl::marray instance the result of an element-wise logical !
operation on each element of v marray.