nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
Operators and Elementary Operations (ops)

Arithmetic (+, -, *, /), relational (==, <, >), logical (&, |, ~, xor), bitwise (bitand, bitshift), and transpose operations. More...

Files

file  ops.hpp
 Fundamental arithmetic, relational, logical, and array operator functions.

Enumerations

enum class  nk::builtin::TranspOp { TranspOp::None , TranspOp::Transpose , TranspOp::CTranspose }
 Transposition operator for page-wise matrix multiplication. More...

Functions

Value nk::builtin::plus (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise addition (y = a + b).
Value nk::builtin::minus (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise subtraction (y = a - b).
Value nk::builtin::times (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise multiplication (y = a .
Value nk::builtin::mtimes (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Matrix multiplication (Y = A * B).
Value nk::builtin::rdivide (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise right division (y = a .
Value nk::builtin::ldivide (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise left division (y = a .
Value nk::builtin::mrdivide (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Matrix right division / slash (y = A / B).
Value nk::builtin::mldivide (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Matrix left division / backslash (y = A \\ B).
Value nk::builtin::power (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise power (y = a .
Value nk::builtin::elementPower (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise power alias (y = a .^ b).
Value nk::builtin::mpower (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Matrix power (Y = A ^ B).
Value nk::builtin::uplus (const Value &a, std::pmr::memory_resource *mr=nullptr)
 Unary plus (y = +a).
Value nk::builtin::uminus (const Value &a, std::pmr::memory_resource *mr=nullptr)
 Unary minus / negation (y = -a).
Value nk::builtin::pagemtimes (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Page-wise matrix multiplication (pagemtimes(a, b)).
Value nk::builtin::pagemtimes (const Value &x, TranspOp tx, const Value &y, TranspOp ty, std::pmr::memory_resource *mr=nullptr)
 Page-wise matrix multiplication with transpositions (pagemtimes(x, tx, y, ty)).
Value nk::builtin::eq (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise equality (y = a == b).
Value nk::builtin::ne (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise inequality (y = a ~= b).
Value nk::builtin::lt (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise less than (y = a < b).
Value nk::builtin::le (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise less than or equal (y = a <= b).
Value nk::builtin::gt (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise greater than (y = a > b).
Value nk::builtin::ge (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise greater than or equal (y = a >= b).
Value nk::builtin::logical_and (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise logical AND (y = a & b).
Value nk::builtin::and_op (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Alias for logical_and (y = a & b).
Value nk::builtin::logical_or (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise logical OR (y = a | b).
Value nk::builtin::or_op (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Alias for logical_or (y = a | b).
Value nk::builtin::logical_not (const Value &a, std::pmr::memory_resource *mr=nullptr)
 Elementwise logical NOT (y = ~a).
Value nk::builtin::not_op (const Value &a, std::pmr::memory_resource *mr=nullptr)
 Alias for logical_not (y = ~a).
Value nk::builtin::logical_xor (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Elementwise logical exclusive OR (y = xor(a, b)).
Value nk::builtin::xor_op (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Alias for logical_xor (y = xor(a, b)).
Value nk::builtin::any (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr)
 True if any element of array is non-zero (y = any(x, dim)).
Value nk::builtin::all (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr)
 True if all elements of array are non-zero (y = all(x, dim)).
Value nk::builtin::ctranspose (const Value &a, std::pmr::memory_resource *mr=nullptr)
 Complex conjugate transpose (y = a').
Value nk::builtin::transpose (const Value &a, std::pmr::memory_resource *mr=nullptr)
 Non-conjugate array transpose (y = a.
Value nk::builtin::logicalAnd (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Alias for logical_and.
Value nk::builtin::logicalOr (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Alias for logical_or.
Value nk::builtin::logicalNot (const Value &a, std::pmr::memory_resource *mr=nullptr)
 Alias for logical_not.
Value nk::builtin::logicalXor (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Alias for logical_xor.
Value nk::builtin::transposeNC (const Value &a, std::pmr::memory_resource *mr=nullptr)
Value nk::builtin::bitand_ (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Bitwise AND of integer arrays (bitand(a, b)).
Value nk::builtin::bitor_ (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Bitwise OR of integer arrays (bitor(a, b)).
Value nk::builtin::bitxor_ (const Value &a, const Value &b, std::pmr::memory_resource *mr=nullptr)
 Bitwise XOR of integer arrays (bitxor(a, b)).
Value nk::builtin::bitshift (const Value &a, const Value &k, std::pmr::memory_resource *mr=nullptr)
 Bitwise shift of integer values (bitshift(a, k)).
Value nk::builtin::bitcmp (const Value &a, int width=64, std::pmr::memory_resource *mr=nullptr)
 Bitwise complement (bitcmp(a, width)).
Value nk::builtin::bitset (const Value &a, const Value &n, const Value &val=Value(), std::pmr::memory_resource *mr=nullptr)
 Sets specified bit in integer array (bitset(a, n, val)).
Value nk::builtin::bitget (const Value &a, const Value &n, std::pmr::memory_resource *mr=nullptr)
 Gets bit value at specified bit position in integer array (bitget(a, n)).

Detailed Description

Arithmetic (+, -, *, /), relational (==, <, >), logical (&, |, ~, xor), bitwise (bitand, bitshift), and transpose operations.

Enumeration Type Documentation

◆ TranspOp

enum class nk::builtin::TranspOp
strong

Transposition operator for page-wise matrix multiplication.

Enumerator
None 

No transposition.

Transpose 

Non-conjugate transpose (.').

CTranspose 

Complex conjugate transpose (').

Definition at line 164 of file ops.hpp.

Function Documentation

◆ all()

Value nk::builtin::all ( const Value & x,
int dim = 0,
std::pmr::memory_resource * mr = nullptr )

True if all elements of array are non-zero (y = all(x, dim)).

Tests whether all elements along the specified dimension are non-zero.

Parameters
xInput array.
dimDimension along which to operate (0 = first non-singleton dimension).
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL reduced array.
See also
any, logical_and

◆ and_op()

Value nk::builtin::and_op ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )
inline

Alias for logical_and (y = a & b).

Definition at line 272 of file ops.hpp.

◆ any()

Value nk::builtin::any ( const Value & x,
int dim = 0,
std::pmr::memory_resource * mr = nullptr )

True if any element of array is non-zero (y = any(x, dim)).

Tests whether any elements along the specified dimension are non-zero.

Parameters
xInput array.
dimDimension along which to operate (0 = first non-singleton dimension).
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL reduced array.
See also
all, logical_or

◆ bitand_()

Value nk::builtin::bitand_ ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Bitwise AND of integer arrays (bitand(a, b)).

Parameters
aFirst integer operand.
bSecond integer operand.
mrMemory resource.
Returns
Bitwise AND result.

◆ bitcmp()

Value nk::builtin::bitcmp ( const Value & a,
int width = 64,
std::pmr::memory_resource * mr = nullptr )

Bitwise complement (bitcmp(a, width)).

Parameters
aInput integer array.
widthNumber of bits in unsigned bit representation (default: 64).
mrMemory resource.
Returns
Bitwise inverted values.

◆ bitget()

Value nk::builtin::bitget ( const Value & a,
const Value & n,
std::pmr::memory_resource * mr = nullptr )

Gets bit value at specified bit position in integer array (bitget(a, n)).

Parameters
aInput integer array.
n1-based bit position index.
mrMemory resource.
Returns
Bit values (0 or 1).

◆ bitor_()

Value nk::builtin::bitor_ ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Bitwise OR of integer arrays (bitor(a, b)).

Parameters
aFirst integer operand.
bSecond integer operand.
mrMemory resource.
Returns
Bitwise OR result.

◆ bitset()

Value nk::builtin::bitset ( const Value & a,
const Value & n,
const Value & val = Value(),
std::pmr::memory_resource * mr = nullptr )

Sets specified bit in integer array (bitset(a, n, val)).

Parameters
aInput integer array.
n1-based bit position index.
valBit value (0 or 1, default 1).
mrMemory resource.
Returns
Modified integer array.

◆ bitshift()

Value nk::builtin::bitshift ( const Value & a,
const Value & k,
std::pmr::memory_resource * mr = nullptr )

Bitwise shift of integer values (bitshift(a, k)).

Parameters
aInput integer array.
kShift amount (positive for left shift, negative for right shift).
mrMemory resource.
Returns
Bitwise shifted values.

◆ bitxor_()

Value nk::builtin::bitxor_ ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Bitwise XOR of integer arrays (bitxor(a, b)).

Parameters
aFirst integer operand.
bSecond integer operand.
mrMemory resource.
Returns
Bitwise XOR result.

◆ ctranspose()

Value nk::builtin::ctranspose ( const Value & a,
std::pmr::memory_resource * mr = nullptr )

Complex conjugate transpose (y = a').

Transposes 2-D matrix a and conjugates complex elements.

Parameters
aInput 2-D matrix.
mrMemory resource for allocations (nullptr for default).
Returns
Conjugate transpose of a.
Exceptions
std::runtime_errorIf a is N-D with >2 dimensions.
See also
transpose

◆ eq()

Value nk::builtin::eq ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise equality (y = a == b).

Compares corresponding elements for equality with automatic singleton expansion.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with broadcast shape.
See also
ne, lt, le, gt, ge

◆ ge()

Value nk::builtin::ge ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise greater than or equal (y = a >= b).

Compares whether elements of a are greater than or equal to elements of b.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with broadcast shape.
See also
gt, le, lt, eq

◆ gt()

Value nk::builtin::gt ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise greater than (y = a > b).

Compares whether elements of a are strictly greater than elements of b.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with broadcast shape.
See also
ge, lt, le, eq

◆ ldivide()

Value nk::builtin::ldivide ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise left division (y = a .

\\ b == b ./ a).

Divides each element of b by the corresponding element of a with singleton expansion.

Parameters
aDenominator array or scalar.
bNumerator array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Elementwise quotient array (b ./ a) with broadcast shape.
See also
rdivide, mldivide

◆ le()

Value nk::builtin::le ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise less than or equal (y = a <= b).

Compares whether elements of a are less than or equal to elements of b.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with broadcast shape.
See also
lt, ge, gt, eq

◆ logical_and()

Value nk::builtin::logical_and ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise logical AND (y = a & b).

Converts non-zero values to true and performs elementwise AND with singleton expansion.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with broadcast shape.
See also
logical_or, logical_not, and_op

◆ logical_not()

Value nk::builtin::logical_not ( const Value & a,
std::pmr::memory_resource * mr = nullptr )

Elementwise logical NOT (y = ~a).

Converts zeros to true and non-zeros to false.

Parameters
aInput array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with same shape as a.
See also
logical_and, logical_or, not_op

◆ logical_or()

Value nk::builtin::logical_or ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise logical OR (y = a | b).

Converts non-zero values to true and performs elementwise OR with singleton expansion.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with broadcast shape.
See also
logical_and, logical_not, or_op

◆ logical_xor()

Value nk::builtin::logical_xor ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise logical exclusive OR (y = xor(a, b)).

Returns true where exactly one of a or b is non-zero.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with broadcast shape.
See also
logical_and, logical_or, xor_op

◆ logicalAnd()

Value nk::builtin::logicalAnd ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )
inline

Alias for logical_and.

Definition at line 373 of file ops.hpp.

◆ logicalNot()

Value nk::builtin::logicalNot ( const Value & a,
std::pmr::memory_resource * mr = nullptr )
inline

Alias for logical_not.

Definition at line 379 of file ops.hpp.

◆ logicalOr()

Value nk::builtin::logicalOr ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )
inline

Alias for logical_or.

Definition at line 376 of file ops.hpp.

◆ logicalXor()

Value nk::builtin::logicalXor ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )
inline

Alias for logical_xor.

Definition at line 382 of file ops.hpp.

◆ lt()

Value nk::builtin::lt ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise less than (y = a < b).

Compares whether elements of a are strictly less than elements of b.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with broadcast shape.
See also
le, gt, ge, eq

◆ minus()

Value nk::builtin::minus ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise subtraction (y = a - b).

Computes numeric subtraction with automatic singleton expansion (broadcasting).

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Difference array with broadcast shape.
See also
plus, uminus

◆ mldivide()

Value nk::builtin::mldivide ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Matrix left division / backslash (y = A \\ B).

Solves the linear system A * Y = B (or for scalar A, equivalent to B ./ A).

Parameters
aCoefficient matrix A or scalar.
bRight-hand side matrix B or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Solution vector or matrix.
See also
mrdivide, ldivide

◆ mpower()

Value nk::builtin::mpower ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Matrix power (Y = A ^ B).

Computes square matrix A raised to the scalar power B.

Parameters
aSquare base matrix or scalar.
bExponent scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Matrix power result.
See also
power

◆ mrdivide()

Value nk::builtin::mrdivide ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Matrix right division / slash (y = A / B).

Solves the linear system Y * B = A (or for scalar B, equivalent to A ./ B).

Parameters
aNumerator matrix or scalar.
bDenominator matrix or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Solution matrix or quotient.
See also
mldivide, rdivide

◆ mtimes()

Value nk::builtin::mtimes ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Matrix multiplication (Y = A * B).

Performs standard 2-D matrix multiplication (M x K * K x N -> M x N). If either operand is a scalar, automatically falls back to elementwise multiplication.

Parameters
aLeft matrix (M x K) or scalar.
bRight matrix (K x N) or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Matrix product (M x N).
Exceptions
std::runtime_errorIf inner matrix dimensions do not agree.
See also
times, pagemtimes, mrdivide, mldivide

◆ ne()

Value nk::builtin::ne ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise inequality (y = a ~= b).

Compares corresponding elements for inequality with automatic singleton expansion.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
LOGICAL array with broadcast shape.
See also
eq, lt, le, gt, ge

◆ not_op()

Value nk::builtin::not_op ( const Value & a,
std::pmr::memory_resource * mr = nullptr )
inline

Alias for logical_not (y = ~a).

Definition at line 305 of file ops.hpp.

◆ or_op()

Value nk::builtin::or_op ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )
inline

Alias for logical_or (y = a | b).

Definition at line 289 of file ops.hpp.

◆ pagemtimes() [1/2]

Value nk::builtin::pagemtimes ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Page-wise matrix multiplication (pagemtimes(a, b)).

Multiplies slices (pages) of N-D arrays along the first two dimensions with broadcasting.

Parameters
aLeft N-D matrix operand.
bRight N-D matrix operand.
mrMemory resource for allocations.
Returns
Resulting page-wise multiplied array.
See also
mtimes

◆ pagemtimes() [2/2]

Value nk::builtin::pagemtimes ( const Value & x,
TranspOp tx,
const Value & y,
TranspOp ty,
std::pmr::memory_resource * mr = nullptr )

Page-wise matrix multiplication with transpositions (pagemtimes(x, tx, y, ty)).

Parameters
xLeft operand.
txTransposition operator for left operand (None, Transpose, CTranspose).
yRight operand.
tyTransposition operator for right operand (None, Transpose, CTranspose).
mrMemory resource.
Returns
Resulting page-wise multiplied array.

◆ plus()

Value nk::builtin::plus ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise addition (y = a + b).

Computes numeric addition with automatic singleton expansion (broadcasting). For string and character arrays, performs concatenation or character promotion.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Sum array with broadcast shape.
See also
minus, uplus, times

◆ power()

Value nk::builtin::power ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise power (y = a .

^ b).

Computes a raised to the power b element-by-element with singleton expansion. Yields complex output when negative reals are raised to non-integer exponents.

Parameters
aBase array or scalar.
bExponent array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Elementwise power array with broadcast shape.
See also
mpower

◆ rdivide()

Value nk::builtin::rdivide ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise right division (y = a .

/ b).

Divides each element of a by the corresponding element of b with singleton expansion.

Parameters
aNumerator array or scalar.
bDenominator array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Elementwise quotient array with broadcast shape.
See also
ldivide, mrdivide

◆ times()

Value nk::builtin::times ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )

Elementwise multiplication (y = a .

  • b

).

Multiplies arrays element-by-element with singleton expansion broadcasting.

Parameters
aLeft operand array or scalar.
bRight operand array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Elementwise product array with broadcast shape.
See also
mtimes, rdivide

◆ transpose()

Value nk::builtin::transpose ( const Value & a,
std::pmr::memory_resource * mr = nullptr )

Non-conjugate array transpose (y = a.

').

Transposes 2-D matrix a without conjugating complex elements.

Parameters
aInput 2-D matrix.
mrMemory resource for allocations (nullptr for default).
Returns
Transpose of a.
Exceptions
std::runtime_errorIf a is N-D with >2 dimensions.

◆ transposeNC()

Value nk::builtin::transposeNC ( const Value & a,
std::pmr::memory_resource * mr = nullptr )
inline

Definition at line 384 of file ops.hpp.

◆ uminus()

Value nk::builtin::uminus ( const Value & a,
std::pmr::memory_resource * mr = nullptr )

Unary minus / negation (y = -a).

Negates each element in array a. For signed integers, saturates at minimum value. For logicals and characters, converts to double before negation.

Parameters
aInput array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Elementwise negated array.
See also
uplus, minus

◆ uplus()

Value nk::builtin::uplus ( const Value & a,
std::pmr::memory_resource * mr = nullptr )

Unary plus (y = +a).

Returns identity copy of array a.

Parameters
aInput array or scalar.
mrMemory resource for allocations (nullptr for default).
Returns
Copy of input array a.
See also
uminus, plus

◆ xor_op()

Value nk::builtin::xor_op ( const Value & a,
const Value & b,
std::pmr::memory_resource * mr = nullptr )
inline

Alias for logical_xor (y = xor(a, b)).

Definition at line 322 of file ops.hpp.