5#include <metal_integer> 
   27  metal::enable_if_t<metal::is_integral_v<T> & !metal::is_signed_v<T>, T>
 
   32  metal::enable_if_t<metal::is_integral_v<T> & metal::is_signed_v<T>, T>
 
   35    if (r != 0 && (r < 0 != y < 0)) {
 
 
   41  metal::enable_if_t<!metal::is_integral_v<T>, T> 
operator()(T x, T y) {
 
   43    if (r != 0 && (r < 0 != y < 0)) {
 
 
 
  105  template <
typename T>
 
  108      return metal::numeric_limits<T>::quiet_NaN();
 
  110    constexpr T inf = metal::numeric_limits<T>::infinity();
 
  113    return (minval == -inf || maxval == inf)
 
 
 
  120  template <
typename T>
 
  121  metal::enable_if_t<metal::is_integral_v<T>, T> 
operator()(T x, T y) {
 
 
  125  template <
typename T>
 
  126  metal::enable_if_t<!metal::is_integral_v<T>, T> 
operator()(T x, T y) {
 
  130    return x > y ? x : y;
 
 
  138    return x > y ? x : y;
 
 
 
  143  template <
typename T>
 
  144  metal::enable_if_t<metal::is_integral_v<T>, T> 
operator()(T x, T y) {
 
 
  148  template <
typename T>
 
  149  metal::enable_if_t<!metal::is_integral_v<T>, T> 
operator()(T x, T y) {
 
  153    return x < y ? x : y;
 
 
  161    return x < y ? x : y;
 
 
 
  166  template <
typename T>
 
 
  173  template <
typename T>
 
 
  184  template <
typename T>
 
  189  template <
typename T>
 
  207    auto phase = y.
imag * x_ln_r + y.
real * x_theta;
 
 
 
  213  template <
typename T>
 
 
  220  template <
typename T>
 
 
  227  template <
typename T>
 
 
  234  template <
typename T>
 
 
  241  template <
typename T>
 
 
  248  template <
typename T>
 
 
  255  template <
typename T>
 
 
  262  template <
typename T>
 
 
  269  template <
typename T>
 
 
T operator()(T x, T y)
Definition binary.h:13
 
T operator()(T y, T x)
Definition binary.h:270
 
T operator()(T x, T y)
Definition binary.h:235
 
T operator()(T x, T y)
Definition binary.h:242
 
T operator()(T x, T y)
Definition binary.h:249
 
T operator()(T x, T y)
Definition binary.h:20
 
bool operator()(T x, T y)
Definition binary.h:56
 
bool operator()(T x, T y)
Definition binary.h:85
 
bool operator()(T x, T y)
Definition binary.h:78
 
T operator()(T x, T y)
Definition binary.h:256
 
bool operator()(T x, T y)
Definition binary.h:99
 
bool operator()(T x, T y)
Definition binary.h:92
 
T operator()(T x, T y)
Definition binary.h:106
 
T operator()(T x, T y)
Definition binary.h:221
 
T operator()(T x, T y)
Definition binary.h:228
 
metal::enable_if_t<!metal::is_integral_v< T >, T > operator()(T x, T y)
Definition binary.h:126
 
metal::enable_if_t< metal::is_integral_v< T >, T > operator()(T x, T y)
Definition binary.h:121
 
complex64_t operator()(complex64_t x, complex64_t y)
Definition binary.h:134
 
metal::enable_if_t<!metal::is_integral_v< T >, T > operator()(T x, T y)
Definition binary.h:149
 
complex64_t operator()(complex64_t x, complex64_t y)
Definition binary.h:157
 
metal::enable_if_t< metal::is_integral_v< T >, T > operator()(T x, T y)
Definition binary.h:144
 
T operator()(T x, T y)
Definition binary.h:167
 
bool operator()(T x, T y)
Definition binary.h:63
 
bool operator()(complex64_t x, complex64_t y)
Definition binary.h:67
 
bool operator()(complex64_t x, complex64_t y)
Definition binary.h:178
 
bool operator()(T x, T y)
Definition binary.h:174
 
complex64_t operator()(complex64_t x, complex64_t y)
Definition binary.h:203
 
metal::enable_if_t<!metal::is_integral_v< T >, T > operator()(T base, T exp)
Definition binary.h:185
 
metal::enable_if_t< metal::is_integral_v< T >, T > operator()(T base, T exp)
Definition binary.h:190
 
metal::enable_if_t< metal::is_integral_v< T > &metal::is_signed_v< T >, T > operator()(T x, T y)
Definition binary.h:33
 
metal::enable_if_t<!metal::is_integral_v< T >, T > operator()(T x, T y)
Definition binary.h:41
 
metal::enable_if_t< metal::is_integral_v< T > &!metal::is_signed_v< T >, T > operator()(T x, T y)
Definition binary.h:28
 
complex64_t operator()(complex64_t x, complex64_t y)
Definition binary.h:49
 
T operator()(T x, T y)
Definition binary.h:263
 
T operator()(T x, T y)
Definition binary.h:214
 
float imag
Definition complex.h:22
 
float real
Definition complex.h:21