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
.