53 template<
typename dtype>
77 template<
typename dtype>
82 if (lhs.shape() != rhs.
shape())
87 const auto function = [](std::complex<dtype>& val1, dtype val2) -> std::complex<dtype>
93 rhs.
cbegin(), lhs.begin(),
function);
107 template<
typename dtype>
112 const auto function = [rhs](dtype& value) -> dtype
131 template<
typename dtype>
136 const auto function = [rhs](std::complex<dtype>& value) -> std::complex<dtype>
154 template<
typename dtype>
167 rhs.
cbegin(), returnArray.
begin(), std::plus<dtype>());
180 template<
typename dtype>
185 if (lhs.
shape() != rhs.shape())
190 const auto function = [](dtype val1,
const std::complex<dtype>& val2) -> std::complex<dtype>
198 rhs.cbegin(), returnArray.
begin(),
function);
211 template<
typename dtype>
225 template<
typename dtype>
230 const auto function = [rhs](dtype value) -> dtype
250 template<
typename dtype>
264 template<
typename dtype>
269 const auto function = [rhs](dtype value) -> std::complex<dtype>
289 template<
typename dtype>
303 template<
typename dtype>
308 const auto function = [rhs](std::complex<dtype> value) -> std::complex<dtype>
328 template<
typename dtype>
342 template<
typename dtype>
366 template<
typename dtype>
371 if (lhs.shape() != rhs.
shape())
376 const auto function = [](std::complex<dtype>& val1, dtype val2) -> std::complex<dtype>
382 rhs.
cbegin(), lhs.begin(),
function);
396 template<
typename dtype>
401 const auto function = [rhs](dtype& value) -> dtype
420 template<
typename dtype>
425 const auto function = [rhs](std::complex<dtype>& value) -> std::complex<dtype>
443 template<
typename dtype>
456 rhs.
cbegin(), returnArray.
begin(), std::minus<dtype>());
469 template<
typename dtype>
474 if (lhs.
shape() != rhs.shape())
479 const auto function = [](dtype val1,
const std::complex<dtype>& val2) -> std::complex<dtype>
487 rhs.cbegin(), returnArray.
begin(),
function);
500 template<
typename dtype>
505 if (lhs.shape() != rhs.
shape())
510 const auto function = [](
const std::complex<dtype>&val1, dtype val2) -> std::complex<dtype>
531 template<
typename dtype>
536 const auto function = [rhs](dtype value) -> dtype
556 template<
typename dtype>
561 const auto function = [lhs](dtype value) -> dtype
581 template<
typename dtype>
586 const auto function = [rhs](dtype value) -> std::complex<dtype>
606 template<
typename dtype>
611 const auto function = [lhs](dtype value) -> std::complex<dtype>
631 template<
typename dtype>
636 const auto function = [rhs](std::complex<dtype> value) -> std::complex<dtype>
656 template<
typename dtype>
661 const auto function = [lhs](std::complex<dtype> value) -> std::complex<dtype>
679 template<
typename dtype>
682 const auto function = [](dtype value) -> dtype
700 template<
typename dtype>
711 rhs.
cbegin(), lhs.
begin(), std::multiplies<dtype>());
724 template<
typename dtype>
729 if (lhs.shape() != rhs.
shape())
734 const auto function = [](std::complex<dtype>& val1, dtype val2) -> std::complex<dtype>
740 rhs.
cbegin(), lhs.begin(),
function);
754 template<
typename dtype>
759 const auto function = [rhs](dtype& value) -> dtype
778 template<
typename dtype>
783 const auto function = [rhs](std::complex<dtype>& value) -> std::complex<dtype>
801 template<
typename dtype>
814 rhs.
cbegin(), returnArray.
begin(), std::multiplies<dtype>());
827 template<
typename dtype>
832 if (lhs.
shape() != rhs.shape())
837 const auto function = [](dtype val1,
const std::complex<dtype>& val2) -> std::complex<dtype>
845 rhs.cbegin(), returnArray.
begin(),
function);
858 template<
typename dtype>
872 template<
typename dtype>
877 const auto function = [rhs](dtype value) -> dtype
897 template<
typename dtype>
911 template<
typename dtype>
916 const auto function = [rhs](dtype value) -> std::complex<dtype>
936 template<
typename dtype>
950 template<
typename dtype>
955 const auto function = [rhs](std::complex<dtype> value) -> std::complex<dtype>
975 template<
typename dtype>
989 template<
typename dtype>
1000 rhs.
cbegin(), lhs.
begin(), std::divides<dtype>());
1013 template<
typename dtype>
1018 if (lhs.shape() != rhs.
shape())
1023 const auto function = [](std::complex<dtype>& val1, dtype val2) -> std::complex<dtype>
1029 rhs.
cbegin(), lhs.begin(),
function);
1043 template<
typename dtype>
1048 const auto function = [rhs](dtype& value) -> dtype
1050 return value /= rhs;
1067 template<
typename dtype>
1072 const auto function = [rhs](std::complex<dtype>& value) -> std::complex<dtype>
1074 return value /= rhs;
1090 template<
typename dtype>
1103 rhs.
cbegin(), returnArray.
begin(), std::divides<dtype>());
1116 template<
typename dtype>
1121 if (lhs.
shape() != rhs.shape())
1128 const auto function = [](dtype val1,
const std::complex<dtype>& val2) -> std::complex<dtype>
1134 rhs.cbegin(), returnArray.
begin(),
function);
1147 template<
typename dtype>
1152 if (lhs.shape() != rhs.
shape())
1157 const auto function = [](
const std::complex<dtype>&val1, dtype val2) -> std::complex<dtype>
1178 template<
typename dtype>
1183 const auto function = [rhs](dtype value) -> dtype
1203 template<
typename dtype>
1208 const auto function = [lhs](dtype value) -> dtype
1228 template<
typename dtype>
1233 const auto function = [rhs](dtype value) -> std::complex<dtype>
1253 template<
typename dtype>
1258 const auto function = [lhs](dtype value) -> std::complex<dtype>
1278 template<
typename dtype>
1283 const auto function = [rhs](std::complex<dtype> value) -> std::complex<dtype>
1303 template<
typename dtype>
1308 const auto function = [lhs](std::complex<dtype> value) -> std::complex<dtype>
1328 template<
typename dtype>
1339 rhs.
cbegin(), lhs.
begin(), std::modulus<dtype>());
1353 template<
typename dtype>
1358 const auto function = [rhs](dtype& value) -> dtype
1360 return value %= rhs;
1376 template<
typename dtype>
1392 template<
typename dtype>
1408 template<
typename dtype>
1413 [lhs](dtype value) -> dtype
1429 template<
typename dtype>
1454 template<
typename dtype>
1459 const auto function = [rhs](dtype& value) -> dtype
1461 return value |= rhs;
1477 template<
typename dtype>
1493 template<
typename dtype>
1509 template<
typename dtype>
1523 template<
typename dtype>
1534 rhs.
cbegin(), lhs.
begin(), std::bit_and<dtype>());
1548 template<
typename dtype>
1553 const auto function = [rhs](dtype& value) -> dtype
1555 return value &= rhs;
1571 template<
typename dtype>
1587 template<
typename dtype>
1603 template<
typename dtype>
1617 template<
typename dtype>
1628 rhs.
cbegin(), lhs.
begin(), std::bit_xor<dtype>());
1642 template<
typename dtype>
1647 const auto function = [rhs](dtype& value) -> dtype
1649 return value ^= rhs;
1665 template<
typename dtype>
1681 template<
typename dtype>
1697 template<
typename dtype>
1710 template<
typename dtype>
1715 const auto function = [](dtype value) -> dtype
1723 returnArray.
begin(),
function);
1736 template<
typename dtype>
1746 const auto function = [](dtype value1, dtype value2) ->
bool
1748 return value1 && value2;
1766 template<
typename dtype>
1773 const auto function = [rhs](dtype value) ->
bool
1775 return value && rhs;
1779 returnArray.
begin(),
function);
1792 template<
typename dtype>
1806 template<
typename dtype>
1816 const auto function = [](dtype value1, dtype value2) ->
bool
1818 return value1 || value2;
1836 template<
typename dtype>
1843 const auto function = [rhs](dtype value) ->
bool
1845 return value || rhs;
1849 returnArray.
begin(),
function);
1862 template<
typename dtype>
1875 template<
typename dtype>
1882 const auto function = [](dtype value) -> dtype
1888 returnArray.
begin(),
function);
1902 template<
typename dtype>
1910 const auto equalTo = [](dtype lhs, dtype rhs) noexcept ->
bool
1932 template<
typename dtype>
1937 const auto equalTo = [inValue](dtype value) noexcept ->
bool
1943 returnArray.
begin(), equalTo);
1957 template<
typename dtype>
1960 return inArray == inValue;
1972 template<
typename dtype>
1980 const auto notEqualTo = [](dtype lhs, dtype rhs) noexcept ->
bool
2002 template<
typename dtype>
2007 const auto notEqualTo = [inValue](dtype value) noexcept ->
bool
2013 returnArray.
begin(), notEqualTo);
2027 template<
typename dtype>
2030 return inArray != inValue;
2042 template<
typename dtype>
2054 const auto function = [](dtype lhs, dtype rhs) noexcept ->
bool
2074 template<
typename dtype>
2081 const auto function = [inValue](dtype value) noexcept ->
bool
2083 return value < inValue;
2087 returnArray.
begin(),
function);
2101 template<
typename dtype>
2108 const auto function = [inValue](dtype value) noexcept ->
bool
2110 return inValue < value;
2114 returnArray.
begin(),
function);
2128 template<
typename dtype>
2140 const auto function = [](dtype lhs, dtype rhs) noexcept ->
bool
2163 template<
typename dtype>
2170 const auto function = [inValue](dtype value) noexcept ->
bool
2172 return value > inValue;
2176 returnArray.
begin(),
function);
2190 template<
typename dtype>
2197 const auto function = [inValue](dtype value) noexcept ->
bool
2199 return inValue > value;
2203 returnArray.
begin(),
function);
2217 template<
typename dtype>
2229 const auto function = [](dtype lhs, dtype rhs) noexcept ->
bool
2249 template<
typename dtype>
2256 const auto function = [inValue](dtype value) noexcept ->
bool
2258 return value <= inValue;
2262 returnArray.
begin(),
function);
2276 template<
typename dtype>
2283 const auto function = [inValue](dtype value) noexcept ->
bool
2285 return inValue <= value;
2289 returnArray.
begin(),
function);
2303 template<
typename dtype>
2315 const auto function = [](dtype lhs, dtype rhs) noexcept ->
bool
2335 template<
typename dtype>
2342 const auto function = [inValue](dtype value) noexcept ->
bool
2344 return value >= inValue;
2348 returnArray.
begin(),
function);
2362 template<
typename dtype>
2369 const auto function = [inValue](dtype value) noexcept ->
bool
2371 return inValue >= value;
2375 returnArray.
begin(),
function);
2389 template<
typename dtype>
2394 const auto function = [inNumBits](dtype& value) ->
void
2396 value <<= inNumBits;
2413 template<
typename dtype>
2419 returnArray <<= inNumBits;
2432 template<
typename dtype>
2437 const auto function = [inNumBits](dtype& value) ->
void
2439 value >>= inNumBits;
2456 template<
typename dtype>
2462 returnArray >>= inNumBits;
2473 template<
typename dtype>
2478 const auto function = [](dtype& value) ->
void
2496 template<
typename dtype>
2511 template<
typename dtype>
2516 const auto function = [](dtype& value) ->
void
2534 template<
typename dtype>
2551 template<
typename dtype>
2556 inOStream << inArray.
str();