nmatrix 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/ext/nmatrix/data/complex.h +20 -55
  3. data/ext/nmatrix/data/data.cpp +11 -44
  4. data/ext/nmatrix/data/data.h +174 -311
  5. data/ext/nmatrix/data/meta.h +1 -7
  6. data/ext/nmatrix/data/ruby_object.h +3 -85
  7. data/ext/nmatrix/extconf.rb +2 -73
  8. data/ext/nmatrix/math.cpp +170 -813
  9. data/ext/nmatrix/math/asum.h +2 -25
  10. data/ext/nmatrix/math/{inc.h → cblas_enums.h} +11 -22
  11. data/ext/nmatrix/math/cblas_templates_core.h +507 -0
  12. data/ext/nmatrix/math/gemm.h +2 -32
  13. data/ext/nmatrix/math/gemv.h +1 -35
  14. data/ext/nmatrix/math/getrf.h +21 -6
  15. data/ext/nmatrix/math/getrs.h +0 -8
  16. data/ext/nmatrix/math/imax.h +0 -22
  17. data/ext/nmatrix/math/long_dtype.h +0 -3
  18. data/ext/nmatrix/math/math.h +11 -337
  19. data/ext/nmatrix/math/nrm2.h +2 -23
  20. data/ext/nmatrix/math/rot.h +1 -25
  21. data/ext/nmatrix/math/rotg.h +4 -13
  22. data/ext/nmatrix/math/scal.h +0 -22
  23. data/ext/nmatrix/math/trsm.h +0 -55
  24. data/ext/nmatrix/math/util.h +148 -0
  25. data/ext/nmatrix/nmatrix.cpp +0 -14
  26. data/ext/nmatrix/nmatrix.h +92 -84
  27. data/ext/nmatrix/ruby_constants.cpp +0 -2
  28. data/ext/nmatrix/ruby_constants.h +0 -2
  29. data/ext/nmatrix/ruby_nmatrix.c +86 -45
  30. data/ext/nmatrix/storage/dense/dense.cpp +1 -7
  31. data/ext/nmatrix/storage/storage.h +0 -1
  32. data/ext/nmatrix/ttable_helper.rb +0 -6
  33. data/ext/nmatrix/util/io.cpp +1 -1
  34. data/lib/nmatrix.rb +1 -19
  35. data/lib/nmatrix/blas.rb +33 -11
  36. data/lib/nmatrix/io/market.rb +3 -3
  37. data/lib/nmatrix/lapack_core.rb +181 -0
  38. data/lib/nmatrix/lapack_plugin.rb +44 -0
  39. data/lib/nmatrix/math.rb +382 -131
  40. data/lib/nmatrix/monkeys.rb +2 -3
  41. data/lib/nmatrix/nmatrix.rb +166 -13
  42. data/lib/nmatrix/shortcuts.rb +72 -7
  43. data/lib/nmatrix/version.rb +2 -2
  44. data/spec/00_nmatrix_spec.rb +154 -5
  45. data/spec/02_slice_spec.rb +2 -6
  46. data/spec/03_nmatrix_monkeys_spec.rb +7 -1
  47. data/spec/blas_spec.rb +60 -33
  48. data/spec/homogeneous_spec.rb +10 -10
  49. data/spec/lapack_core_spec.rb +482 -0
  50. data/spec/math_spec.rb +436 -52
  51. data/spec/shortcuts_spec.rb +28 -4
  52. data/spec/spec_helper.rb +14 -2
  53. data/spec/utm5940.mtx +83844 -0
  54. metadata +49 -76
  55. data/.gitignore +0 -27
  56. data/.rspec +0 -2
  57. data/.travis.yml +0 -15
  58. data/CONTRIBUTING.md +0 -82
  59. data/Gemfile +0 -2
  60. data/History.txt +0 -677
  61. data/LICENSE.txt +0 -23
  62. data/Manifest.txt +0 -92
  63. data/README.rdoc +0 -150
  64. data/Rakefile +0 -216
  65. data/ext/nmatrix/data/rational.h +0 -440
  66. data/ext/nmatrix/math/geev.h +0 -82
  67. data/ext/nmatrix/math/ger.h +0 -96
  68. data/ext/nmatrix/math/gesdd.h +0 -80
  69. data/ext/nmatrix/math/gesvd.h +0 -78
  70. data/ext/nmatrix/math/getf2.h +0 -86
  71. data/ext/nmatrix/math/getri.h +0 -108
  72. data/ext/nmatrix/math/potrs.h +0 -129
  73. data/ext/nmatrix/math/swap.h +0 -52
  74. data/lib/nmatrix/lapack.rb +0 -240
  75. data/nmatrix.gemspec +0 -55
  76. data/scripts/mac-brew-gcc.sh +0 -50
  77. data/scripts/mac-mavericks-brew-gcc.sh +0 -22
  78. data/spec/lapack_spec.rb +0 -459
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 707562a21915c1dd82f64baaf3102ff11c83c1fb
4
- data.tar.gz: 695cf665b38511084ff5d9d282583a31566dbaed
3
+ metadata.gz: e74b234f446ff409c7d37952bed15df165907f4d
4
+ data.tar.gz: 5f7f575774e923ac5ec7bd7c86147dbd12130d08
5
5
  SHA512:
6
- metadata.gz: afd36e03a78d177fab72efcf967f3cf942408f22de02ca3cf85dd23e527e02fc73c7b9946b782bee13ae2312d07f17cc8b3288d342c435f59093ad03a0dc6f27
7
- data.tar.gz: f247048abadfa6877951bad30f92534d1172b67b5967b58b325a113fbd77fbcf245db06181723ebeb75e0312b6f8d50d9418c0e0b6f47875d13333ffaae21811
6
+ metadata.gz: 81f4bbbc2365d9bf2df8ce924f525599292b2d9177dc5300193c2628c308d8ae9451f7c29a105e0abf4dca7c6b77473e36947132ea4fa39e1eda968fe06fda40
7
+ data.tar.gz: e8f9fe883b3c04cd329a081eb2af9d6d9643729be4bc1ee398ec1c5e53dd7b5e77cd7e6acdfd42b93148a4a1353931e2eda880fe81a7656457e0fe7cf7da6f15
@@ -52,7 +52,6 @@
52
52
  namespace nm {
53
53
 
54
54
  class RubyObject;
55
- template <typename IntType> class Rational;
56
55
  template <typename Type> class Complex;
57
56
 
58
57
  typedef Complex<float32_t> Complex64;
@@ -84,9 +83,6 @@ class Complex {
84
83
  template <typename ComplexType>
85
84
  inline Complex(const Complex<ComplexType>& other) : r(other.r), i(other.i) {}
86
85
 
87
- template <typename IntType, typename = typename std::enable_if<std::is_integral<IntType>::value>::type>
88
- inline Complex(const Rational<IntType>& other) : r(Type(other.n) / Type(other.d)), i(0) {}
89
-
90
86
  Complex(const RubyObject& other);
91
87
 
92
88
  /*
@@ -129,6 +125,13 @@ class Complex {
129
125
  return *this;
130
126
  }
131
127
 
128
+ template <typename OtherType>
129
+ inline Complex<Type>& operator-=(const Complex<OtherType>& other) {
130
+ this->r -= other.r;
131
+ this->i -= other.i;
132
+ return *this;
133
+ }
134
+
132
135
  template <typename OtherType>
133
136
  inline Complex<Type> operator-(const Complex<OtherType>& other) const {
134
137
  return Complex<Type>(this->r - other.r, this->i - other.i);
@@ -157,6 +160,19 @@ class Complex {
157
160
  return Complex<Type>(new_r, new_i);
158
161
  }
159
162
 
163
+ template <typename OtherType>
164
+ inline Complex<Type> operator/=(const Complex<OtherType>& other) {
165
+ Type new_r, new_i;
166
+ Type denom = other.i * other.i + other.r * other.r;
167
+
168
+ new_r = (this->r * other.r + this->i * other.i) / denom;
169
+ new_i = (this->i * other.r - this->r * other.i) / denom;
170
+
171
+ this->r = new_r;
172
+ this->i = new_i;
173
+ return *this;
174
+ }
175
+
160
176
  template <typename OtherType>
161
177
  inline bool operator<(const Complex<OtherType>& other) const {
162
178
  return (this->r < other.r) || ((this->r <= other.r) && (this->i < other.i));
@@ -192,40 +208,6 @@ class Complex {
192
208
  return Complex<OtherType>((OtherType)this->r, (OtherType)this->i);
193
209
  }
194
210
 
195
- /////////////////////////////////
196
- // Complex-Rational Operations //
197
- /////////////////////////////////
198
-
199
- template <typename RationalType>
200
- inline Complex<Type> operator+(const Rational<RationalType>& other) const {
201
- return *this + Complex<Type>(other);
202
- }
203
-
204
- template <typename RationalType>
205
- inline Complex<Type> operator-(const Rational<RationalType>& other) const {
206
- return *this - Complex<Type>(other);
207
- }
208
-
209
- template <typename RationalType>
210
- inline Complex<Type> operator*(const Rational<RationalType>& other) const {
211
- return *this * Complex<Type>(other);
212
- }
213
-
214
- template <typename RationalType>
215
- inline Complex<Type> operator/(const Rational<RationalType>& other) const {
216
- return *this / Complex<Type>(other);
217
- }
218
-
219
- template <typename RationalType, typename = typename std::enable_if<std::is_integral<RationalType>::value>::type>
220
- inline bool operator!=(const Rational<RationalType>& other) const {
221
- return *this != Complex<Type>(other);
222
- }
223
-
224
- template <typename RationalType, typename = typename std::enable_if<std::is_integral<RationalType>::value>::type>
225
- inline bool operator==(const Rational<RationalType>& other) const {
226
- return *this == Complex<Type>(other);
227
- }
228
-
229
211
  ///////////////////////////////
230
212
  // Complex-Native Operations //
231
213
  ///////////////////////////////
@@ -286,23 +268,6 @@ class Complex {
286
268
  }
287
269
  };
288
270
 
289
-
290
- /////////////////////////////////
291
- // Rational-Complex Operations //
292
- /////////////////////////////////
293
-
294
-
295
- template <typename IntType, typename ComplexType, typename = typename std::enable_if<std::is_integral<IntType>::value>::type>
296
- inline bool operator==(const Rational<IntType>& left, const Complex<ComplexType>& right) {
297
- return Complex<ComplexType>(left) == right;
298
- }
299
-
300
- template <typename IntType, typename ComplexType, typename = typename std::enable_if<std::is_integral<IntType>::value>::type>
301
- inline bool operator!=(const Rational<IntType>& left, const Complex<ComplexType>& right) {
302
- return Complex<ComplexType>(left) != right;
303
- }
304
-
305
-
306
271
  ///////////////////////////////
307
272
  // Native-Complex Operations //
308
273
  ///////////////////////////////
@@ -105,9 +105,6 @@ const char* const DTYPE_NAMES[nm::NUM_DTYPES] = {
105
105
  "float64",
106
106
  "complex64",
107
107
  "complex128",
108
- "rational32",
109
- "rational64",
110
- "rational128",
111
108
  "object"
112
109
  };
113
110
 
@@ -122,27 +119,21 @@ const size_t DTYPE_SIZES[nm::NUM_DTYPES] = {
122
119
  sizeof(float64_t),
123
120
  sizeof(nm::Complex64),
124
121
  sizeof(nm::Complex128),
125
- sizeof(nm::Rational32),
126
- sizeof(nm::Rational64),
127
- sizeof(nm::Rational128),
128
122
  sizeof(nm::RubyObject)
129
123
  };
130
124
 
131
125
 
132
126
  const nm::dtype_t Upcast[nm::NUM_DTYPES][nm::NUM_DTYPES] = {
133
- { nm::BYTE, nm::INT16, nm::INT16, nm::INT32, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RATIONAL32, nm::RATIONAL64, nm::RATIONAL128, nm::RUBYOBJ},
134
- { nm::INT16, nm::INT8, nm::INT16, nm::INT32, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RATIONAL32, nm::RATIONAL64, nm::RATIONAL128, nm::RUBYOBJ},
135
- { nm::INT16, nm::INT16, nm::INT16, nm::INT32, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RATIONAL32, nm::RATIONAL64, nm::RATIONAL128, nm::RUBYOBJ},
136
- { nm::INT32, nm::INT32, nm::INT32, nm::INT32, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RATIONAL32, nm::RATIONAL64, nm::RATIONAL128, nm::RUBYOBJ},
137
- { nm::INT64, nm::INT64, nm::INT64, nm::INT64, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RATIONAL32, nm::RATIONAL64, nm::RATIONAL128, nm::RUBYOBJ},
138
- { nm::FLOAT32, nm::FLOAT32, nm::FLOAT32, nm::FLOAT32, nm::FLOAT32, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::RUBYOBJ},
139
- { nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::COMPLEX128, nm::COMPLEX128, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::RUBYOBJ},
140
- { nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX128, nm::COMPLEX64, nm::COMPLEX128, nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX64, nm::RUBYOBJ},
141
- { nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::RUBYOBJ},
142
- { nm::RATIONAL32, nm::RATIONAL32, nm::RATIONAL32, nm::RATIONAL32, nm::RATIONAL32, nm::FLOAT64, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RATIONAL32, nm::RATIONAL64, nm::RATIONAL128, nm::RUBYOBJ},
143
- { nm::RATIONAL64, nm::RATIONAL64, nm::RATIONAL64, nm::RATIONAL64, nm::RATIONAL64, nm::FLOAT64, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RATIONAL64, nm::RATIONAL64, nm::RATIONAL128, nm::RUBYOBJ},
144
- { nm::RATIONAL128, nm::RATIONAL128, nm::RATIONAL128, nm::RATIONAL128, nm::RATIONAL128, nm::FLOAT64, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RATIONAL128, nm::RATIONAL128, nm::RATIONAL128, nm::RUBYOBJ},
145
- { nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ}
127
+ { nm::BYTE, nm::INT16, nm::INT16, nm::INT32, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RUBYOBJ},
128
+ { nm::INT16, nm::INT8, nm::INT16, nm::INT32, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RUBYOBJ},
129
+ { nm::INT16, nm::INT16, nm::INT16, nm::INT32, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RUBYOBJ},
130
+ { nm::INT32, nm::INT32, nm::INT32, nm::INT32, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RUBYOBJ},
131
+ { nm::INT64, nm::INT64, nm::INT64, nm::INT64, nm::INT64, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RUBYOBJ},
132
+ { nm::FLOAT32, nm::FLOAT32, nm::FLOAT32, nm::FLOAT32, nm::FLOAT32, nm::FLOAT32, nm::FLOAT64, nm::COMPLEX64, nm::COMPLEX128, nm::RUBYOBJ},
133
+ { nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::FLOAT64, nm::COMPLEX128, nm::COMPLEX128, nm::RUBYOBJ},
134
+ { nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX64, nm::COMPLEX128, nm::COMPLEX64, nm::COMPLEX128, nm::RUBYOBJ},
135
+ { nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::COMPLEX128, nm::RUBYOBJ},
136
+ { nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ, nm::RUBYOBJ}
146
137
  };
147
138
 
148
139
 
@@ -193,19 +184,7 @@ void rubyval_to_cval(VALUE val, nm::dtype_t dtype, void* loc) {
193
184
  break;
194
185
 
195
186
  case COMPLEX128:
196
- *reinterpret_cast<Complex128*>(loc) = RubyObject(val).to<Complex64>();
197
- break;
198
-
199
- case RATIONAL32:
200
- *reinterpret_cast<Rational32*>(loc) = RubyObject(val).to<Rational32>();
201
- break;
202
-
203
- case RATIONAL64:
204
- *reinterpret_cast<Rational64*>(loc) = RubyObject(val).to<Rational64>();
205
- break;
206
-
207
- case RATIONAL128:
208
- *reinterpret_cast<Rational128*>(loc) = RubyObject(val).to<Rational128>();
187
+ *reinterpret_cast<Complex128*>(loc) = RubyObject(val).to<Complex128>();
209
188
  break;
210
189
 
211
190
  case RUBYOBJ:
@@ -253,15 +232,6 @@ nm::RubyObject rubyobj_from_cval(void* val, nm::dtype_t dtype) {
253
232
  case COMPLEX128:
254
233
  return RubyObject(*reinterpret_cast<Complex128*>(val));
255
234
 
256
- case RATIONAL32:
257
- return RubyObject(*reinterpret_cast<Rational32*>(val));
258
-
259
- case RATIONAL64:
260
- return RubyObject(*reinterpret_cast<Rational64*>(val));
261
-
262
- case RATIONAL128:
263
- return RubyObject(*reinterpret_cast<Rational128*>(val));
264
-
265
235
  default:
266
236
  try {
267
237
  throw std::logic_error("Cannot create ruby object");
@@ -295,9 +265,6 @@ void* rubyobj_to_cval(VALUE val, nm::dtype_t dtype) {
295
265
  void nm_init_data() {
296
266
  volatile VALUE t = INT2FIX(1);
297
267
  volatile nm::RubyObject obj(t);
298
- volatile nm::Rational32 x(const_cast<nm::RubyObject&>(obj));
299
- volatile nm::Rational64 y(const_cast<nm::RubyObject&>(obj));
300
- volatile nm::Rational128 z(const_cast<nm::RubyObject&>(obj));
301
268
  volatile nm::Complex64 a(const_cast<nm::RubyObject&>(obj));
302
269
  volatile nm::Complex128 b(const_cast<nm::RubyObject&>(obj));
303
270
  }
@@ -42,7 +42,6 @@
42
42
  #include "types.h"
43
43
 
44
44
  #include "complex.h"
45
- #include "rational.h"
46
45
  #include "ruby_object.h"
47
46
 
48
47
  namespace nm {
@@ -52,7 +51,7 @@ namespace nm {
52
51
  * Constants
53
52
  */
54
53
 
55
- const int NUM_DTYPES = 13;
54
+ const int NUM_DTYPES = 10;
56
55
  const int NUM_ITYPES = 4;
57
56
  const int NUM_EWOPS = 12;
58
57
  const int NUM_UNARYOPS = 24;
@@ -121,7 +120,6 @@ namespace nm {
121
120
  i = NUM2DBL(rb_funcall(other.rval, rb_intern("imag"), 0));
122
121
  break;
123
122
  case T_FLOAT:
124
- case T_RATIONAL:
125
123
  case T_FIXNUM:
126
124
  case T_BIGNUM:
127
125
  r = NUM2DBL(other.rval);
@@ -131,30 +129,6 @@ namespace nm {
131
129
  rb_raise(rb_eTypeError, "not sure how to convert this type of VALUE to a complex");
132
130
  }
133
131
  }
134
-
135
-
136
- template <typename Type>
137
- Rational<Type>::Rational(const RubyObject& other) {
138
- switch (TYPE(other.rval)) {
139
- case T_RATIONAL:
140
- n = NUM2LONG(rb_funcall(other.rval, rb_intern("numerator"), 0));
141
- d = NUM2LONG(rb_funcall(other.rval, rb_intern("denominator"), 0));
142
- break;
143
- case T_FIXNUM:
144
- case T_BIGNUM:
145
- n = NUM2LONG(other.rval);
146
- d = 1;
147
- break;
148
- case T_COMPLEX:
149
- case T_FLOAT:
150
- rb_raise(rb_eTypeError, "cannot convert float to a rational");
151
- break;
152
- default:
153
- rb_raise(rb_eTypeError, "not sure how to convert this type of VALUE to a rational");
154
- }
155
- }
156
-
157
-
158
132
  } // end of namespace nm
159
133
 
160
134
  /*
@@ -206,9 +180,6 @@ namespace nm {
206
180
  fun<float64_t>, \
207
181
  fun<nm::Complex64>, \
208
182
  fun<nm::Complex128>, \
209
- fun<nm::Rational32>, \
210
- fun<nm::Rational64>, \
211
- fun<nm::Rational128>, \
212
183
  fun<nm::RubyObject> \
213
184
  };
214
185
 
@@ -223,9 +194,6 @@ namespace nm {
223
194
  obj<float64_t>::fun, \
224
195
  obj<nm::Complex64>::fun, \
225
196
  obj<nm::Complex128>::fun, \
226
- obj<nm::Rational32>::fun, \
227
- obj<nm::Rational64>::fun, \
228
- obj<nm::Rational128>::fun, \
229
197
  obj<nm::RubyObject>::fun \
230
198
  };
231
199
 
@@ -239,10 +207,7 @@ namespace nm {
239
207
  fun<float32_t>, \
240
208
  fun<float64_t>, \
241
209
  fun<nm::Complex64>, \
242
- fun<nm::Complex128>, \
243
- fun<nm::Rational32>, \
244
- fun<nm::Rational64>, \
245
- fun<nm::Rational128> \
210
+ fun<nm::Complex128> \
246
211
  };
247
212
 
248
213
 
@@ -258,19 +223,16 @@ namespace nm {
258
223
 
259
224
  #define NAMED_LR_DTYPE_TEMPLATE_TABLE(name, fun, ret, ...) \
260
225
  static ret (*(name)[nm::NUM_DTYPES][nm::NUM_DTYPES])(__VA_ARGS__) = { \
261
- {fun<uint8_t, uint8_t>, fun<uint8_t, int8_t>, fun<uint8_t, int16_t>, fun<uint8_t, int32_t>, fun<uint8_t, int64_t>, fun<uint8_t, float32_t>, fun<uint8_t, float64_t>, fun<uint8_t, nm::Complex64>, fun<uint8_t, nm::Complex128>, fun<uint8_t, nm::Rational32>, fun<uint8_t, nm::Rational64>, fun<uint8_t, nm::Rational128>, fun<uint8_t, nm::RubyObject>}, \
262
- {fun<int8_t, uint8_t>, fun<int8_t, int8_t>, fun<int8_t, int16_t>, fun<int8_t, int32_t>, fun<int8_t, int64_t>, fun<int8_t, float32_t>, fun<int8_t, float64_t>, fun<int8_t, nm::Complex64>, fun<int8_t, nm::Complex128>, fun<int8_t, nm::Rational32>, fun<int8_t, nm::Rational64>, fun<int8_t, nm::Rational128>, fun<int8_t, nm::RubyObject>}, \
263
- {fun<int16_t, uint8_t>, fun<int16_t, int8_t>, fun<int16_t, int16_t>, fun<int16_t, int32_t>, fun<int16_t, int64_t>, fun<int16_t, float32_t>, fun<int16_t, float64_t>, fun<int16_t, nm::Complex64>, fun<int16_t, nm::Complex128>, fun<int16_t, nm::Rational32>, fun<int16_t, nm::Rational64>, fun<int16_t, nm::Rational128>, fun<int16_t, nm::RubyObject>}, \
264
- {fun<int32_t, uint8_t>, fun<int32_t, int8_t>, fun<int32_t, int16_t>, fun<int32_t, int32_t>, fun<int32_t, int64_t>, fun<int32_t, float32_t>, fun<int32_t, float64_t>, fun<int32_t, nm::Complex64>, fun<int32_t, nm::Complex128>, fun<int32_t, nm::Rational32>, fun<int32_t, nm::Rational64>, fun<int32_t, nm::Rational128>, fun<int32_t, nm::RubyObject>}, \
265
- {fun<int64_t, uint8_t>, fun<int64_t, int8_t>, fun<int64_t, int16_t>, fun<int64_t, int32_t>, fun<int64_t, int64_t>, fun<int64_t, float32_t>, fun<int64_t, float64_t>, fun<int64_t, nm::Complex64>, fun<int64_t, nm::Complex128>, fun<int64_t, nm::Rational32>, fun<int64_t, nm::Rational64>, fun<int64_t, nm::Rational128>, fun<int64_t, nm::RubyObject>}, \
266
- {fun<float32_t, uint8_t>, fun<float32_t, int8_t>, fun<float32_t, int16_t>, fun<float32_t, int32_t>, fun<float32_t, int64_t>, fun<float32_t, float32_t>, fun<float32_t, float64_t>, fun<float32_t, nm::Complex64>, fun<float32_t, nm::Complex128>, fun<float32_t, nm::Rational32>, fun<float32_t, nm::Rational64>, fun<float32_t, nm::Rational128>, fun<float32_t, nm::RubyObject>}, \
267
- {fun<float64_t, uint8_t>, fun<float64_t, int8_t>, fun<float64_t, int16_t>, fun<float64_t, int32_t>, fun<float64_t, int64_t>, fun<float64_t, float32_t>, fun<float64_t, float64_t>, fun<float64_t, nm::Complex64>, fun<float64_t, nm::Complex128>, fun<float64_t, nm::Rational32>, fun<float64_t, nm::Rational64>, fun<float64_t, nm::Rational128>, fun<float64_t, nm::RubyObject>}, \
268
- {fun<nm::Complex64, uint8_t>, fun<nm::Complex64, int8_t>, fun<nm::Complex64, int16_t>, fun<nm::Complex64, int32_t>, fun<nm::Complex64, int64_t>, fun<nm::Complex64, float32_t>, fun<nm::Complex64, float64_t>, fun<nm::Complex64, nm::Complex64>, fun<nm::Complex64, nm::Complex128>, fun<nm::Complex64, nm::Rational32>, fun<nm::Complex64, nm::Rational64>, fun<nm::Complex64, nm::Rational128>, fun<nm::Complex64, nm::RubyObject>}, \
269
- {fun<nm::Complex128, uint8_t>, fun<nm::Complex128, int8_t>, fun<nm::Complex128, int16_t>, fun<nm::Complex128, int32_t>, fun<nm::Complex128, int64_t>, fun<nm::Complex128, float32_t>, fun<nm::Complex128, float64_t>, fun<nm::Complex128, nm::Complex64>, fun<nm::Complex128, nm::Complex128>, fun<nm::Complex128, nm::Rational32>, fun<nm::Complex128, nm::Rational64>, fun<nm::Complex128, nm::Rational128>, fun<nm::Complex128, nm::RubyObject>}, \
270
- {fun<nm::Rational32, uint8_t>, fun<nm::Rational32, int8_t>, fun<nm::Rational32, int16_t>, fun<nm::Rational32, int32_t>, fun<nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::Rational32, nm::Rational32>, fun<nm::Rational32, nm::Rational64>, fun<nm::Rational32, nm::Rational128>, fun<nm::Rational32, nm::RubyObject>}, \
271
- {fun<nm::Rational64, uint8_t>, fun<nm::Rational64, int8_t>, fun<nm::Rational64, int16_t>, fun<nm::Rational64, int32_t>, fun<nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::Rational64, nm::Rational32>, fun<nm::Rational64, nm::Rational64>, fun<nm::Rational64, nm::Rational128>, fun<nm::Rational64, nm::RubyObject>}, \
272
- {fun<nm::Rational128, uint8_t>, fun<nm::Rational128, int8_t>, fun<nm::Rational128, int16_t>, fun<nm::Rational128, int32_t>, fun<nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::Rational128, nm::Rational32>, fun<nm::Rational128, nm::Rational64>, fun<nm::Rational128, nm::Rational128>, fun<nm::Rational128, nm::RubyObject>}, \
273
- {fun<nm::RubyObject, uint8_t>, fun<nm::RubyObject, int8_t>, fun<nm::RubyObject, int16_t>, fun<nm::RubyObject, int32_t>, fun<nm::RubyObject, int64_t>, fun<nm::RubyObject, float32_t>, fun<nm::RubyObject, float64_t>, fun<nm::RubyObject, nm::Complex64>, fun<nm::RubyObject, nm::Complex128>, fun<nm::RubyObject, nm::Rational32>, fun<nm::RubyObject, nm::Rational64>, fun<nm::RubyObject, nm::Rational128>, fun<nm::RubyObject, nm::RubyObject>} \
226
+ {fun<uint8_t, uint8_t>, fun<uint8_t, int8_t>, fun<uint8_t, int16_t>, fun<uint8_t, int32_t>, fun<uint8_t, int64_t>, fun<uint8_t, float32_t>, fun<uint8_t, float64_t>, fun<uint8_t, nm::Complex64>, fun<uint8_t, nm::Complex128>, fun<uint8_t, nm::RubyObject>}, \
227
+ {fun<int8_t, uint8_t>, fun<int8_t, int8_t>, fun<int8_t, int16_t>, fun<int8_t, int32_t>, fun<int8_t, int64_t>, fun<int8_t, float32_t>, fun<int8_t, float64_t>, fun<int8_t, nm::Complex64>, fun<int8_t, nm::Complex128>, fun<int8_t, nm::RubyObject>}, \
228
+ {fun<int16_t, uint8_t>, fun<int16_t, int8_t>, fun<int16_t, int16_t>, fun<int16_t, int32_t>, fun<int16_t, int64_t>, fun<int16_t, float32_t>, fun<int16_t, float64_t>, fun<int16_t, nm::Complex64>, fun<int16_t, nm::Complex128>, fun<int16_t, nm::RubyObject>}, \
229
+ {fun<int32_t, uint8_t>, fun<int32_t, int8_t>, fun<int32_t, int16_t>, fun<int32_t, int32_t>, fun<int32_t, int64_t>, fun<int32_t, float32_t>, fun<int32_t, float64_t>, fun<int32_t, nm::Complex64>, fun<int32_t, nm::Complex128>, fun<int32_t, nm::RubyObject>}, \
230
+ {fun<int64_t, uint8_t>, fun<int64_t, int8_t>, fun<int64_t, int16_t>, fun<int64_t, int32_t>, fun<int64_t, int64_t>, fun<int64_t, float32_t>, fun<int64_t, float64_t>, fun<int64_t, nm::Complex64>, fun<int64_t, nm::Complex128>, fun<int64_t, nm::RubyObject>}, \
231
+ {fun<float32_t, uint8_t>, fun<float32_t, int8_t>, fun<float32_t, int16_t>, fun<float32_t, int32_t>, fun<float32_t, int64_t>, fun<float32_t, float32_t>, fun<float32_t, float64_t>, fun<float32_t, nm::Complex64>, fun<float32_t, nm::Complex128>, fun<float32_t, nm::RubyObject>}, \
232
+ {fun<float64_t, uint8_t>, fun<float64_t, int8_t>, fun<float64_t, int16_t>, fun<float64_t, int32_t>, fun<float64_t, int64_t>, fun<float64_t, float32_t>, fun<float64_t, float64_t>, fun<float64_t, nm::Complex64>, fun<float64_t, nm::Complex128>, fun<float64_t, nm::RubyObject>}, \
233
+ {fun<nm::Complex64, uint8_t>, fun<nm::Complex64, int8_t>, fun<nm::Complex64, int16_t>, fun<nm::Complex64, int32_t>, fun<nm::Complex64, int64_t>, fun<nm::Complex64, float32_t>, fun<nm::Complex64, float64_t>, fun<nm::Complex64, nm::Complex64>, fun<nm::Complex64, nm::Complex128>, fun<nm::Complex64, nm::RubyObject>}, \
234
+ {fun<nm::Complex128, uint8_t>, fun<nm::Complex128, int8_t>, fun<nm::Complex128, int16_t>, fun<nm::Complex128, int32_t>, fun<nm::Complex128, int64_t>, fun<nm::Complex128, float32_t>, fun<nm::Complex128, float64_t>, fun<nm::Complex128, nm::Complex64>, fun<nm::Complex128, nm::Complex128>, fun<nm::Complex128, nm::RubyObject>}, \
235
+ {fun<nm::RubyObject, uint8_t>, fun<nm::RubyObject, int8_t>, fun<nm::RubyObject, int16_t>, fun<nm::RubyObject, int32_t>, fun<nm::RubyObject, int64_t>, fun<nm::RubyObject, float32_t>, fun<nm::RubyObject, float64_t>, fun<nm::RubyObject, nm::Complex64>, fun<nm::RubyObject, nm::Complex128>, fun<nm::RubyObject, nm::RubyObject>} \
274
236
  };
275
237
 
276
238
  /*
@@ -284,107 +246,78 @@ namespace nm {
284
246
  { \
285
247
  {fun<nm::EW_ADD, uint8_t, uint8_t>, fun<nm::EW_ADD, uint8_t, int8_t>, fun<nm::EW_ADD, uint8_t, int16_t>, fun<nm::EW_ADD, uint8_t, int32_t>, fun<nm::EW_ADD, uint8_t, int64_t>, \
286
248
  fun<nm::EW_ADD, uint8_t, float32_t>, fun<nm::EW_ADD, uint8_t, float64_t>, fun<nm::EW_ADD, uint8_t, nm::Complex64>, fun<nm::EW_ADD, uint8_t, nm::Complex128>, \
287
- fun<nm::EW_ADD, uint8_t, nm::Rational32>, fun<nm::EW_ADD, uint8_t, nm::Rational64>, fun<nm::EW_ADD, uint8_t, nm::Rational128>, NULL}, \
288
- \
289
- {fun<nm::EW_ADD, int8_t, uint8_t>, fun<nm::EW_ADD, int8_t, int8_t>, fun<nm::EW_ADD, int8_t, int16_t>, fun<nm::EW_ADD, int8_t, int32_t>, fun<nm::EW_ADD, int8_t, int64_t>, \
290
249
  fun<nm::EW_ADD, int8_t, float32_t>, fun<nm::EW_ADD, int8_t, float64_t>, fun<nm::EW_ADD, int8_t, nm::Complex64>, fun<nm::EW_ADD, int8_t, nm::Complex128>, \
291
- fun<nm::EW_ADD, int8_t, nm::Rational32>, fun<nm::EW_ADD, int8_t, nm::Rational64>, fun<nm::EW_ADD, int8_t, nm::Rational128>, NULL}, \
250
+ NULL}, \
292
251
  \
293
252
  {fun<nm::EW_ADD, int16_t, uint8_t>, fun<nm::EW_ADD, int16_t, int8_t>, fun<nm::EW_ADD, int16_t, int16_t>, fun<nm::EW_ADD, int16_t, int32_t>, fun<nm::EW_ADD, int16_t, int64_t>, \
294
253
  fun<nm::EW_ADD, int16_t, float32_t>, fun<nm::EW_ADD, int16_t, float64_t>, fun<nm::EW_ADD, int16_t, nm::Complex64>, fun<nm::EW_ADD, int16_t, nm::Complex128>, \
295
- fun<nm::EW_ADD, int16_t, nm::Rational32>, fun<nm::EW_ADD, int16_t, nm::Rational64>, fun<nm::EW_ADD, int16_t, nm::Rational128>, NULL}, \
254
+ NULL}, \
296
255
  \
297
256
  {fun<nm::EW_ADD, int32_t, uint8_t>, fun<nm::EW_ADD, int32_t, int8_t>, fun<nm::EW_ADD, int32_t, int16_t>, fun<nm::EW_ADD, int32_t, int32_t>, fun<nm::EW_ADD, int32_t, int64_t>, \
298
257
  fun<nm::EW_ADD, int32_t, float32_t>, fun<nm::EW_ADD, int32_t, float64_t>, fun<nm::EW_ADD, int32_t, nm::Complex64>, fun<nm::EW_ADD, int32_t, nm::Complex128>, \
299
- fun<nm::EW_ADD, int32_t, nm::Rational32>, fun<nm::EW_ADD, int32_t, nm::Rational64>, fun<nm::EW_ADD, int32_t, nm::Rational128>, NULL}, \
258
+ NULL}, \
300
259
  \
301
260
  {fun<nm::EW_ADD, int64_t, uint8_t>, fun<nm::EW_ADD, int64_t, int8_t>, fun<nm::EW_ADD, int64_t, int16_t>, fun<nm::EW_ADD, int64_t, int32_t>, fun<nm::EW_ADD, int64_t, int64_t>, \
302
261
  fun<nm::EW_ADD, int64_t, float32_t>, fun<nm::EW_ADD, int64_t, float64_t>, fun<nm::EW_ADD, int64_t, nm::Complex64>, fun<nm::EW_ADD, int64_t, nm::Complex128>, \
303
- fun<nm::EW_ADD, int64_t, nm::Rational32>, fun<nm::EW_ADD, int64_t, nm::Rational64>, fun<nm::EW_ADD, int64_t, nm::Rational128>, NULL}, \
262
+ NULL}, \
304
263
  \
305
264
  {fun<nm::EW_ADD, float32_t, uint8_t>, fun<nm::EW_ADD, float32_t, int8_t>, fun<nm::EW_ADD, float32_t, int16_t>, fun<nm::EW_ADD, float32_t, int32_t>, fun<nm::EW_ADD, float32_t, int64_t>, \
306
265
  fun<nm::EW_ADD, float32_t, float32_t>, fun<nm::EW_ADD, float32_t, float64_t>, fun<nm::EW_ADD, float32_t, nm::Complex64>, fun<nm::EW_ADD, float32_t, nm::Complex128>, \
307
- fun<nm::EW_ADD, float32_t, nm::Rational32>, fun<nm::EW_ADD, float32_t, nm::Rational64>, fun<nm::EW_ADD, float32_t, nm::Rational128>, NULL}, \
266
+ NULL}, \
308
267
  \
309
268
  {fun<nm::EW_ADD, float64_t, uint8_t>, fun<nm::EW_ADD, float64_t, int8_t>, fun<nm::EW_ADD, float64_t, int16_t>, fun<nm::EW_ADD, float64_t, int32_t>, fun<nm::EW_ADD, float64_t, int64_t>, \
310
269
  fun<nm::EW_ADD, float64_t, float32_t>, fun<nm::EW_ADD, float64_t, float64_t>, fun<nm::EW_ADD, float64_t, nm::Complex64>, fun<nm::EW_ADD, float64_t, nm::Complex128>, \
311
- fun<nm::EW_ADD, float64_t, nm::Rational32>, fun<nm::EW_ADD, float64_t, nm::Rational64>, fun<nm::EW_ADD, float64_t, nm::Rational128>, NULL}, \
270
+ NULL}, \
312
271
  \
313
272
  {fun<nm::EW_ADD, nm::Complex64, uint8_t>, fun<nm::EW_ADD, nm::Complex64, int8_t>, fun<nm::EW_ADD, nm::Complex64, int16_t>, fun<nm::EW_ADD, nm::Complex64, int32_t>, \
314
273
  fun<nm::EW_ADD, nm::Complex64, int64_t>, fun<nm::EW_ADD, nm::Complex64, float32_t>, fun<nm::EW_ADD, nm::Complex64, float64_t>, fun<nm::EW_ADD, nm::Complex64, nm::Complex64>, \
315
- fun<nm::EW_ADD, nm::Complex64, nm::Complex128>, fun<nm::EW_ADD, nm::Complex64, nm::Rational32>, fun<nm::EW_ADD, nm::Complex64, nm::Rational64>, \
316
- fun<nm::EW_ADD, nm::Complex64, nm::Rational128>, NULL}, \
274
+ fun<nm::EW_ADD, nm::Complex64, nm::Complex128>, \
275
+ NULL}, \
317
276
  \
318
277
  {fun<nm::EW_ADD, nm::Complex128, uint8_t>, fun<nm::EW_ADD, nm::Complex128, int8_t>, fun<nm::EW_ADD, nm::Complex128, int16_t>, fun<nm::EW_ADD, nm::Complex128, int32_t>, \
319
278
  fun<nm::EW_ADD, nm::Complex128, int64_t>, fun<nm::EW_ADD, nm::Complex128, float32_t>, fun<nm::EW_ADD, nm::Complex128, float64_t>, fun<nm::EW_ADD, nm::Complex128, nm::Complex64>, \
320
- fun<nm::EW_ADD, nm::Complex128, nm::Complex128>, fun<nm::EW_ADD, nm::Complex128, nm::Rational32>, fun<nm::EW_ADD, nm::Complex128, nm::Rational64>, \
321
- fun<nm::EW_ADD, nm::Complex128, nm::Rational128>, NULL}, \
322
- \
323
- {fun<nm::EW_ADD, nm::Rational32, uint8_t>, fun<nm::EW_ADD, nm::Rational32, int8_t>, fun<nm::EW_ADD, nm::Rational32, int16_t>, fun<nm::EW_ADD, nm::Rational32, int32_t>, \
324
- fun<nm::EW_ADD, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_ADD, nm::Rational32, nm::Rational32>, fun<nm::EW_ADD, nm::Rational32, nm::Rational64>, \
325
- fun<nm::EW_ADD, nm::Rational32, nm::Rational128>, NULL}, \
326
- \
327
- {fun<nm::EW_ADD, nm::Rational64, uint8_t>, fun<nm::EW_ADD, nm::Rational64, int8_t>, fun<nm::EW_ADD, nm::Rational64, int16_t>, fun<nm::EW_ADD, nm::Rational64, int32_t>, \
328
- fun<nm::EW_ADD, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_ADD, nm::Rational64, nm::Rational32>, fun<nm::EW_ADD, nm::Rational64, nm::Rational64>, \
329
- fun<nm::EW_ADD, nm::Rational64, nm::Rational128>, NULL}, \
330
- \
331
- {fun<nm::EW_ADD, nm::Rational128, uint8_t>, fun<nm::EW_ADD, nm::Rational128, int8_t>, fun<nm::EW_ADD, nm::Rational128, int16_t>, fun<nm::EW_ADD, nm::Rational128, int32_t>, \
332
- fun<nm::EW_ADD, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_ADD, nm::Rational128, nm::Rational32>, fun<nm::EW_ADD, nm::Rational128, nm::Rational64>, \
333
- fun<nm::EW_ADD, nm::Rational128, nm::Rational128>, NULL}, \
334
- \
279
+ fun<nm::EW_ADD, nm::Complex128, nm::Complex128>, \
280
+ NULL}, \
335
281
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_ADD, nm::RubyObject, nm::RubyObject>} \
336
282
  }, \
337
283
  \
338
284
  { \
339
285
  {fun<nm::EW_SUB, uint8_t, uint8_t>, fun<nm::EW_SUB, uint8_t, int8_t>, fun<nm::EW_SUB, uint8_t, int16_t>, fun<nm::EW_SUB, uint8_t, int32_t>, fun<nm::EW_SUB, uint8_t, int64_t>, \
340
286
  fun<nm::EW_SUB, uint8_t, float32_t>, fun<nm::EW_SUB, uint8_t, float64_t>, fun<nm::EW_SUB, uint8_t, nm::Complex64>, fun<nm::EW_SUB, uint8_t, nm::Complex128>, \
341
- fun<nm::EW_SUB, uint8_t, nm::Rational32>, fun<nm::EW_SUB, uint8_t, nm::Rational64>, fun<nm::EW_SUB, uint8_t, nm::Rational128>, NULL}, \
287
+ NULL}, \
342
288
  \
343
289
  {fun<nm::EW_SUB, int8_t, uint8_t>, fun<nm::EW_SUB, int8_t, int8_t>, fun<nm::EW_SUB, int8_t, int16_t>, fun<nm::EW_SUB, int8_t, int32_t>, fun<nm::EW_SUB, int8_t, int64_t>, \
344
290
  fun<nm::EW_SUB, int8_t, float32_t>, fun<nm::EW_SUB, int8_t, float64_t>, fun<nm::EW_SUB, int8_t, nm::Complex64>, fun<nm::EW_SUB, int8_t, nm::Complex128>, \
345
- fun<nm::EW_SUB, int8_t, nm::Rational32>, fun<nm::EW_SUB, int8_t, nm::Rational64>, fun<nm::EW_SUB, int8_t, nm::Rational128>, NULL}, \
291
+ NULL}, \
346
292
  \
347
293
  {fun<nm::EW_SUB, int16_t, uint8_t>, fun<nm::EW_SUB, int16_t, int8_t>, fun<nm::EW_SUB, int16_t, int16_t>, fun<nm::EW_SUB, int16_t, int32_t>, fun<nm::EW_SUB, int16_t, int64_t>, \
348
294
  fun<nm::EW_SUB, int16_t, float32_t>, fun<nm::EW_SUB, int16_t, float64_t>, fun<nm::EW_SUB, int16_t, nm::Complex64>, fun<nm::EW_SUB, int16_t, nm::Complex128>, \
349
- fun<nm::EW_SUB, int16_t, nm::Rational32>, fun<nm::EW_SUB, int16_t, nm::Rational64>, fun<nm::EW_SUB, int16_t, nm::Rational128>, NULL}, \
295
+ NULL}, \
350
296
  \
351
297
  {fun<nm::EW_SUB, int32_t, uint8_t>, fun<nm::EW_SUB, int32_t, int8_t>, fun<nm::EW_SUB, int32_t, int16_t>, fun<nm::EW_SUB, int32_t, int32_t>, fun<nm::EW_SUB, int32_t, int64_t>, \
352
298
  fun<nm::EW_SUB, int32_t, float32_t>, fun<nm::EW_SUB, int32_t, float64_t>, fun<nm::EW_SUB, int32_t, nm::Complex64>, fun<nm::EW_SUB, int32_t, nm::Complex128>, \
353
- fun<nm::EW_SUB, int32_t, nm::Rational32>, fun<nm::EW_SUB, int32_t, nm::Rational64>, fun<nm::EW_SUB, int32_t, nm::Rational128>, NULL}, \
299
+ NULL}, \
354
300
  \
355
301
  {fun<nm::EW_SUB, int64_t, uint8_t>, fun<nm::EW_SUB, int64_t, int8_t>, fun<nm::EW_SUB, int64_t, int16_t>, fun<nm::EW_SUB, int64_t, int32_t>, fun<nm::EW_SUB, int64_t, int64_t>, \
356
302
  fun<nm::EW_SUB, int64_t, float32_t>, fun<nm::EW_SUB, int64_t, float64_t>, fun<nm::EW_SUB, int64_t, nm::Complex64>, fun<nm::EW_SUB, int64_t, nm::Complex128>, \
357
- fun<nm::EW_SUB, int64_t, nm::Rational32>, fun<nm::EW_SUB, int64_t, nm::Rational64>, fun<nm::EW_SUB, int64_t, nm::Rational128>, NULL}, \
303
+ NULL}, \
358
304
  \
359
305
  {fun<nm::EW_SUB, float32_t, uint8_t>, fun<nm::EW_SUB, float32_t, int8_t>, fun<nm::EW_SUB, float32_t, int16_t>, fun<nm::EW_SUB, float32_t, int32_t>, fun<nm::EW_SUB, float32_t, int64_t>, \
360
306
  fun<nm::EW_SUB, float32_t, float32_t>, fun<nm::EW_SUB, float32_t, float64_t>, fun<nm::EW_SUB, float32_t, nm::Complex64>, fun<nm::EW_SUB, float32_t, nm::Complex128>, \
361
- fun<nm::EW_SUB, float32_t, nm::Rational32>, fun<nm::EW_SUB, float32_t, nm::Rational64>, fun<nm::EW_SUB, float32_t, nm::Rational128>, NULL}, \
307
+ NULL}, \
362
308
  \
363
309
  {fun<nm::EW_SUB, float64_t, uint8_t>, fun<nm::EW_SUB, float64_t, int8_t>, fun<nm::EW_SUB, float64_t, int16_t>, fun<nm::EW_SUB, float64_t, int32_t>, fun<nm::EW_SUB, float64_t, int64_t>, \
364
310
  fun<nm::EW_SUB, float64_t, float32_t>, fun<nm::EW_SUB, float64_t, float64_t>, fun<nm::EW_SUB, float64_t, nm::Complex64>, fun<nm::EW_SUB, float64_t, nm::Complex128>, \
365
- fun<nm::EW_SUB, float64_t, nm::Rational32>, fun<nm::EW_SUB, float64_t, nm::Rational64>, fun<nm::EW_SUB, float64_t, nm::Rational128>, NULL}, \
311
+ NULL}, \
366
312
  \
367
313
  {fun<nm::EW_SUB, nm::Complex64, uint8_t>, fun<nm::EW_SUB, nm::Complex64, int8_t>, fun<nm::EW_SUB, nm::Complex64, int16_t>, fun<nm::EW_SUB, nm::Complex64, int32_t>, \
368
314
  fun<nm::EW_SUB, nm::Complex64, int64_t>, fun<nm::EW_SUB, nm::Complex64, float32_t>, fun<nm::EW_SUB, nm::Complex64, float64_t>, fun<nm::EW_SUB, nm::Complex64, nm::Complex64>, \
369
- fun<nm::EW_SUB, nm::Complex64, nm::Complex128>, fun<nm::EW_SUB, nm::Complex64, nm::Rational32>, fun<nm::EW_SUB, nm::Complex64, nm::Rational64>, \
370
- fun<nm::EW_SUB, nm::Complex64, nm::Rational128>, NULL}, \
315
+ fun<nm::EW_SUB, nm::Complex64, nm::Complex128>, \
316
+ NULL}, \
371
317
  \
372
318
  {fun<nm::EW_SUB, nm::Complex128, uint8_t>, fun<nm::EW_SUB, nm::Complex128, int8_t>, fun<nm::EW_SUB, nm::Complex128, int16_t>, fun<nm::EW_SUB, nm::Complex128, int32_t>, \
373
319
  fun<nm::EW_SUB, nm::Complex128, int64_t>, fun<nm::EW_SUB, nm::Complex128, float32_t>, fun<nm::EW_SUB, nm::Complex128, float64_t>, fun<nm::EW_SUB, nm::Complex128, nm::Complex64>, \
374
- fun<nm::EW_SUB, nm::Complex128, nm::Complex128>, fun<nm::EW_SUB, nm::Complex128, nm::Rational32>, fun<nm::EW_SUB, nm::Complex128, nm::Rational64>, \
375
- fun<nm::EW_SUB, nm::Complex128, nm::Rational128>, NULL}, \
376
- \
377
- {fun<nm::EW_SUB, nm::Rational32, uint8_t>, fun<nm::EW_SUB, nm::Rational32, int8_t>, fun<nm::EW_SUB, nm::Rational32, int16_t>, fun<nm::EW_SUB, nm::Rational32, int32_t>, \
378
- fun<nm::EW_SUB, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_SUB, nm::Rational32, nm::Rational32>, fun<nm::EW_SUB, nm::Rational32, nm::Rational64>, \
379
- fun<nm::EW_SUB, nm::Rational32, nm::Rational128>, NULL}, \
380
- \
381
- {fun<nm::EW_SUB, nm::Rational64, uint8_t>, fun<nm::EW_SUB, nm::Rational64, int8_t>, fun<nm::EW_SUB, nm::Rational64, int16_t>, fun<nm::EW_SUB, nm::Rational64, int32_t>, \
382
- fun<nm::EW_SUB, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_SUB, nm::Rational64, nm::Rational32>, fun<nm::EW_SUB, nm::Rational64, nm::Rational64>, \
383
- fun<nm::EW_SUB, nm::Rational64, nm::Rational128>, NULL}, \
384
- \
385
- {fun<nm::EW_SUB, nm::Rational128, uint8_t>, fun<nm::EW_SUB, nm::Rational128, int8_t>, fun<nm::EW_SUB, nm::Rational128, int16_t>, fun<nm::EW_SUB, nm::Rational128, int32_t>, \
386
- fun<nm::EW_SUB, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_SUB, nm::Rational128, nm::Rational32>, fun<nm::EW_SUB, nm::Rational128, nm::Rational64>, \
387
- fun<nm::EW_SUB, nm::Rational128, nm::Rational128>, NULL}, \
320
+ fun<nm::EW_SUB, nm::Complex128, nm::Complex128>, \
388
321
  \
389
322
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_SUB, nm::RubyObject, nm::RubyObject>} \
390
323
  }, \
@@ -392,107 +325,79 @@ namespace nm {
392
325
  { \
393
326
  {fun<nm::EW_MUL, uint8_t, uint8_t>, fun<nm::EW_MUL, uint8_t, int8_t>, fun<nm::EW_MUL, uint8_t, int16_t>, fun<nm::EW_MUL, uint8_t, int32_t>, fun<nm::EW_MUL, uint8_t, int64_t>, \
394
327
  fun<nm::EW_MUL, uint8_t, float32_t>, fun<nm::EW_MUL, uint8_t, float64_t>, fun<nm::EW_MUL, uint8_t, nm::Complex64>, fun<nm::EW_MUL, uint8_t, nm::Complex128>, \
395
- fun<nm::EW_MUL, uint8_t, nm::Rational32>, fun<nm::EW_MUL, uint8_t, nm::Rational64>, fun<nm::EW_MUL, uint8_t, nm::Rational128>, NULL}, \
328
+ NULL}, \
396
329
  \
397
330
  {fun<nm::EW_MUL, int8_t, uint8_t>, fun<nm::EW_MUL, int8_t, int8_t>, fun<nm::EW_MUL, int8_t, int16_t>, fun<nm::EW_MUL, int8_t, int32_t>, fun<nm::EW_MUL, int8_t, int64_t>, \
398
331
  fun<nm::EW_MUL, int8_t, float32_t>, fun<nm::EW_MUL, int8_t, float64_t>, fun<nm::EW_MUL, int8_t, nm::Complex64>, fun<nm::EW_MUL, int8_t, nm::Complex128>, \
399
- fun<nm::EW_MUL, int8_t, nm::Rational32>, fun<nm::EW_MUL, int8_t, nm::Rational64>, fun<nm::EW_MUL, int8_t, nm::Rational128>, NULL}, \
332
+ NULL}, \
400
333
  \
401
334
  {fun<nm::EW_MUL, int16_t, uint8_t>, fun<nm::EW_MUL, int16_t, int8_t>, fun<nm::EW_MUL, int16_t, int16_t>, fun<nm::EW_MUL, int16_t, int32_t>, fun<nm::EW_MUL, int16_t, int64_t>, \
402
335
  fun<nm::EW_MUL, int16_t, float32_t>, fun<nm::EW_MUL, int16_t, float64_t>, fun<nm::EW_MUL, int16_t, nm::Complex64>, fun<nm::EW_MUL, int16_t, nm::Complex128>, \
403
- fun<nm::EW_MUL, int16_t, nm::Rational32>, fun<nm::EW_MUL, int16_t, nm::Rational64>, fun<nm::EW_MUL, int16_t, nm::Rational128>, NULL}, \
336
+ NULL}, \
404
337
  \
405
338
  {fun<nm::EW_MUL, int32_t, uint8_t>, fun<nm::EW_MUL, int32_t, int8_t>, fun<nm::EW_MUL, int32_t, int16_t>, fun<nm::EW_MUL, int32_t, int32_t>, fun<nm::EW_MUL, int32_t, int64_t>, \
406
339
  fun<nm::EW_MUL, int32_t, float32_t>, fun<nm::EW_MUL, int32_t, float64_t>, fun<nm::EW_MUL, int32_t, nm::Complex64>, fun<nm::EW_MUL, int32_t, nm::Complex128>, \
407
- fun<nm::EW_MUL, int32_t, nm::Rational32>, fun<nm::EW_MUL, int32_t, nm::Rational64>, fun<nm::EW_MUL, int32_t, nm::Rational128>, NULL}, \
340
+ NULL}, \
408
341
  \
409
342
  {fun<nm::EW_MUL, int64_t, uint8_t>, fun<nm::EW_MUL, int64_t, int8_t>, fun<nm::EW_MUL, int64_t, int16_t>, fun<nm::EW_MUL, int64_t, int32_t>, fun<nm::EW_MUL, int64_t, int64_t>, \
410
343
  fun<nm::EW_MUL, int64_t, float32_t>, fun<nm::EW_MUL, int64_t, float64_t>, fun<nm::EW_MUL, int64_t, nm::Complex64>, fun<nm::EW_MUL, int64_t, nm::Complex128>, \
411
- fun<nm::EW_MUL, int64_t, nm::Rational32>, fun<nm::EW_MUL, int64_t, nm::Rational64>, fun<nm::EW_MUL, int64_t, nm::Rational128>, NULL}, \
344
+ NULL}, \
412
345
  \
413
346
  {fun<nm::EW_MUL, float32_t, uint8_t>, fun<nm::EW_MUL, float32_t, int8_t>, fun<nm::EW_MUL, float32_t, int16_t>, fun<nm::EW_MUL, float32_t, int32_t>, fun<nm::EW_MUL, float32_t, int64_t>, \
414
347
  fun<nm::EW_MUL, float32_t, float32_t>, fun<nm::EW_MUL, float32_t, float64_t>, fun<nm::EW_MUL, float32_t, nm::Complex64>, fun<nm::EW_MUL, float32_t, nm::Complex128>, \
415
- fun<nm::EW_MUL, float32_t, nm::Rational32>, fun<nm::EW_MUL, float32_t, nm::Rational64>, fun<nm::EW_MUL, float32_t, nm::Rational128>, NULL}, \
348
+ NULL}, \
416
349
  \
417
350
  {fun<nm::EW_MUL, float64_t, uint8_t>, fun<nm::EW_MUL, float64_t, int8_t>, fun<nm::EW_MUL, float64_t, int16_t>, fun<nm::EW_MUL, float64_t, int32_t>, fun<nm::EW_MUL, float64_t, int64_t>, \
418
351
  fun<nm::EW_MUL, float64_t, float32_t>, fun<nm::EW_MUL, float64_t, float64_t>, fun<nm::EW_MUL, float64_t, nm::Complex64>, fun<nm::EW_MUL, float64_t, nm::Complex128>, \
419
- fun<nm::EW_MUL, float64_t, nm::Rational32>, fun<nm::EW_MUL, float64_t, nm::Rational64>, fun<nm::EW_MUL, float64_t, nm::Rational128>, NULL}, \
352
+ NULL}, \
420
353
  \
421
354
  {fun<nm::EW_MUL, nm::Complex64, uint8_t>, fun<nm::EW_MUL, nm::Complex64, int8_t>, fun<nm::EW_MUL, nm::Complex64, int16_t>, fun<nm::EW_MUL, nm::Complex64, int32_t>, \
422
355
  fun<nm::EW_MUL, nm::Complex64, int64_t>, fun<nm::EW_MUL, nm::Complex64, float32_t>, fun<nm::EW_MUL, nm::Complex64, float64_t>, fun<nm::EW_MUL, nm::Complex64, nm::Complex64>, \
423
- fun<nm::EW_MUL, nm::Complex64, nm::Complex128>, fun<nm::EW_MUL, nm::Complex64, nm::Rational32>, fun<nm::EW_MUL, nm::Complex64, nm::Rational64>, \
424
- fun<nm::EW_MUL, nm::Complex64, nm::Rational128>, NULL}, \
356
+ fun<nm::EW_MUL, nm::Complex64, nm::Complex128>, \
357
+ NULL}, \
425
358
  \
426
359
  {fun<nm::EW_MUL, nm::Complex128, uint8_t>, fun<nm::EW_MUL, nm::Complex128, int8_t>, fun<nm::EW_MUL, nm::Complex128, int16_t>, fun<nm::EW_MUL, nm::Complex128, int32_t>, \
427
360
  fun<nm::EW_MUL, nm::Complex128, int64_t>, fun<nm::EW_MUL, nm::Complex128, float32_t>, fun<nm::EW_MUL, nm::Complex128, float64_t>, fun<nm::EW_MUL, nm::Complex128, nm::Complex64>, \
428
- fun<nm::EW_MUL, nm::Complex128, nm::Complex128>, fun<nm::EW_MUL, nm::Complex128, nm::Rational32>, fun<nm::EW_MUL, nm::Complex128, nm::Rational64>, \
429
- fun<nm::EW_MUL, nm::Complex128, nm::Rational128>, NULL}, \
430
- \
431
- {fun<nm::EW_MUL, nm::Rational32, uint8_t>, fun<nm::EW_MUL, nm::Rational32, int8_t>, fun<nm::EW_MUL, nm::Rational32, int16_t>, fun<nm::EW_MUL, nm::Rational32, int32_t>, \
432
- fun<nm::EW_MUL, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_MUL, nm::Rational32, nm::Rational32>, fun<nm::EW_MUL, nm::Rational32, nm::Rational64>, \
433
- fun<nm::EW_MUL, nm::Rational32, nm::Rational128>, NULL}, \
434
- \
435
- {fun<nm::EW_MUL, nm::Rational64, uint8_t>, fun<nm::EW_MUL, nm::Rational64, int8_t>, fun<nm::EW_MUL, nm::Rational64, int16_t>, fun<nm::EW_MUL, nm::Rational64, int32_t>, \
436
- fun<nm::EW_MUL, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_MUL, nm::Rational64, nm::Rational32>, fun<nm::EW_MUL, nm::Rational64, nm::Rational64>, \
437
- fun<nm::EW_MUL, nm::Rational64, nm::Rational128>, NULL}, \
438
- \
439
- {fun<nm::EW_MUL, nm::Rational128, uint8_t>, fun<nm::EW_MUL, nm::Rational128, int8_t>, fun<nm::EW_MUL, nm::Rational128, int16_t>, fun<nm::EW_MUL, nm::Rational128, int32_t>, \
440
- fun<nm::EW_MUL, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_MUL, nm::Rational128, nm::Rational32>, fun<nm::EW_MUL, nm::Rational128, nm::Rational64>, \
441
- fun<nm::EW_MUL, nm::Rational128, nm::Rational128>, NULL}, \
442
- \
443
- {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_MUL, nm::RubyObject, nm::RubyObject>} \
444
- }, \
361
+ fun<nm::EW_MUL, nm::Complex128, nm::Complex128>, \
445
362
  \
446
363
  { \
447
364
  {fun<nm::EW_DIV, uint8_t, uint8_t>, fun<nm::EW_DIV, uint8_t, int8_t>, fun<nm::EW_DIV, uint8_t, int16_t>, fun<nm::EW_DIV, uint8_t, int32_t>, fun<nm::EW_DIV, uint8_t, int64_t>, \
448
365
  fun<nm::EW_DIV, uint8_t, float32_t>, fun<nm::EW_DIV, uint8_t, float64_t>, fun<nm::EW_DIV, uint8_t, nm::Complex64>, fun<nm::EW_DIV, uint8_t, nm::Complex128>, \
449
- fun<nm::EW_DIV, uint8_t, nm::Rational32>, fun<nm::EW_DIV, uint8_t, nm::Rational64>, fun<nm::EW_DIV, uint8_t, nm::Rational128>, NULL}, \
366
+ NULL}, \
450
367
  \
451
368
  {fun<nm::EW_DIV, int8_t, uint8_t>, fun<nm::EW_DIV, int8_t, int8_t>, fun<nm::EW_DIV, int8_t, int16_t>, fun<nm::EW_DIV, int8_t, int32_t>, fun<nm::EW_DIV, int8_t, int64_t>, \
452
369
  fun<nm::EW_DIV, int8_t, float32_t>, fun<nm::EW_DIV, int8_t, float64_t>, fun<nm::EW_DIV, int8_t, nm::Complex64>, fun<nm::EW_DIV, int8_t, nm::Complex128>, \
453
- fun<nm::EW_DIV, int8_t, nm::Rational32>, fun<nm::EW_DIV, int8_t, nm::Rational64>, fun<nm::EW_DIV, int8_t, nm::Rational128>, NULL}, \
370
+ NULL}, \
454
371
  \
455
372
  {fun<nm::EW_DIV, int16_t, uint8_t>, fun<nm::EW_DIV, int16_t, int8_t>, fun<nm::EW_DIV, int16_t, int16_t>, fun<nm::EW_DIV, int16_t, int32_t>, fun<nm::EW_DIV, int16_t, int64_t>, \
456
373
  fun<nm::EW_DIV, int16_t, float32_t>, fun<nm::EW_DIV, int16_t, float64_t>, fun<nm::EW_DIV, int16_t, nm::Complex64>, fun<nm::EW_DIV, int16_t, nm::Complex128>, \
457
- fun<nm::EW_DIV, int16_t, nm::Rational32>, fun<nm::EW_DIV, int16_t, nm::Rational64>, fun<nm::EW_DIV, int16_t, nm::Rational128>, NULL}, \
374
+ NULL}, \
458
375
  \
459
376
  {fun<nm::EW_DIV, int32_t, uint8_t>, fun<nm::EW_DIV, int32_t, int8_t>, fun<nm::EW_DIV, int32_t, int16_t>, fun<nm::EW_DIV, int32_t, int32_t>, fun<nm::EW_DIV, int32_t, int64_t>, \
460
377
  fun<nm::EW_DIV, int32_t, float32_t>, fun<nm::EW_DIV, int32_t, float64_t>, fun<nm::EW_DIV, int32_t, nm::Complex64>, fun<nm::EW_DIV, int32_t, nm::Complex128>, \
461
- fun<nm::EW_DIV, int32_t, nm::Rational32>, fun<nm::EW_DIV, int32_t, nm::Rational64>, fun<nm::EW_DIV, int32_t, nm::Rational128>, NULL}, \
378
+ NULL}, \
462
379
  \
463
380
  {fun<nm::EW_DIV, int64_t, uint8_t>, fun<nm::EW_DIV, int64_t, int8_t>, fun<nm::EW_DIV, int64_t, int16_t>, fun<nm::EW_DIV, int64_t, int32_t>, fun<nm::EW_DIV, int64_t, int64_t>, \
464
381
  fun<nm::EW_DIV, int64_t, float32_t>, fun<nm::EW_DIV, int64_t, float64_t>, fun<nm::EW_DIV, int64_t, nm::Complex64>, fun<nm::EW_DIV, int64_t, nm::Complex128>, \
465
- fun<nm::EW_DIV, int64_t, nm::Rational32>, fun<nm::EW_DIV, int64_t, nm::Rational64>, fun<nm::EW_DIV, int64_t, nm::Rational128>, NULL}, \
382
+ NULL}, \
466
383
  \
467
384
  {fun<nm::EW_DIV, float32_t, uint8_t>, fun<nm::EW_DIV, float32_t, int8_t>, fun<nm::EW_DIV, float32_t, int16_t>, fun<nm::EW_DIV, float32_t, int32_t>, fun<nm::EW_DIV, float32_t, int64_t>, \
468
385
  fun<nm::EW_DIV, float32_t, float32_t>, fun<nm::EW_DIV, float32_t, float64_t>, fun<nm::EW_DIV, float32_t, nm::Complex64>, fun<nm::EW_DIV, float32_t, nm::Complex128>, \
469
- fun<nm::EW_DIV, float32_t, nm::Rational32>, fun<nm::EW_DIV, float32_t, nm::Rational64>, fun<nm::EW_DIV, float32_t, nm::Rational128>, NULL}, \
386
+ NULL}, \
470
387
  \
471
388
  {fun<nm::EW_DIV, float64_t, uint8_t>, fun<nm::EW_DIV, float64_t, int8_t>, fun<nm::EW_DIV, float64_t, int16_t>, fun<nm::EW_DIV, float64_t, int32_t>, fun<nm::EW_DIV, float64_t, int64_t>, \
472
389
  fun<nm::EW_DIV, float64_t, float32_t>, fun<nm::EW_DIV, float64_t, float64_t>, fun<nm::EW_DIV, float64_t, nm::Complex64>, fun<nm::EW_DIV, float64_t, nm::Complex128>, \
473
- fun<nm::EW_DIV, float64_t, nm::Rational32>, fun<nm::EW_DIV, float64_t, nm::Rational64>, fun<nm::EW_DIV, float64_t, nm::Rational128>, NULL}, \
390
+ NULL}, \
474
391
  \
475
392
  {fun<nm::EW_DIV, nm::Complex64, uint8_t>, fun<nm::EW_DIV, nm::Complex64, int8_t>, fun<nm::EW_DIV, nm::Complex64, int16_t>, fun<nm::EW_DIV, nm::Complex64, int32_t>, \
476
393
  fun<nm::EW_DIV, nm::Complex64, int64_t>, fun<nm::EW_DIV, nm::Complex64, float32_t>, fun<nm::EW_DIV, nm::Complex64, float64_t>, fun<nm::EW_DIV, nm::Complex64, nm::Complex64>, \
477
- fun<nm::EW_DIV, nm::Complex64, nm::Complex128>, fun<nm::EW_DIV, nm::Complex64, nm::Rational32>, fun<nm::EW_DIV, nm::Complex64, nm::Rational64>, \
478
- fun<nm::EW_DIV, nm::Complex64, nm::Rational128>, NULL}, \
394
+ fun<nm::EW_DIV, nm::Complex64, nm::Complex128>, \
395
+ NULL}, \
479
396
  \
480
397
  {fun<nm::EW_DIV, nm::Complex128, uint8_t>, fun<nm::EW_DIV, nm::Complex128, int8_t>, fun<nm::EW_DIV, nm::Complex128, int16_t>, fun<nm::EW_DIV, nm::Complex128, int32_t>, \
481
398
  fun<nm::EW_DIV, nm::Complex128, int64_t>, fun<nm::EW_DIV, nm::Complex128, float32_t>, fun<nm::EW_DIV, nm::Complex128, float64_t>, fun<nm::EW_DIV, nm::Complex128, nm::Complex64>, \
482
- fun<nm::EW_DIV, nm::Complex128, nm::Complex128>, fun<nm::EW_DIV, nm::Complex128, nm::Rational32>, fun<nm::EW_DIV, nm::Complex128, nm::Rational64>, \
483
- fun<nm::EW_DIV, nm::Complex128, nm::Rational128>, NULL}, \
484
- \
485
- {fun<nm::EW_DIV, nm::Rational32, uint8_t>, fun<nm::EW_DIV, nm::Rational32, int8_t>, fun<nm::EW_DIV, nm::Rational32, int16_t>, fun<nm::EW_DIV, nm::Rational32, int32_t>, \
486
- fun<nm::EW_DIV, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_DIV, nm::Rational32, nm::Rational32>, fun<nm::EW_DIV, nm::Rational32, nm::Rational64>, \
487
- fun<nm::EW_DIV, nm::Rational32, nm::Rational128>, NULL}, \
488
- \
489
- {fun<nm::EW_DIV, nm::Rational64, uint8_t>, fun<nm::EW_DIV, nm::Rational64, int8_t>, fun<nm::EW_DIV, nm::Rational64, int16_t>, fun<nm::EW_DIV, nm::Rational64, int32_t>, \
490
- fun<nm::EW_DIV, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_DIV, nm::Rational64, nm::Rational32>, fun<nm::EW_DIV, nm::Rational64, nm::Rational64>, \
491
- fun<nm::EW_DIV, nm::Rational64, nm::Rational128>, NULL}, \
492
- \
493
- {fun<nm::EW_DIV, nm::Rational128, uint8_t>, fun<nm::EW_DIV, nm::Rational128, int8_t>, fun<nm::EW_DIV, nm::Rational128, int16_t>, fun<nm::EW_DIV, nm::Rational128, int32_t>, \
494
- fun<nm::EW_DIV, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_DIV, nm::Rational128, nm::Rational32>, fun<nm::EW_DIV, nm::Rational128, nm::Rational64>, \
495
- fun<nm::EW_DIV, nm::Rational128, nm::Rational128>, NULL}, \
399
+ fun<nm::EW_DIV, nm::Complex128, nm::Complex128>, \
400
+ NULL}, \
496
401
  \
497
402
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_DIV, nm::RubyObject, nm::RubyObject>} \
498
403
  }, \
@@ -500,53 +405,41 @@ namespace nm {
500
405
  { \
501
406
  {fun<nm::EW_POW, uint8_t, uint8_t>, fun<nm::EW_POW, uint8_t, int8_t>, fun<nm::EW_POW, uint8_t, int16_t>, fun<nm::EW_POW, uint8_t, int32_t>, fun<nm::EW_POW, uint8_t, int64_t>, \
502
407
  fun<nm::EW_POW, uint8_t, float32_t>, fun<nm::EW_POW, uint8_t, float64_t>, fun<nm::EW_POW, uint8_t, nm::Complex64>, fun<nm::EW_POW, uint8_t, nm::Complex128>, \
503
- fun<nm::EW_POW, uint8_t, nm::Rational32>, fun<nm::EW_POW, uint8_t, nm::Rational64>, fun<nm::EW_POW, uint8_t, nm::Rational128>, NULL}, \
408
+ NULL}, \
504
409
  \
505
410
  {fun<nm::EW_POW, int8_t, uint8_t>, fun<nm::EW_POW, int8_t, int8_t>, fun<nm::EW_POW, int8_t, int16_t>, fun<nm::EW_POW, int8_t, int32_t>, fun<nm::EW_POW, int8_t, int64_t>, \
506
411
  fun<nm::EW_POW, int8_t, float32_t>, fun<nm::EW_POW, int8_t, float64_t>, fun<nm::EW_POW, int8_t, nm::Complex64>, fun<nm::EW_POW, int8_t, nm::Complex128>, \
507
- fun<nm::EW_POW, int8_t, nm::Rational32>, fun<nm::EW_POW, int8_t, nm::Rational64>, fun<nm::EW_POW, int8_t, nm::Rational128>, NULL}, \
412
+ NULL}, \
508
413
  \
509
414
  {fun<nm::EW_POW, int16_t, uint8_t>, fun<nm::EW_POW, int16_t, int8_t>, fun<nm::EW_POW, int16_t, int16_t>, fun<nm::EW_POW, int16_t, int32_t>, fun<nm::EW_POW, int16_t, int64_t>, \
510
415
  fun<nm::EW_POW, int16_t, float32_t>, fun<nm::EW_POW, int16_t, float64_t>, fun<nm::EW_POW, int16_t, nm::Complex64>, fun<nm::EW_POW, int16_t, nm::Complex128>, \
511
- fun<nm::EW_POW, int16_t, nm::Rational32>, fun<nm::EW_POW, int16_t, nm::Rational64>, fun<nm::EW_POW, int16_t, nm::Rational128>, NULL}, \
416
+ NULL}, \
512
417
  \
513
418
  {fun<nm::EW_POW, int32_t, uint8_t>, fun<nm::EW_POW, int32_t, int8_t>, fun<nm::EW_POW, int32_t, int16_t>, fun<nm::EW_POW, int32_t, int32_t>, fun<nm::EW_POW, int32_t, int64_t>, \
514
419
  fun<nm::EW_POW, int32_t, float32_t>, fun<nm::EW_POW, int32_t, float64_t>, fun<nm::EW_POW, int32_t, nm::Complex64>, fun<nm::EW_POW, int32_t, nm::Complex128>, \
515
- fun<nm::EW_POW, int32_t, nm::Rational32>, fun<nm::EW_POW, int32_t, nm::Rational64>, fun<nm::EW_POW, int32_t, nm::Rational128>, NULL}, \
420
+ NULL}, \
516
421
  \
517
422
  {fun<nm::EW_POW, int64_t, uint8_t>, fun<nm::EW_POW, int64_t, int8_t>, fun<nm::EW_POW, int64_t, int16_t>, fun<nm::EW_POW, int64_t, int32_t>, fun<nm::EW_POW, int64_t, int64_t>, \
518
423
  fun<nm::EW_POW, int64_t, float32_t>, fun<nm::EW_POW, int64_t, float64_t>, fun<nm::EW_POW, int64_t, nm::Complex64>, fun<nm::EW_POW, int64_t, nm::Complex128>, \
519
- fun<nm::EW_POW, int64_t, nm::Rational32>, fun<nm::EW_POW, int64_t, nm::Rational64>, fun<nm::EW_POW, int64_t, nm::Rational128>, NULL}, \
424
+ NULL}, \
520
425
  \
521
426
  {fun<nm::EW_POW, float32_t, uint8_t>, fun<nm::EW_POW, float32_t, int8_t>, fun<nm::EW_POW, float32_t, int16_t>, fun<nm::EW_POW, float32_t, int32_t>, fun<nm::EW_POW, float32_t, int64_t>, \
522
427
  fun<nm::EW_POW, float32_t, float32_t>, fun<nm::EW_POW, float32_t, float64_t>, fun<nm::EW_POW, float32_t, nm::Complex64>, fun<nm::EW_POW, float32_t, nm::Complex128>, \
523
- fun<nm::EW_POW, float32_t, nm::Rational32>, fun<nm::EW_POW, float32_t, nm::Rational64>, fun<nm::EW_POW, float32_t, nm::Rational128>, NULL}, \
428
+ NULL}, \
524
429
  \
525
430
  {fun<nm::EW_POW, float64_t, uint8_t>, fun<nm::EW_POW, float64_t, int8_t>, fun<nm::EW_POW, float64_t, int16_t>, fun<nm::EW_POW, float64_t, int32_t>, fun<nm::EW_POW, float64_t, int64_t>, \
526
431
  fun<nm::EW_POW, float64_t, float32_t>, fun<nm::EW_POW, float64_t, float64_t>, fun<nm::EW_POW, float64_t, nm::Complex64>, fun<nm::EW_POW, float64_t, nm::Complex128>, \
527
- fun<nm::EW_POW, float64_t, nm::Rational32>, fun<nm::EW_POW, float64_t, nm::Rational64>, fun<nm::EW_POW, float64_t, nm::Rational128>, NULL}, \
432
+ NULL}, \
528
433
  \
529
434
  {fun<nm::EW_POW, nm::Complex64, uint8_t>, fun<nm::EW_POW, nm::Complex64, int8_t>, fun<nm::EW_POW, nm::Complex64, int16_t>, fun<nm::EW_POW, nm::Complex64, int32_t>, \
530
435
  fun<nm::EW_POW, nm::Complex64, int64_t>, fun<nm::EW_POW, nm::Complex64, float32_t>, fun<nm::EW_POW, nm::Complex64, float64_t>, fun<nm::EW_POW, nm::Complex64, nm::Complex64>, \
531
- fun<nm::EW_POW, nm::Complex64, nm::Complex128>, fun<nm::EW_POW, nm::Complex64, nm::Rational32>, fun<nm::EW_POW, nm::Complex64, nm::Rational64>, \
532
- fun<nm::EW_POW, nm::Complex64, nm::Rational128>, NULL}, \
436
+ fun<nm::EW_POW, nm::Complex64, nm::Complex128>, \
437
+ NULL}, \
533
438
  \
534
439
  {fun<nm::EW_POW, nm::Complex128, uint8_t>, fun<nm::EW_POW, nm::Complex128, int8_t>, fun<nm::EW_POW, nm::Complex128, int16_t>, fun<nm::EW_POW, nm::Complex128, int32_t>, \
535
440
  fun<nm::EW_POW, nm::Complex128, int64_t>, fun<nm::EW_POW, nm::Complex128, float32_t>, fun<nm::EW_POW, nm::Complex128, float64_t>, fun<nm::EW_POW, nm::Complex128, nm::Complex64>, \
536
- fun<nm::EW_POW, nm::Complex128, nm::Complex128>, fun<nm::EW_POW, nm::Complex128, nm::Rational32>, fun<nm::EW_POW, nm::Complex128, nm::Rational64>, \
537
- fun<nm::EW_POW, nm::Complex128, nm::Rational128>, NULL}, \
538
- \
539
- {fun<nm::EW_POW, nm::Rational32, uint8_t>, fun<nm::EW_POW, nm::Rational32, int8_t>, fun<nm::EW_POW, nm::Rational32, int16_t>, fun<nm::EW_POW, nm::Rational32, int32_t>, \
540
- fun<nm::EW_POW, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_POW, nm::Rational32, nm::Rational32>, fun<nm::EW_POW, nm::Rational32, nm::Rational64>, \
541
- fun<nm::EW_POW, nm::Rational32, nm::Rational128>, NULL}, \
542
- \
543
- {fun<nm::EW_POW, nm::Rational64, uint8_t>, fun<nm::EW_POW, nm::Rational64, int8_t>, fun<nm::EW_POW, nm::Rational64, int16_t>, fun<nm::EW_POW, nm::Rational64, int32_t>, \
544
- fun<nm::EW_POW, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_POW, nm::Rational64, nm::Rational32>, fun<nm::EW_POW, nm::Rational64, nm::Rational64>, \
545
- fun<nm::EW_POW, nm::Rational64, nm::Rational128>, NULL}, \
546
- \
547
- {fun<nm::EW_POW, nm::Rational128, uint8_t>, fun<nm::EW_POW, nm::Rational128, int8_t>, fun<nm::EW_POW, nm::Rational128, int16_t>, fun<nm::EW_POW, nm::Rational128, int32_t>, \
548
- fun<nm::EW_POW, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_POW, nm::Rational128, nm::Rational32>, fun<nm::EW_POW, nm::Rational128, nm::Rational64>, \
549
- fun<nm::EW_POW, nm::Rational128, nm::Rational128>, NULL}, \
441
+ fun<nm::EW_POW, nm::Complex128, nm::Complex128>, \
442
+ NULL}, \
550
443
  \
551
444
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_POW, nm::RubyObject, nm::RubyObject>} \
552
445
  }, \
@@ -554,53 +447,41 @@ namespace nm {
554
447
  { \
555
448
  {fun<nm::EW_MOD, uint8_t, uint8_t>, fun<nm::EW_MOD, uint8_t, int8_t>, fun<nm::EW_MOD, uint8_t, int16_t>, fun<nm::EW_MOD, uint8_t, int32_t>, fun<nm::EW_MOD, uint8_t, int64_t>, \
556
449
  fun<nm::EW_MOD, uint8_t, float32_t>, fun<nm::EW_MOD, uint8_t, float64_t>, fun<nm::EW_MOD, uint8_t, nm::Complex64>, fun<nm::EW_MOD, uint8_t, nm::Complex128>, \
557
- fun<nm::EW_MOD, uint8_t, nm::Rational32>, fun<nm::EW_MOD, uint8_t, nm::Rational64>, fun<nm::EW_MOD, uint8_t, nm::Rational128>, NULL}, \
450
+ NULL}, \
558
451
  \
559
452
  {fun<nm::EW_MOD, int8_t, uint8_t>, fun<nm::EW_MOD, int8_t, int8_t>, fun<nm::EW_MOD, int8_t, int16_t>, fun<nm::EW_MOD, int8_t, int32_t>, fun<nm::EW_MOD, int8_t, int64_t>, \
560
453
  fun<nm::EW_MOD, int8_t, float32_t>, fun<nm::EW_MOD, int8_t, float64_t>, fun<nm::EW_MOD, int8_t, nm::Complex64>, fun<nm::EW_MOD, int8_t, nm::Complex128>, \
561
- fun<nm::EW_MOD, int8_t, nm::Rational32>, fun<nm::EW_MOD, int8_t, nm::Rational64>, fun<nm::EW_MOD, int8_t, nm::Rational128>, NULL}, \
454
+ NULL}, \
562
455
  \
563
456
  {fun<nm::EW_MOD, int16_t, uint8_t>, fun<nm::EW_MOD, int16_t, int8_t>, fun<nm::EW_MOD, int16_t, int16_t>, fun<nm::EW_MOD, int16_t, int32_t>, fun<nm::EW_MOD, int16_t, int64_t>, \
564
457
  fun<nm::EW_MOD, int16_t, float32_t>, fun<nm::EW_MOD, int16_t, float64_t>, fun<nm::EW_MOD, int16_t, nm::Complex64>, fun<nm::EW_MOD, int16_t, nm::Complex128>, \
565
- fun<nm::EW_MOD, int16_t, nm::Rational32>, fun<nm::EW_MOD, int16_t, nm::Rational64>, fun<nm::EW_MOD, int16_t, nm::Rational128>, NULL}, \
458
+ NULL}, \
566
459
  \
567
460
  {fun<nm::EW_MOD, int32_t, uint8_t>, fun<nm::EW_MOD, int32_t, int8_t>, fun<nm::EW_MOD, int32_t, int16_t>, fun<nm::EW_MOD, int32_t, int32_t>, fun<nm::EW_MOD, int32_t, int64_t>, \
568
461
  fun<nm::EW_MOD, int32_t, float32_t>, fun<nm::EW_MOD, int32_t, float64_t>, fun<nm::EW_MOD, int32_t, nm::Complex64>, fun<nm::EW_MOD, int32_t, nm::Complex128>, \
569
- fun<nm::EW_MOD, int32_t, nm::Rational32>, fun<nm::EW_MOD, int32_t, nm::Rational64>, fun<nm::EW_MOD, int32_t, nm::Rational128>, NULL}, \
462
+ NULL}, \
570
463
  \
571
464
  {fun<nm::EW_MOD, int64_t, uint8_t>, fun<nm::EW_MOD, int64_t, int8_t>, fun<nm::EW_MOD, int64_t, int16_t>, fun<nm::EW_MOD, int64_t, int32_t>, fun<nm::EW_MOD, int64_t, int64_t>, \
572
465
  fun<nm::EW_MOD, int64_t, float32_t>, fun<nm::EW_MOD, int64_t, float64_t>, fun<nm::EW_MOD, int64_t, nm::Complex64>, fun<nm::EW_MOD, int64_t, nm::Complex128>, \
573
- fun<nm::EW_MOD, int64_t, nm::Rational32>, fun<nm::EW_MOD, int64_t, nm::Rational64>, fun<nm::EW_MOD, int64_t, nm::Rational128>, NULL}, \
466
+ NULL}, \
574
467
  \
575
468
  {fun<nm::EW_MOD, float32_t, uint8_t>, fun<nm::EW_MOD, float32_t, int8_t>, fun<nm::EW_MOD, float32_t, int16_t>, fun<nm::EW_MOD, float32_t, int32_t>, fun<nm::EW_MOD, float32_t, int64_t>, \
576
469
  fun<nm::EW_MOD, float32_t, float32_t>, fun<nm::EW_MOD, float32_t, float64_t>, fun<nm::EW_MOD, float32_t, nm::Complex64>, fun<nm::EW_MOD, float32_t, nm::Complex128>, \
577
- fun<nm::EW_MOD, float32_t, nm::Rational32>, fun<nm::EW_MOD, float32_t, nm::Rational64>, fun<nm::EW_MOD, float32_t, nm::Rational128>, NULL}, \
470
+ NULL}, \
578
471
  \
579
472
  {fun<nm::EW_MOD, float64_t, uint8_t>, fun<nm::EW_MOD, float64_t, int8_t>, fun<nm::EW_MOD, float64_t, int16_t>, fun<nm::EW_MOD, float64_t, int32_t>, fun<nm::EW_MOD, float64_t, int64_t>, \
580
473
  fun<nm::EW_MOD, float64_t, float32_t>, fun<nm::EW_MOD, float64_t, float64_t>, fun<nm::EW_MOD, float64_t, nm::Complex64>, fun<nm::EW_MOD, float64_t, nm::Complex128>, \
581
- fun<nm::EW_MOD, float64_t, nm::Rational32>, fun<nm::EW_MOD, float64_t, nm::Rational64>, fun<nm::EW_MOD, float64_t, nm::Rational128>, NULL}, \
474
+ NULL}, \
582
475
  \
583
476
  {fun<nm::EW_MOD, nm::Complex64, uint8_t>, fun<nm::EW_MOD, nm::Complex64, int8_t>, fun<nm::EW_MOD, nm::Complex64, int16_t>, fun<nm::EW_MOD, nm::Complex64, int32_t>, \
584
477
  fun<nm::EW_MOD, nm::Complex64, int64_t>, fun<nm::EW_MOD, nm::Complex64, float32_t>, fun<nm::EW_MOD, nm::Complex64, float64_t>, fun<nm::EW_MOD, nm::Complex64, nm::Complex64>, \
585
- fun<nm::EW_MOD, nm::Complex64, nm::Complex128>, fun<nm::EW_MOD, nm::Complex64, nm::Rational32>, fun<nm::EW_MOD, nm::Complex64, nm::Rational64>, \
586
- fun<nm::EW_MOD, nm::Complex64, nm::Rational128>, NULL}, \
478
+ fun<nm::EW_MOD, nm::Complex64, nm::Complex128>, \
479
+ NULL}, \
587
480
  \
588
481
  {fun<nm::EW_MOD, nm::Complex128, uint8_t>, fun<nm::EW_MOD, nm::Complex128, int8_t>, fun<nm::EW_MOD, nm::Complex128, int16_t>, fun<nm::EW_MOD, nm::Complex128, int32_t>, \
589
482
  fun<nm::EW_MOD, nm::Complex128, int64_t>, fun<nm::EW_MOD, nm::Complex128, float32_t>, fun<nm::EW_MOD, nm::Complex128, float64_t>, fun<nm::EW_MOD, nm::Complex128, nm::Complex64>, \
590
- fun<nm::EW_MOD, nm::Complex128, nm::Complex128>, fun<nm::EW_MOD, nm::Complex128, nm::Rational32>, fun<nm::EW_MOD, nm::Complex128, nm::Rational64>, \
591
- fun<nm::EW_MOD, nm::Complex128, nm::Rational128>, NULL}, \
592
- \
593
- {fun<nm::EW_MOD, nm::Rational32, uint8_t>, fun<nm::EW_MOD, nm::Rational32, int8_t>, fun<nm::EW_MOD, nm::Rational32, int16_t>, fun<nm::EW_MOD, nm::Rational32, int32_t>, \
594
- fun<nm::EW_MOD, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_MOD, nm::Rational32, nm::Rational32>, fun<nm::EW_MOD, nm::Rational32, nm::Rational64>, \
595
- fun<nm::EW_MOD, nm::Rational32, nm::Rational128>, NULL}, \
596
- \
597
- {fun<nm::EW_MOD, nm::Rational64, uint8_t>, fun<nm::EW_MOD, nm::Rational64, int8_t>, fun<nm::EW_MOD, nm::Rational64, int16_t>, fun<nm::EW_MOD, nm::Rational64, int32_t>, \
598
- fun<nm::EW_MOD, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_MOD, nm::Rational64, nm::Rational32>, fun<nm::EW_MOD, nm::Rational64, nm::Rational64>, \
599
- fun<nm::EW_MOD, nm::Rational64, nm::Rational128>, NULL}, \
600
- \
601
- {fun<nm::EW_MOD, nm::Rational128, uint8_t>, fun<nm::EW_MOD, nm::Rational128, int8_t>, fun<nm::EW_MOD, nm::Rational128, int16_t>, fun<nm::EW_MOD, nm::Rational128, int32_t>, \
602
- fun<nm::EW_MOD, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_MOD, nm::Rational128, nm::Rational32>, fun<nm::EW_MOD, nm::Rational128, nm::Rational64>, \
603
- fun<nm::EW_MOD, nm::Rational128, nm::Rational128>, NULL}, \
483
+ fun<nm::EW_MOD, nm::Complex128, nm::Complex128>, \
484
+ NULL}, \
604
485
  \
605
486
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_MOD, nm::RubyObject, nm::RubyObject>} \
606
487
  }, \
@@ -608,85 +489,67 @@ namespace nm {
608
489
  { \
609
490
  {fun<nm::EW_EQEQ, uint8_t, uint8_t>, fun<nm::EW_EQEQ, uint8_t, int8_t>, fun<nm::EW_EQEQ, uint8_t, int16_t>, fun<nm::EW_EQEQ, uint8_t, int32_t>, \
610
491
  fun<nm::EW_EQEQ, uint8_t, int64_t>, fun<nm::EW_EQEQ, uint8_t, float32_t>, fun<nm::EW_EQEQ, uint8_t, float64_t>, fun<nm::EW_EQEQ, uint8_t, nm::Complex64>, \
611
- fun<nm::EW_EQEQ, uint8_t, nm::Complex128>, fun<nm::EW_EQEQ, uint8_t, nm::Rational32>, fun<nm::EW_EQEQ, uint8_t, nm::Rational64>, \
612
- fun<nm::EW_EQEQ, uint8_t, nm::Rational128>, NULL}, \
613
- {fun<nm::EW_EQEQ, int8_t, uint8_t>, fun<nm::EW_EQEQ, int8_t, int8_t>, fun<nm::EW_EQEQ, int8_t, int16_t>, fun<nm::EW_EQEQ, int8_t, int32_t>, fun<nm::EW_EQEQ, int8_t, int64_t>, fun<nm::EW_EQEQ, int8_t, float32_t>, fun<nm::EW_EQEQ, int8_t, float64_t>, fun<nm::EW_EQEQ, int8_t, nm::Complex64>, fun<nm::EW_EQEQ, int8_t, nm::Complex128>, fun<nm::EW_EQEQ, int8_t, nm::Rational32>, fun<nm::EW_EQEQ, int8_t, nm::Rational64>, fun<nm::EW_EQEQ, int8_t, nm::Rational128>, NULL}, \
614
- {fun<nm::EW_EQEQ, int16_t, uint8_t>, fun<nm::EW_EQEQ, int16_t, int8_t>, fun<nm::EW_EQEQ, int16_t, int16_t>, fun<nm::EW_EQEQ, int16_t, int32_t>, fun<nm::EW_EQEQ, int16_t, int64_t>, fun<nm::EW_EQEQ, int16_t, float32_t>, fun<nm::EW_EQEQ, int16_t, float64_t>, fun<nm::EW_EQEQ, int16_t, nm::Complex64>, fun<nm::EW_EQEQ, int16_t, nm::Complex128>, fun<nm::EW_EQEQ, int16_t, nm::Rational32>, fun<nm::EW_EQEQ, int16_t, nm::Rational64>, fun<nm::EW_EQEQ, int16_t, nm::Rational128>, NULL}, \
615
- {fun<nm::EW_EQEQ, int32_t, uint8_t>, fun<nm::EW_EQEQ, int32_t, int8_t>, fun<nm::EW_EQEQ, int32_t, int16_t>, fun<nm::EW_EQEQ, int32_t, int32_t>, fun<nm::EW_EQEQ, int32_t, int64_t>, fun<nm::EW_EQEQ, int32_t, float32_t>, fun<nm::EW_EQEQ, int32_t, float64_t>, fun<nm::EW_EQEQ, int32_t, nm::Complex64>, fun<nm::EW_EQEQ, int32_t, nm::Complex128>, fun<nm::EW_EQEQ, int32_t, nm::Rational32>, fun<nm::EW_EQEQ, int32_t, nm::Rational64>, fun<nm::EW_EQEQ, int32_t, nm::Rational128>, NULL}, \
616
- {fun<nm::EW_EQEQ, int64_t, uint8_t>, fun<nm::EW_EQEQ, int64_t, int8_t>, fun<nm::EW_EQEQ, int64_t, int16_t>, fun<nm::EW_EQEQ, int64_t, int32_t>, fun<nm::EW_EQEQ, int64_t, int64_t>, fun<nm::EW_EQEQ, int64_t, float32_t>, fun<nm::EW_EQEQ, int64_t, float64_t>, fun<nm::EW_EQEQ, int64_t, nm::Complex64>, fun<nm::EW_EQEQ, int64_t, nm::Complex128>, fun<nm::EW_EQEQ, int64_t, nm::Rational32>, fun<nm::EW_EQEQ, int64_t, nm::Rational64>, fun<nm::EW_EQEQ, int64_t, nm::Rational128>, NULL}, \
617
- {fun<nm::EW_EQEQ, float32_t, uint8_t>, fun<nm::EW_EQEQ, float32_t, int8_t>, fun<nm::EW_EQEQ, float32_t, int16_t>, fun<nm::EW_EQEQ, float32_t, int32_t>, fun<nm::EW_EQEQ, float32_t, int64_t>, fun<nm::EW_EQEQ, float32_t, float32_t>, fun<nm::EW_EQEQ, float32_t, float64_t>, fun<nm::EW_EQEQ, float32_t, nm::Complex64>, fun<nm::EW_EQEQ, float32_t, nm::Complex128>, fun<nm::EW_EQEQ, float32_t, nm::Rational32>, fun<nm::EW_EQEQ, float32_t, nm::Rational64>, fun<nm::EW_EQEQ, float32_t, nm::Rational128>, NULL}, \
618
- {fun<nm::EW_EQEQ, float64_t, uint8_t>, fun<nm::EW_EQEQ, float64_t, int8_t>, fun<nm::EW_EQEQ, float64_t, int16_t>, fun<nm::EW_EQEQ, float64_t, int32_t>, fun<nm::EW_EQEQ, float64_t, int64_t>, fun<nm::EW_EQEQ, float64_t, float32_t>, fun<nm::EW_EQEQ, float64_t, float64_t>, fun<nm::EW_EQEQ, float64_t, nm::Complex64>, fun<nm::EW_EQEQ, float64_t, nm::Complex128>, fun<nm::EW_EQEQ, float64_t, nm::Rational32>, fun<nm::EW_EQEQ, float64_t, nm::Rational64>, fun<nm::EW_EQEQ, float64_t, nm::Rational128>, NULL}, \
619
- {fun<nm::EW_EQEQ, nm::Complex64, uint8_t>, fun<nm::EW_EQEQ, nm::Complex64, int8_t>, fun<nm::EW_EQEQ, nm::Complex64, int16_t>, fun<nm::EW_EQEQ, nm::Complex64, int32_t>, fun<nm::EW_EQEQ, nm::Complex64, int64_t>, fun<nm::EW_EQEQ, nm::Complex64, float32_t>, fun<nm::EW_EQEQ, nm::Complex64, float64_t>, fun<nm::EW_EQEQ, nm::Complex64, nm::Complex64>, fun<nm::EW_EQEQ, nm::Complex64, nm::Complex128>, fun<nm::EW_EQEQ, nm::Complex64, nm::Rational32>, fun<nm::EW_EQEQ, nm::Complex64, nm::Rational64>, fun<nm::EW_EQEQ, nm::Complex64, nm::Rational128>, NULL}, \
620
- {fun<nm::EW_EQEQ, nm::Complex128, uint8_t>, fun<nm::EW_EQEQ, nm::Complex128, int8_t>, fun<nm::EW_EQEQ, nm::Complex128, int16_t>, fun<nm::EW_EQEQ, nm::Complex128, int32_t>, fun<nm::EW_EQEQ, nm::Complex128, int64_t>, fun<nm::EW_EQEQ, nm::Complex128, float32_t>, fun<nm::EW_EQEQ, nm::Complex128, float64_t>, fun<nm::EW_EQEQ, nm::Complex128, nm::Complex64>, fun<nm::EW_EQEQ, nm::Complex128, nm::Complex128>, fun<nm::EW_EQEQ, nm::Complex128, nm::Rational32>, fun<nm::EW_EQEQ, nm::Complex128, nm::Rational64>, fun<nm::EW_EQEQ, nm::Complex128, nm::Rational128>, NULL}, \
621
- {fun<nm::EW_EQEQ, nm::Rational32, uint8_t>, fun<nm::EW_EQEQ, nm::Rational32, int8_t>, fun<nm::EW_EQEQ, nm::Rational32, int16_t>, fun<nm::EW_EQEQ, nm::Rational32, int32_t>, fun<nm::EW_EQEQ, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_EQEQ, nm::Rational32, nm::Rational32>, fun<nm::EW_EQEQ, nm::Rational32, nm::Rational64>, fun<nm::EW_EQEQ, nm::Rational32, nm::Rational128>, NULL}, \
622
- {fun<nm::EW_EQEQ, nm::Rational64, uint8_t>, fun<nm::EW_EQEQ, nm::Rational64, int8_t>, fun<nm::EW_EQEQ, nm::Rational64, int16_t>, fun<nm::EW_EQEQ, nm::Rational64, int32_t>, fun<nm::EW_EQEQ, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_EQEQ, nm::Rational64, nm::Rational32>, fun<nm::EW_EQEQ, nm::Rational64, nm::Rational64>, fun<nm::EW_EQEQ, nm::Rational64, nm::Rational128>, NULL}, \
623
- {fun<nm::EW_EQEQ, nm::Rational128, uint8_t>, fun<nm::EW_EQEQ, nm::Rational128, int8_t>, fun<nm::EW_EQEQ, nm::Rational128, int16_t>, fun<nm::EW_EQEQ, nm::Rational128, int32_t>, fun<nm::EW_EQEQ, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_EQEQ, nm::Rational128, nm::Rational32>, fun<nm::EW_EQEQ, nm::Rational128, nm::Rational64>, fun<nm::EW_EQEQ, nm::Rational128, nm::Rational128>, NULL}, \
492
+ fun<nm::EW_EQEQ, uint8_t, nm::Complex128>, \
493
+ NULL}, \
494
+ {fun<nm::EW_EQEQ, int8_t, uint8_t>, fun<nm::EW_EQEQ, int8_t, int8_t>, fun<nm::EW_EQEQ, int8_t, int16_t>, fun<nm::EW_EQEQ, int8_t, int32_t>, fun<nm::EW_EQEQ, int8_t, int64_t>, fun<nm::EW_EQEQ, int8_t, float32_t>, fun<nm::EW_EQEQ, int8_t, float64_t>, fun<nm::EW_EQEQ, int8_t, nm::Complex64>, fun<nm::EW_EQEQ, int8_t, nm::Complex128>, NULL}, \
495
+ {fun<nm::EW_EQEQ, int16_t, uint8_t>, fun<nm::EW_EQEQ, int16_t, int8_t>, fun<nm::EW_EQEQ, int16_t, int16_t>, fun<nm::EW_EQEQ, int16_t, int32_t>, fun<nm::EW_EQEQ, int16_t, int64_t>, fun<nm::EW_EQEQ, int16_t, float32_t>, fun<nm::EW_EQEQ, int16_t, float64_t>, fun<nm::EW_EQEQ, int16_t, nm::Complex64>, fun<nm::EW_EQEQ, int16_t, nm::Complex128>, NULL}, \
496
+ {fun<nm::EW_EQEQ, int32_t, uint8_t>, fun<nm::EW_EQEQ, int32_t, int8_t>, fun<nm::EW_EQEQ, int32_t, int16_t>, fun<nm::EW_EQEQ, int32_t, int32_t>, fun<nm::EW_EQEQ, int32_t, int64_t>, fun<nm::EW_EQEQ, int32_t, float32_t>, fun<nm::EW_EQEQ, int32_t, float64_t>, fun<nm::EW_EQEQ, int32_t, nm::Complex64>, fun<nm::EW_EQEQ, int32_t, nm::Complex128>, NULL}, \
497
+ {fun<nm::EW_EQEQ, int64_t, uint8_t>, fun<nm::EW_EQEQ, int64_t, int8_t>, fun<nm::EW_EQEQ, int64_t, int16_t>, fun<nm::EW_EQEQ, int64_t, int32_t>, fun<nm::EW_EQEQ, int64_t, int64_t>, fun<nm::EW_EQEQ, int64_t, float32_t>, fun<nm::EW_EQEQ, int64_t, float64_t>, fun<nm::EW_EQEQ, int64_t, nm::Complex64>, fun<nm::EW_EQEQ, int64_t, nm::Complex128>, NULL}, \
498
+ {fun<nm::EW_EQEQ, float32_t, uint8_t>, fun<nm::EW_EQEQ, float32_t, int8_t>, fun<nm::EW_EQEQ, float32_t, int16_t>, fun<nm::EW_EQEQ, float32_t, int32_t>, fun<nm::EW_EQEQ, float32_t, int64_t>, fun<nm::EW_EQEQ, float32_t, float32_t>, fun<nm::EW_EQEQ, float32_t, float64_t>, fun<nm::EW_EQEQ, float32_t, nm::Complex64>, fun<nm::EW_EQEQ, float32_t, nm::Complex128>, NULL}, \
499
+ {fun<nm::EW_EQEQ, float64_t, uint8_t>, fun<nm::EW_EQEQ, float64_t, int8_t>, fun<nm::EW_EQEQ, float64_t, int16_t>, fun<nm::EW_EQEQ, float64_t, int32_t>, fun<nm::EW_EQEQ, float64_t, int64_t>, fun<nm::EW_EQEQ, float64_t, float32_t>, fun<nm::EW_EQEQ, float64_t, float64_t>, fun<nm::EW_EQEQ, float64_t, nm::Complex64>, fun<nm::EW_EQEQ, float64_t, nm::Complex128>, NULL}, \
500
+ {fun<nm::EW_EQEQ, nm::Complex64, uint8_t>, fun<nm::EW_EQEQ, nm::Complex64, int8_t>, fun<nm::EW_EQEQ, nm::Complex64, int16_t>, fun<nm::EW_EQEQ, nm::Complex64, int32_t>, fun<nm::EW_EQEQ, nm::Complex64, int64_t>, fun<nm::EW_EQEQ, nm::Complex64, float32_t>, fun<nm::EW_EQEQ, nm::Complex64, float64_t>, fun<nm::EW_EQEQ, nm::Complex64, nm::Complex64>, fun<nm::EW_EQEQ, nm::Complex64, nm::Complex128>, NULL}, \
501
+ {fun<nm::EW_EQEQ, nm::Complex128, uint8_t>, fun<nm::EW_EQEQ, nm::Complex128, int8_t>, fun<nm::EW_EQEQ, nm::Complex128, int16_t>, fun<nm::EW_EQEQ, nm::Complex128, int32_t>, fun<nm::EW_EQEQ, nm::Complex128, int64_t>, fun<nm::EW_EQEQ, nm::Complex128, float32_t>, fun<nm::EW_EQEQ, nm::Complex128, float64_t>, fun<nm::EW_EQEQ, nm::Complex128, nm::Complex64>, fun<nm::EW_EQEQ, nm::Complex128, nm::Complex128>, NULL}, \
624
502
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_EQEQ, nm::RubyObject, nm::RubyObject>} \
625
503
  }, \
626
- {{fun<nm::EW_NEQ, uint8_t, uint8_t>, fun<nm::EW_NEQ, uint8_t, int8_t>, fun<nm::EW_NEQ, uint8_t, int16_t>, fun<nm::EW_NEQ, uint8_t, int32_t>, fun<nm::EW_NEQ, uint8_t, int64_t>, fun<nm::EW_NEQ, uint8_t, float32_t>, fun<nm::EW_NEQ, uint8_t, float64_t>, fun<nm::EW_NEQ, uint8_t, nm::Complex64>, fun<nm::EW_NEQ, uint8_t, nm::Complex128>, fun<nm::EW_NEQ, uint8_t, nm::Rational32>, fun<nm::EW_NEQ, uint8_t, nm::Rational64>, fun<nm::EW_NEQ, uint8_t, nm::Rational128>, NULL}, \
627
- {fun<nm::EW_NEQ, int8_t, uint8_t>, fun<nm::EW_NEQ, int8_t, int8_t>, fun<nm::EW_NEQ, int8_t, int16_t>, fun<nm::EW_NEQ, int8_t, int32_t>, fun<nm::EW_NEQ, int8_t, int64_t>, fun<nm::EW_NEQ, int8_t, float32_t>, fun<nm::EW_NEQ, int8_t, float64_t>, fun<nm::EW_NEQ, int8_t, nm::Complex64>, fun<nm::EW_NEQ, int8_t, nm::Complex128>, fun<nm::EW_NEQ, int8_t, nm::Rational32>, fun<nm::EW_NEQ, int8_t, nm::Rational64>, fun<nm::EW_NEQ, int8_t, nm::Rational128>, NULL}, \
628
- {fun<nm::EW_NEQ, int16_t, uint8_t>, fun<nm::EW_NEQ, int16_t, int8_t>, fun<nm::EW_NEQ, int16_t, int16_t>, fun<nm::EW_NEQ, int16_t, int32_t>, fun<nm::EW_NEQ, int16_t, int64_t>, fun<nm::EW_NEQ, int16_t, float32_t>, fun<nm::EW_NEQ, int16_t, float64_t>, fun<nm::EW_NEQ, int16_t, nm::Complex64>, fun<nm::EW_NEQ, int16_t, nm::Complex128>, fun<nm::EW_NEQ, int16_t, nm::Rational32>, fun<nm::EW_NEQ, int16_t, nm::Rational64>, fun<nm::EW_NEQ, int16_t, nm::Rational128>, NULL}, \
629
- {fun<nm::EW_NEQ, int32_t, uint8_t>, fun<nm::EW_NEQ, int32_t, int8_t>, fun<nm::EW_NEQ, int32_t, int16_t>, fun<nm::EW_NEQ, int32_t, int32_t>, fun<nm::EW_NEQ, int32_t, int64_t>, fun<nm::EW_NEQ, int32_t, float32_t>, fun<nm::EW_NEQ, int32_t, float64_t>, fun<nm::EW_NEQ, int32_t, nm::Complex64>, fun<nm::EW_NEQ, int32_t, nm::Complex128>, fun<nm::EW_NEQ, int32_t, nm::Rational32>, fun<nm::EW_NEQ, int32_t, nm::Rational64>, fun<nm::EW_NEQ, int32_t, nm::Rational128>, NULL}, \
630
- {fun<nm::EW_NEQ, int64_t, uint8_t>, fun<nm::EW_NEQ, int64_t, int8_t>, fun<nm::EW_NEQ, int64_t, int16_t>, fun<nm::EW_NEQ, int64_t, int32_t>, fun<nm::EW_NEQ, int64_t, int64_t>, fun<nm::EW_NEQ, int64_t, float32_t>, fun<nm::EW_NEQ, int64_t, float64_t>, fun<nm::EW_NEQ, int64_t, nm::Complex64>, fun<nm::EW_NEQ, int64_t, nm::Complex128>, fun<nm::EW_NEQ, int64_t, nm::Rational32>, fun<nm::EW_NEQ, int64_t, nm::Rational64>, fun<nm::EW_NEQ, int64_t, nm::Rational128>, NULL}, \
631
- {fun<nm::EW_NEQ, float32_t, uint8_t>, fun<nm::EW_NEQ, float32_t, int8_t>, fun<nm::EW_NEQ, float32_t, int16_t>, fun<nm::EW_NEQ, float32_t, int32_t>, fun<nm::EW_NEQ, float32_t, int64_t>, fun<nm::EW_NEQ, float32_t, float32_t>, fun<nm::EW_NEQ, float32_t, float64_t>, fun<nm::EW_NEQ, float32_t, nm::Complex64>, fun<nm::EW_NEQ, float32_t, nm::Complex128>, fun<nm::EW_NEQ, float32_t, nm::Rational32>, fun<nm::EW_NEQ, float32_t, nm::Rational64>, fun<nm::EW_NEQ, float32_t, nm::Rational128>, NULL}, \
632
- {fun<nm::EW_NEQ, float64_t, uint8_t>, fun<nm::EW_NEQ, float64_t, int8_t>, fun<nm::EW_NEQ, float64_t, int16_t>, fun<nm::EW_NEQ, float64_t, int32_t>, fun<nm::EW_NEQ, float64_t, int64_t>, fun<nm::EW_NEQ, float64_t, float32_t>, fun<nm::EW_NEQ, float64_t, float64_t>, fun<nm::EW_NEQ, float64_t, nm::Complex64>, fun<nm::EW_NEQ, float64_t, nm::Complex128>, fun<nm::EW_NEQ, float64_t, nm::Rational32>, fun<nm::EW_NEQ, float64_t, nm::Rational64>, fun<nm::EW_NEQ, float64_t, nm::Rational128>, NULL}, \
633
- {fun<nm::EW_NEQ, nm::Complex64, uint8_t>, fun<nm::EW_NEQ, nm::Complex64, int8_t>, fun<nm::EW_NEQ, nm::Complex64, int16_t>, fun<nm::EW_NEQ, nm::Complex64, int32_t>, fun<nm::EW_NEQ, nm::Complex64, int64_t>, fun<nm::EW_NEQ, nm::Complex64, float32_t>, fun<nm::EW_NEQ, nm::Complex64, float64_t>, fun<nm::EW_NEQ, nm::Complex64, nm::Complex64>, fun<nm::EW_NEQ, nm::Complex64, nm::Complex128>, fun<nm::EW_NEQ, nm::Complex64, nm::Rational32>, fun<nm::EW_NEQ, nm::Complex64, nm::Rational64>, fun<nm::EW_NEQ, nm::Complex64, nm::Rational128>, NULL}, \
634
- {fun<nm::EW_NEQ, nm::Complex128, uint8_t>, fun<nm::EW_NEQ, nm::Complex128, int8_t>, fun<nm::EW_NEQ, nm::Complex128, int16_t>, fun<nm::EW_NEQ, nm::Complex128, int32_t>, fun<nm::EW_NEQ, nm::Complex128, int64_t>, fun<nm::EW_NEQ, nm::Complex128, float32_t>, fun<nm::EW_NEQ, nm::Complex128, float64_t>, fun<nm::EW_NEQ, nm::Complex128, nm::Complex64>, fun<nm::EW_NEQ, nm::Complex128, nm::Complex128>, fun<nm::EW_NEQ, nm::Complex128, nm::Rational32>, fun<nm::EW_NEQ, nm::Complex128, nm::Rational64>, fun<nm::EW_NEQ, nm::Complex128, nm::Rational128>, NULL}, \
635
- {fun<nm::EW_NEQ, nm::Rational32, uint8_t>, fun<nm::EW_NEQ, nm::Rational32, int8_t>, fun<nm::EW_NEQ, nm::Rational32, int16_t>, fun<nm::EW_NEQ, nm::Rational32, int32_t>, fun<nm::EW_NEQ, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_NEQ, nm::Rational32, nm::Rational32>, fun<nm::EW_NEQ, nm::Rational32, nm::Rational64>, fun<nm::EW_NEQ, nm::Rational32, nm::Rational128>, NULL}, \
636
- {fun<nm::EW_NEQ, nm::Rational64, uint8_t>, fun<nm::EW_NEQ, nm::Rational64, int8_t>, fun<nm::EW_NEQ, nm::Rational64, int16_t>, fun<nm::EW_NEQ, nm::Rational64, int32_t>, fun<nm::EW_NEQ, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_NEQ, nm::Rational64, nm::Rational32>, fun<nm::EW_NEQ, nm::Rational64, nm::Rational64>, fun<nm::EW_NEQ, nm::Rational64, nm::Rational128>, NULL}, \
637
- {fun<nm::EW_NEQ, nm::Rational128, uint8_t>, fun<nm::EW_NEQ, nm::Rational128, int8_t>, fun<nm::EW_NEQ, nm::Rational128, int16_t>, fun<nm::EW_NEQ, nm::Rational128, int32_t>, fun<nm::EW_NEQ, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_NEQ, nm::Rational128, nm::Rational32>, fun<nm::EW_NEQ, nm::Rational128, nm::Rational64>, fun<nm::EW_NEQ, nm::Rational128, nm::Rational128>, NULL}, \
504
+ {{fun<nm::EW_NEQ, uint8_t, uint8_t>, fun<nm::EW_NEQ, uint8_t, int8_t>, fun<nm::EW_NEQ, uint8_t, int16_t>, fun<nm::EW_NEQ, uint8_t, int32_t>, fun<nm::EW_NEQ, uint8_t, int64_t>, fun<nm::EW_NEQ, uint8_t, float32_t>, fun<nm::EW_NEQ, uint8_t, float64_t>, fun<nm::EW_NEQ, uint8_t, nm::Complex64>, fun<nm::EW_NEQ, uint8_t, nm::Complex128>, NULL}, \
505
+ {fun<nm::EW_NEQ, int8_t, uint8_t>, fun<nm::EW_NEQ, int8_t, int8_t>, fun<nm::EW_NEQ, int8_t, int16_t>, fun<nm::EW_NEQ, int8_t, int32_t>, fun<nm::EW_NEQ, int8_t, int64_t>, fun<nm::EW_NEQ, int8_t, float32_t>, fun<nm::EW_NEQ, int8_t, float64_t>, fun<nm::EW_NEQ, int8_t, nm::Complex64>, fun<nm::EW_NEQ, int8_t, nm::Complex128>, NULL}, \
506
+ {fun<nm::EW_NEQ, int16_t, uint8_t>, fun<nm::EW_NEQ, int16_t, int8_t>, fun<nm::EW_NEQ, int16_t, int16_t>, fun<nm::EW_NEQ, int16_t, int32_t>, fun<nm::EW_NEQ, int16_t, int64_t>, fun<nm::EW_NEQ, int16_t, float32_t>, fun<nm::EW_NEQ, int16_t, float64_t>, fun<nm::EW_NEQ, int16_t, nm::Complex64>, fun<nm::EW_NEQ, int16_t, nm::Complex128>, NULL}, \
507
+ {fun<nm::EW_NEQ, int32_t, uint8_t>, fun<nm::EW_NEQ, int32_t, int8_t>, fun<nm::EW_NEQ, int32_t, int16_t>, fun<nm::EW_NEQ, int32_t, int32_t>, fun<nm::EW_NEQ, int32_t, int64_t>, fun<nm::EW_NEQ, int32_t, float32_t>, fun<nm::EW_NEQ, int32_t, float64_t>, fun<nm::EW_NEQ, int32_t, nm::Complex64>, fun<nm::EW_NEQ, int32_t, nm::Complex128>, NULL}, \
508
+ {fun<nm::EW_NEQ, int64_t, uint8_t>, fun<nm::EW_NEQ, int64_t, int8_t>, fun<nm::EW_NEQ, int64_t, int16_t>, fun<nm::EW_NEQ, int64_t, int32_t>, fun<nm::EW_NEQ, int64_t, int64_t>, fun<nm::EW_NEQ, int64_t, float32_t>, fun<nm::EW_NEQ, int64_t, float64_t>, fun<nm::EW_NEQ, int64_t, nm::Complex64>, fun<nm::EW_NEQ, int64_t, nm::Complex128>, NULL}, \
509
+ {fun<nm::EW_NEQ, float32_t, uint8_t>, fun<nm::EW_NEQ, float32_t, int8_t>, fun<nm::EW_NEQ, float32_t, int16_t>, fun<nm::EW_NEQ, float32_t, int32_t>, fun<nm::EW_NEQ, float32_t, int64_t>, fun<nm::EW_NEQ, float32_t, float32_t>, fun<nm::EW_NEQ, float32_t, float64_t>, fun<nm::EW_NEQ, float32_t, nm::Complex64>, fun<nm::EW_NEQ, float32_t, nm::Complex128>, NULL}, \
510
+ {fun<nm::EW_NEQ, float64_t, uint8_t>, fun<nm::EW_NEQ, float64_t, int8_t>, fun<nm::EW_NEQ, float64_t, int16_t>, fun<nm::EW_NEQ, float64_t, int32_t>, fun<nm::EW_NEQ, float64_t, int64_t>, fun<nm::EW_NEQ, float64_t, float32_t>, fun<nm::EW_NEQ, float64_t, float64_t>, fun<nm::EW_NEQ, float64_t, nm::Complex64>, fun<nm::EW_NEQ, float64_t, nm::Complex128>, NULL}, \
511
+ {fun<nm::EW_NEQ, nm::Complex64, uint8_t>, fun<nm::EW_NEQ, nm::Complex64, int8_t>, fun<nm::EW_NEQ, nm::Complex64, int16_t>, fun<nm::EW_NEQ, nm::Complex64, int32_t>, fun<nm::EW_NEQ, nm::Complex64, int64_t>, fun<nm::EW_NEQ, nm::Complex64, float32_t>, fun<nm::EW_NEQ, nm::Complex64, float64_t>, fun<nm::EW_NEQ, nm::Complex64, nm::Complex64>, fun<nm::EW_NEQ, nm::Complex64, nm::Complex128>, NULL}, \
512
+ {fun<nm::EW_NEQ, nm::Complex128, uint8_t>, fun<nm::EW_NEQ, nm::Complex128, int8_t>, fun<nm::EW_NEQ, nm::Complex128, int16_t>, fun<nm::EW_NEQ, nm::Complex128, int32_t>, fun<nm::EW_NEQ, nm::Complex128, int64_t>, fun<nm::EW_NEQ, nm::Complex128, float32_t>, fun<nm::EW_NEQ, nm::Complex128, float64_t>, fun<nm::EW_NEQ, nm::Complex128, nm::Complex64>, fun<nm::EW_NEQ, nm::Complex128, nm::Complex128>, NULL}, \
638
513
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_NEQ, nm::RubyObject, nm::RubyObject>}}, \
639
- {{fun<nm::EW_LT, uint8_t, uint8_t>, fun<nm::EW_LT, uint8_t, int8_t>, fun<nm::EW_LT, uint8_t, int16_t>, fun<nm::EW_LT, uint8_t, int32_t>, fun<nm::EW_LT, uint8_t, int64_t>, fun<nm::EW_LT, uint8_t, float32_t>, fun<nm::EW_LT, uint8_t, float64_t>, fun<nm::EW_LT, uint8_t, nm::Complex64>, fun<nm::EW_LT, uint8_t, nm::Complex128>, fun<nm::EW_LT, uint8_t, nm::Rational32>, fun<nm::EW_LT, uint8_t, nm::Rational64>, fun<nm::EW_LT, uint8_t, nm::Rational128>, NULL}, \
640
- {fun<nm::EW_LT, int8_t, uint8_t>, fun<nm::EW_LT, int8_t, int8_t>, fun<nm::EW_LT, int8_t, int16_t>, fun<nm::EW_LT, int8_t, int32_t>, fun<nm::EW_LT, int8_t, int64_t>, fun<nm::EW_LT, int8_t, float32_t>, fun<nm::EW_LT, int8_t, float64_t>, fun<nm::EW_LT, int8_t, nm::Complex64>, fun<nm::EW_LT, int8_t, nm::Complex128>, fun<nm::EW_LT, int8_t, nm::Rational32>, fun<nm::EW_LT, int8_t, nm::Rational64>, fun<nm::EW_LT, int8_t, nm::Rational128>, NULL}, \
641
- {fun<nm::EW_LT, int16_t, uint8_t>, fun<nm::EW_LT, int16_t, int8_t>, fun<nm::EW_LT, int16_t, int16_t>, fun<nm::EW_LT, int16_t, int32_t>, fun<nm::EW_LT, int16_t, int64_t>, fun<nm::EW_LT, int16_t, float32_t>, fun<nm::EW_LT, int16_t, float64_t>, fun<nm::EW_LT, int16_t, nm::Complex64>, fun<nm::EW_LT, int16_t, nm::Complex128>, fun<nm::EW_LT, int16_t, nm::Rational32>, fun<nm::EW_LT, int16_t, nm::Rational64>, fun<nm::EW_LT, int16_t, nm::Rational128>, NULL}, \
642
- {fun<nm::EW_LT, int32_t, uint8_t>, fun<nm::EW_LT, int32_t, int8_t>, fun<nm::EW_LT, int32_t, int16_t>, fun<nm::EW_LT, int32_t, int32_t>, fun<nm::EW_LT, int32_t, int64_t>, fun<nm::EW_LT, int32_t, float32_t>, fun<nm::EW_LT, int32_t, float64_t>, fun<nm::EW_LT, int32_t, nm::Complex64>, fun<nm::EW_LT, int32_t, nm::Complex128>, fun<nm::EW_LT, int32_t, nm::Rational32>, fun<nm::EW_LT, int32_t, nm::Rational64>, fun<nm::EW_LT, int32_t, nm::Rational128>, NULL}, \
643
- {fun<nm::EW_LT, int64_t, uint8_t>, fun<nm::EW_LT, int64_t, int8_t>, fun<nm::EW_LT, int64_t, int16_t>, fun<nm::EW_LT, int64_t, int32_t>, fun<nm::EW_LT, int64_t, int64_t>, fun<nm::EW_LT, int64_t, float32_t>, fun<nm::EW_LT, int64_t, float64_t>, fun<nm::EW_LT, int64_t, nm::Complex64>, fun<nm::EW_LT, int64_t, nm::Complex128>, fun<nm::EW_LT, int64_t, nm::Rational32>, fun<nm::EW_LT, int64_t, nm::Rational64>, fun<nm::EW_LT, int64_t, nm::Rational128>, NULL}, \
644
- {fun<nm::EW_LT, float32_t, uint8_t>, fun<nm::EW_LT, float32_t, int8_t>, fun<nm::EW_LT, float32_t, int16_t>, fun<nm::EW_LT, float32_t, int32_t>, fun<nm::EW_LT, float32_t, int64_t>, fun<nm::EW_LT, float32_t, float32_t>, fun<nm::EW_LT, float32_t, float64_t>, fun<nm::EW_LT, float32_t, nm::Complex64>, fun<nm::EW_LT, float32_t, nm::Complex128>, fun<nm::EW_LT, float32_t, nm::Rational32>, fun<nm::EW_LT, float32_t, nm::Rational64>, fun<nm::EW_LT, float32_t, nm::Rational128>, NULL}, \
645
- {fun<nm::EW_LT, float64_t, uint8_t>, fun<nm::EW_LT, float64_t, int8_t>, fun<nm::EW_LT, float64_t, int16_t>, fun<nm::EW_LT, float64_t, int32_t>, fun<nm::EW_LT, float64_t, int64_t>, fun<nm::EW_LT, float64_t, float32_t>, fun<nm::EW_LT, float64_t, float64_t>, fun<nm::EW_LT, float64_t, nm::Complex64>, fun<nm::EW_LT, float64_t, nm::Complex128>, fun<nm::EW_LT, float64_t, nm::Rational32>, fun<nm::EW_LT, float64_t, nm::Rational64>, fun<nm::EW_LT, float64_t, nm::Rational128>, NULL}, \
646
- {fun<nm::EW_LT, nm::Complex64, uint8_t>, fun<nm::EW_LT, nm::Complex64, int8_t>, fun<nm::EW_LT, nm::Complex64, int16_t>, fun<nm::EW_LT, nm::Complex64, int32_t>, fun<nm::EW_LT, nm::Complex64, int64_t>, fun<nm::EW_LT, nm::Complex64, float32_t>, fun<nm::EW_LT, nm::Complex64, float64_t>, fun<nm::EW_LT, nm::Complex64, nm::Complex64>, fun<nm::EW_LT, nm::Complex64, nm::Complex128>, fun<nm::EW_LT, nm::Complex64, nm::Rational32>, fun<nm::EW_LT, nm::Complex64, nm::Rational64>, fun<nm::EW_LT, nm::Complex64, nm::Rational128>, NULL}, \
647
- {fun<nm::EW_LT, nm::Complex128, uint8_t>, fun<nm::EW_LT, nm::Complex128, int8_t>, fun<nm::EW_LT, nm::Complex128, int16_t>, fun<nm::EW_LT, nm::Complex128, int32_t>, fun<nm::EW_LT, nm::Complex128, int64_t>, fun<nm::EW_LT, nm::Complex128, float32_t>, fun<nm::EW_LT, nm::Complex128, float64_t>, fun<nm::EW_LT, nm::Complex128, nm::Complex64>, fun<nm::EW_LT, nm::Complex128, nm::Complex128>, fun<nm::EW_LT, nm::Complex128, nm::Rational32>, fun<nm::EW_LT, nm::Complex128, nm::Rational64>, fun<nm::EW_LT, nm::Complex128, nm::Rational128>, NULL}, \
648
- {fun<nm::EW_LT, nm::Rational32, uint8_t>, fun<nm::EW_LT, nm::Rational32, int8_t>, fun<nm::EW_LT, nm::Rational32, int16_t>, fun<nm::EW_LT, nm::Rational32, int32_t>, fun<nm::EW_LT, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_LT, nm::Rational32, nm::Rational32>, fun<nm::EW_LT, nm::Rational32, nm::Rational64>, fun<nm::EW_LT, nm::Rational32, nm::Rational128>, NULL}, \
649
- {fun<nm::EW_LT, nm::Rational64, uint8_t>, fun<nm::EW_LT, nm::Rational64, int8_t>, fun<nm::EW_LT, nm::Rational64, int16_t>, fun<nm::EW_LT, nm::Rational64, int32_t>, fun<nm::EW_LT, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_LT, nm::Rational64, nm::Rational32>, fun<nm::EW_LT, nm::Rational64, nm::Rational64>, fun<nm::EW_LT, nm::Rational64, nm::Rational128>, NULL}, \
650
- {fun<nm::EW_LT, nm::Rational128, uint8_t>, fun<nm::EW_LT, nm::Rational128, int8_t>, fun<nm::EW_LT, nm::Rational128, int16_t>, fun<nm::EW_LT, nm::Rational128, int32_t>, fun<nm::EW_LT, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_LT, nm::Rational128, nm::Rational32>, fun<nm::EW_LT, nm::Rational128, nm::Rational64>, fun<nm::EW_LT, nm::Rational128, nm::Rational128>, NULL}, \
514
+ {{fun<nm::EW_LT, uint8_t, uint8_t>, fun<nm::EW_LT, uint8_t, int8_t>, fun<nm::EW_LT, uint8_t, int16_t>, fun<nm::EW_LT, uint8_t, int32_t>, fun<nm::EW_LT, uint8_t, int64_t>, fun<nm::EW_LT, uint8_t, float32_t>, fun<nm::EW_LT, uint8_t, float64_t>, fun<nm::EW_LT, uint8_t, nm::Complex64>, fun<nm::EW_LT, uint8_t, nm::Complex128>, NULL}, \
515
+ {fun<nm::EW_LT, int8_t, uint8_t>, fun<nm::EW_LT, int8_t, int8_t>, fun<nm::EW_LT, int8_t, int16_t>, fun<nm::EW_LT, int8_t, int32_t>, fun<nm::EW_LT, int8_t, int64_t>, fun<nm::EW_LT, int8_t, float32_t>, fun<nm::EW_LT, int8_t, float64_t>, fun<nm::EW_LT, int8_t, nm::Complex64>, fun<nm::EW_LT, int8_t, nm::Complex128>, NULL}, \
516
+ {fun<nm::EW_LT, int16_t, uint8_t>, fun<nm::EW_LT, int16_t, int8_t>, fun<nm::EW_LT, int16_t, int16_t>, fun<nm::EW_LT, int16_t, int32_t>, fun<nm::EW_LT, int16_t, int64_t>, fun<nm::EW_LT, int16_t, float32_t>, fun<nm::EW_LT, int16_t, float64_t>, fun<nm::EW_LT, int16_t, nm::Complex64>, fun<nm::EW_LT, int16_t, nm::Complex128>, NULL}, \
517
+ {fun<nm::EW_LT, int32_t, uint8_t>, fun<nm::EW_LT, int32_t, int8_t>, fun<nm::EW_LT, int32_t, int16_t>, fun<nm::EW_LT, int32_t, int32_t>, fun<nm::EW_LT, int32_t, int64_t>, fun<nm::EW_LT, int32_t, float32_t>, fun<nm::EW_LT, int32_t, float64_t>, fun<nm::EW_LT, int32_t, nm::Complex64>, fun<nm::EW_LT, int32_t, nm::Complex128>, NULL}, \
518
+ {fun<nm::EW_LT, int64_t, uint8_t>, fun<nm::EW_LT, int64_t, int8_t>, fun<nm::EW_LT, int64_t, int16_t>, fun<nm::EW_LT, int64_t, int32_t>, fun<nm::EW_LT, int64_t, int64_t>, fun<nm::EW_LT, int64_t, float32_t>, fun<nm::EW_LT, int64_t, float64_t>, fun<nm::EW_LT, int64_t, nm::Complex64>, fun<nm::EW_LT, int64_t, nm::Complex128>, NULL}, \
519
+ {fun<nm::EW_LT, float32_t, uint8_t>, fun<nm::EW_LT, float32_t, int8_t>, fun<nm::EW_LT, float32_t, int16_t>, fun<nm::EW_LT, float32_t, int32_t>, fun<nm::EW_LT, float32_t, int64_t>, fun<nm::EW_LT, float32_t, float32_t>, fun<nm::EW_LT, float32_t, float64_t>, fun<nm::EW_LT, float32_t, nm::Complex64>, fun<nm::EW_LT, float32_t, nm::Complex128>, NULL}, \
520
+ {fun<nm::EW_LT, float64_t, uint8_t>, fun<nm::EW_LT, float64_t, int8_t>, fun<nm::EW_LT, float64_t, int16_t>, fun<nm::EW_LT, float64_t, int32_t>, fun<nm::EW_LT, float64_t, int64_t>, fun<nm::EW_LT, float64_t, float32_t>, fun<nm::EW_LT, float64_t, float64_t>, fun<nm::EW_LT, float64_t, nm::Complex64>, fun<nm::EW_LT, float64_t, nm::Complex128>, NULL}, \
521
+ {fun<nm::EW_LT, nm::Complex64, uint8_t>, fun<nm::EW_LT, nm::Complex64, int8_t>, fun<nm::EW_LT, nm::Complex64, int16_t>, fun<nm::EW_LT, nm::Complex64, int32_t>, fun<nm::EW_LT, nm::Complex64, int64_t>, fun<nm::EW_LT, nm::Complex64, float32_t>, fun<nm::EW_LT, nm::Complex64, float64_t>, fun<nm::EW_LT, nm::Complex64, nm::Complex64>, fun<nm::EW_LT, nm::Complex64, nm::Complex128>, NULL}, \
522
+ {fun<nm::EW_LT, nm::Complex128, uint8_t>, fun<nm::EW_LT, nm::Complex128, int8_t>, fun<nm::EW_LT, nm::Complex128, int16_t>, fun<nm::EW_LT, nm::Complex128, int32_t>, fun<nm::EW_LT, nm::Complex128, int64_t>, fun<nm::EW_LT, nm::Complex128, float32_t>, fun<nm::EW_LT, nm::Complex128, float64_t>, fun<nm::EW_LT, nm::Complex128, nm::Complex64>, fun<nm::EW_LT, nm::Complex128, nm::Complex128>, NULL}, \
651
523
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_LT, nm::RubyObject, nm::RubyObject>}}, \
652
- {{fun<nm::EW_GT, uint8_t, uint8_t>, fun<nm::EW_GT, uint8_t, int8_t>, fun<nm::EW_GT, uint8_t, int16_t>, fun<nm::EW_GT, uint8_t, int32_t>, fun<nm::EW_GT, uint8_t, int64_t>, fun<nm::EW_GT, uint8_t, float32_t>, fun<nm::EW_GT, uint8_t, float64_t>, fun<nm::EW_GT, uint8_t, nm::Complex64>, fun<nm::EW_GT, uint8_t, nm::Complex128>, fun<nm::EW_GT, uint8_t, nm::Rational32>, fun<nm::EW_GT, uint8_t, nm::Rational64>, fun<nm::EW_GT, uint8_t, nm::Rational128>, NULL}, \
653
- {fun<nm::EW_GT, int8_t, uint8_t>, fun<nm::EW_GT, int8_t, int8_t>, fun<nm::EW_GT, int8_t, int16_t>, fun<nm::EW_GT, int8_t, int32_t>, fun<nm::EW_GT, int8_t, int64_t>, fun<nm::EW_GT, int8_t, float32_t>, fun<nm::EW_GT, int8_t, float64_t>, fun<nm::EW_GT, int8_t, nm::Complex64>, fun<nm::EW_GT, int8_t, nm::Complex128>, fun<nm::EW_GT, int8_t, nm::Rational32>, fun<nm::EW_GT, int8_t, nm::Rational64>, fun<nm::EW_GT, int8_t, nm::Rational128>, NULL}, \
654
- {fun<nm::EW_GT, int16_t, uint8_t>, fun<nm::EW_GT, int16_t, int8_t>, fun<nm::EW_GT, int16_t, int16_t>, fun<nm::EW_GT, int16_t, int32_t>, fun<nm::EW_GT, int16_t, int64_t>, fun<nm::EW_GT, int16_t, float32_t>, fun<nm::EW_GT, int16_t, float64_t>, fun<nm::EW_GT, int16_t, nm::Complex64>, fun<nm::EW_GT, int16_t, nm::Complex128>, fun<nm::EW_GT, int16_t, nm::Rational32>, fun<nm::EW_GT, int16_t, nm::Rational64>, fun<nm::EW_GT, int16_t, nm::Rational128>, NULL}, \
655
- {fun<nm::EW_GT, int32_t, uint8_t>, fun<nm::EW_GT, int32_t, int8_t>, fun<nm::EW_GT, int32_t, int16_t>, fun<nm::EW_GT, int32_t, int32_t>, fun<nm::EW_GT, int32_t, int64_t>, fun<nm::EW_GT, int32_t, float32_t>, fun<nm::EW_GT, int32_t, float64_t>, fun<nm::EW_GT, int32_t, nm::Complex64>, fun<nm::EW_GT, int32_t, nm::Complex128>, fun<nm::EW_GT, int32_t, nm::Rational32>, fun<nm::EW_GT, int32_t, nm::Rational64>, fun<nm::EW_GT, int32_t, nm::Rational128>, NULL}, \
656
- {fun<nm::EW_GT, int64_t, uint8_t>, fun<nm::EW_GT, int64_t, int8_t>, fun<nm::EW_GT, int64_t, int16_t>, fun<nm::EW_GT, int64_t, int32_t>, fun<nm::EW_GT, int64_t, int64_t>, fun<nm::EW_GT, int64_t, float32_t>, fun<nm::EW_GT, int64_t, float64_t>, fun<nm::EW_GT, int64_t, nm::Complex64>, fun<nm::EW_GT, int64_t, nm::Complex128>, fun<nm::EW_GT, int64_t, nm::Rational32>, fun<nm::EW_GT, int64_t, nm::Rational64>, fun<nm::EW_GT, int64_t, nm::Rational128>, NULL}, \
657
- {fun<nm::EW_GT, float32_t, uint8_t>, fun<nm::EW_GT, float32_t, int8_t>, fun<nm::EW_GT, float32_t, int16_t>, fun<nm::EW_GT, float32_t, int32_t>, fun<nm::EW_GT, float32_t, int64_t>, fun<nm::EW_GT, float32_t, float32_t>, fun<nm::EW_GT, float32_t, float64_t>, fun<nm::EW_GT, float32_t, nm::Complex64>, fun<nm::EW_GT, float32_t, nm::Complex128>, fun<nm::EW_GT, float32_t, nm::Rational32>, fun<nm::EW_GT, float32_t, nm::Rational64>, fun<nm::EW_GT, float32_t, nm::Rational128>, NULL}, \
658
- {fun<nm::EW_GT, float64_t, uint8_t>, fun<nm::EW_GT, float64_t, int8_t>, fun<nm::EW_GT, float64_t, int16_t>, fun<nm::EW_GT, float64_t, int32_t>, fun<nm::EW_GT, float64_t, int64_t>, fun<nm::EW_GT, float64_t, float32_t>, fun<nm::EW_GT, float64_t, float64_t>, fun<nm::EW_GT, float64_t, nm::Complex64>, fun<nm::EW_GT, float64_t, nm::Complex128>, fun<nm::EW_GT, float64_t, nm::Rational32>, fun<nm::EW_GT, float64_t, nm::Rational64>, fun<nm::EW_GT, float64_t, nm::Rational128>, NULL}, \
659
- {fun<nm::EW_GT, nm::Complex64, uint8_t>, fun<nm::EW_GT, nm::Complex64, int8_t>, fun<nm::EW_GT, nm::Complex64, int16_t>, fun<nm::EW_GT, nm::Complex64, int32_t>, fun<nm::EW_GT, nm::Complex64, int64_t>, fun<nm::EW_GT, nm::Complex64, float32_t>, fun<nm::EW_GT, nm::Complex64, float64_t>, fun<nm::EW_GT, nm::Complex64, nm::Complex64>, fun<nm::EW_GT, nm::Complex64, nm::Complex128>, fun<nm::EW_GT, nm::Complex64, nm::Rational32>, fun<nm::EW_GT, nm::Complex64, nm::Rational64>, fun<nm::EW_GT, nm::Complex64, nm::Rational128>, NULL}, \
660
- {fun<nm::EW_GT, nm::Complex128, uint8_t>, fun<nm::EW_GT, nm::Complex128, int8_t>, fun<nm::EW_GT, nm::Complex128, int16_t>, fun<nm::EW_GT, nm::Complex128, int32_t>, fun<nm::EW_GT, nm::Complex128, int64_t>, fun<nm::EW_GT, nm::Complex128, float32_t>, fun<nm::EW_GT, nm::Complex128, float64_t>, fun<nm::EW_GT, nm::Complex128, nm::Complex64>, fun<nm::EW_GT, nm::Complex128, nm::Complex128>, fun<nm::EW_GT, nm::Complex128, nm::Rational32>, fun<nm::EW_GT, nm::Complex128, nm::Rational64>, fun<nm::EW_GT, nm::Complex128, nm::Rational128>, NULL}, \
661
- {fun<nm::EW_GT, nm::Rational32, uint8_t>, fun<nm::EW_GT, nm::Rational32, int8_t>, fun<nm::EW_GT, nm::Rational32, int16_t>, fun<nm::EW_GT, nm::Rational32, int32_t>, fun<nm::EW_GT, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_GT, nm::Rational32, nm::Rational32>, fun<nm::EW_GT, nm::Rational32, nm::Rational64>, fun<nm::EW_GT, nm::Rational32, nm::Rational128>, NULL}, \
662
- {fun<nm::EW_GT, nm::Rational64, uint8_t>, fun<nm::EW_GT, nm::Rational64, int8_t>, fun<nm::EW_GT, nm::Rational64, int16_t>, fun<nm::EW_GT, nm::Rational64, int32_t>, fun<nm::EW_GT, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_GT, nm::Rational64, nm::Rational32>, fun<nm::EW_GT, nm::Rational64, nm::Rational64>, fun<nm::EW_GT, nm::Rational64, nm::Rational128>, NULL}, \
663
- {fun<nm::EW_GT, nm::Rational128, uint8_t>, fun<nm::EW_GT, nm::Rational128, int8_t>, fun<nm::EW_GT, nm::Rational128, int16_t>, fun<nm::EW_GT, nm::Rational128, int32_t>, fun<nm::EW_GT, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_GT, nm::Rational128, nm::Rational32>, fun<nm::EW_GT, nm::Rational128, nm::Rational64>, fun<nm::EW_GT, nm::Rational128, nm::Rational128>, NULL}, \
524
+ {{fun<nm::EW_GT, uint8_t, uint8_t>, fun<nm::EW_GT, uint8_t, int8_t>, fun<nm::EW_GT, uint8_t, int16_t>, fun<nm::EW_GT, uint8_t, int32_t>, fun<nm::EW_GT, uint8_t, int64_t>, fun<nm::EW_GT, uint8_t, float32_t>, fun<nm::EW_GT, uint8_t, float64_t>, fun<nm::EW_GT, uint8_t, nm::Complex64>, fun<nm::EW_GT, uint8_t, nm::Complex128>, NULL}, \
525
+ {fun<nm::EW_GT, int8_t, uint8_t>, fun<nm::EW_GT, int8_t, int8_t>, fun<nm::EW_GT, int8_t, int16_t>, fun<nm::EW_GT, int8_t, int32_t>, fun<nm::EW_GT, int8_t, int64_t>, fun<nm::EW_GT, int8_t, float32_t>, fun<nm::EW_GT, int8_t, float64_t>, fun<nm::EW_GT, int8_t, nm::Complex64>, fun<nm::EW_GT, int8_t, nm::Complex128>, NULL}, \
526
+ {fun<nm::EW_GT, int16_t, uint8_t>, fun<nm::EW_GT, int16_t, int8_t>, fun<nm::EW_GT, int16_t, int16_t>, fun<nm::EW_GT, int16_t, int32_t>, fun<nm::EW_GT, int16_t, int64_t>, fun<nm::EW_GT, int16_t, float32_t>, fun<nm::EW_GT, int16_t, float64_t>, fun<nm::EW_GT, int16_t, nm::Complex64>, fun<nm::EW_GT, int16_t, nm::Complex128>, NULL}, \
527
+ {fun<nm::EW_GT, int32_t, uint8_t>, fun<nm::EW_GT, int32_t, int8_t>, fun<nm::EW_GT, int32_t, int16_t>, fun<nm::EW_GT, int32_t, int32_t>, fun<nm::EW_GT, int32_t, int64_t>, fun<nm::EW_GT, int32_t, float32_t>, fun<nm::EW_GT, int32_t, float64_t>, fun<nm::EW_GT, int32_t, nm::Complex64>, fun<nm::EW_GT, int32_t, nm::Complex128>, NULL}, \
528
+ {fun<nm::EW_GT, int64_t, uint8_t>, fun<nm::EW_GT, int64_t, int8_t>, fun<nm::EW_GT, int64_t, int16_t>, fun<nm::EW_GT, int64_t, int32_t>, fun<nm::EW_GT, int64_t, int64_t>, fun<nm::EW_GT, int64_t, float32_t>, fun<nm::EW_GT, int64_t, float64_t>, fun<nm::EW_GT, int64_t, nm::Complex64>, fun<nm::EW_GT, int64_t, nm::Complex128>, NULL}, \
529
+ {fun<nm::EW_GT, float32_t, uint8_t>, fun<nm::EW_GT, float32_t, int8_t>, fun<nm::EW_GT, float32_t, int16_t>, fun<nm::EW_GT, float32_t, int32_t>, fun<nm::EW_GT, float32_t, int64_t>, fun<nm::EW_GT, float32_t, float32_t>, fun<nm::EW_GT, float32_t, float64_t>, fun<nm::EW_GT, float32_t, nm::Complex64>, fun<nm::EW_GT, float32_t, nm::Complex128>, NULL}, \
530
+ {fun<nm::EW_GT, float64_t, uint8_t>, fun<nm::EW_GT, float64_t, int8_t>, fun<nm::EW_GT, float64_t, int16_t>, fun<nm::EW_GT, float64_t, int32_t>, fun<nm::EW_GT, float64_t, int64_t>, fun<nm::EW_GT, float64_t, float32_t>, fun<nm::EW_GT, float64_t, float64_t>, fun<nm::EW_GT, float64_t, nm::Complex64>, fun<nm::EW_GT, float64_t, nm::Complex128>, NULL}, \
531
+ {fun<nm::EW_GT, nm::Complex64, uint8_t>, fun<nm::EW_GT, nm::Complex64, int8_t>, fun<nm::EW_GT, nm::Complex64, int16_t>, fun<nm::EW_GT, nm::Complex64, int32_t>, fun<nm::EW_GT, nm::Complex64, int64_t>, fun<nm::EW_GT, nm::Complex64, float32_t>, fun<nm::EW_GT, nm::Complex64, float64_t>, fun<nm::EW_GT, nm::Complex64, nm::Complex64>, fun<nm::EW_GT, nm::Complex64, nm::Complex128>, NULL}, \
532
+ {fun<nm::EW_GT, nm::Complex128, uint8_t>, fun<nm::EW_GT, nm::Complex128, int8_t>, fun<nm::EW_GT, nm::Complex128, int16_t>, fun<nm::EW_GT, nm::Complex128, int32_t>, fun<nm::EW_GT, nm::Complex128, int64_t>, fun<nm::EW_GT, nm::Complex128, float32_t>, fun<nm::EW_GT, nm::Complex128, float64_t>, fun<nm::EW_GT, nm::Complex128, nm::Complex64>, fun<nm::EW_GT, nm::Complex128, nm::Complex128>, NULL}, \
664
533
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_GT, nm::RubyObject, nm::RubyObject>}}, \
665
- {{fun<nm::EW_LEQ, uint8_t, uint8_t>, fun<nm::EW_LEQ, uint8_t, int8_t>, fun<nm::EW_LEQ, uint8_t, int16_t>, fun<nm::EW_LEQ, uint8_t, int32_t>, fun<nm::EW_LEQ, uint8_t, int64_t>, fun<nm::EW_LEQ, uint8_t, float32_t>, fun<nm::EW_LEQ, uint8_t, float64_t>, fun<nm::EW_LEQ, uint8_t, nm::Complex64>, fun<nm::EW_LEQ, uint8_t, nm::Complex128>, fun<nm::EW_LEQ, uint8_t, nm::Rational32>, fun<nm::EW_LEQ, uint8_t, nm::Rational64>, fun<nm::EW_LEQ, uint8_t, nm::Rational128>, NULL}, \
666
- {fun<nm::EW_LEQ, int8_t, uint8_t>, fun<nm::EW_LEQ, int8_t, int8_t>, fun<nm::EW_LEQ, int8_t, int16_t>, fun<nm::EW_LEQ, int8_t, int32_t>, fun<nm::EW_LEQ, int8_t, int64_t>, fun<nm::EW_LEQ, int8_t, float32_t>, fun<nm::EW_LEQ, int8_t, float64_t>, fun<nm::EW_LEQ, int8_t, nm::Complex64>, fun<nm::EW_LEQ, int8_t, nm::Complex128>, fun<nm::EW_LEQ, int8_t, nm::Rational32>, fun<nm::EW_LEQ, int8_t, nm::Rational64>, fun<nm::EW_LEQ, int8_t, nm::Rational128>, NULL}, \
667
- {fun<nm::EW_LEQ, int16_t, uint8_t>, fun<nm::EW_LEQ, int16_t, int8_t>, fun<nm::EW_LEQ, int16_t, int16_t>, fun<nm::EW_LEQ, int16_t, int32_t>, fun<nm::EW_LEQ, int16_t, int64_t>, fun<nm::EW_LEQ, int16_t, float32_t>, fun<nm::EW_LEQ, int16_t, float64_t>, fun<nm::EW_LEQ, int16_t, nm::Complex64>, fun<nm::EW_LEQ, int16_t, nm::Complex128>, fun<nm::EW_LEQ, int16_t, nm::Rational32>, fun<nm::EW_LEQ, int16_t, nm::Rational64>, fun<nm::EW_LEQ, int16_t, nm::Rational128>, NULL}, \
668
- {fun<nm::EW_LEQ, int32_t, uint8_t>, fun<nm::EW_LEQ, int32_t, int8_t>, fun<nm::EW_LEQ, int32_t, int16_t>, fun<nm::EW_LEQ, int32_t, int32_t>, fun<nm::EW_LEQ, int32_t, int64_t>, fun<nm::EW_LEQ, int32_t, float32_t>, fun<nm::EW_LEQ, int32_t, float64_t>, fun<nm::EW_LEQ, int32_t, nm::Complex64>, fun<nm::EW_LEQ, int32_t, nm::Complex128>, fun<nm::EW_LEQ, int32_t, nm::Rational32>, fun<nm::EW_LEQ, int32_t, nm::Rational64>, fun<nm::EW_LEQ, int32_t, nm::Rational128>, NULL}, \
669
- {fun<nm::EW_LEQ, int64_t, uint8_t>, fun<nm::EW_LEQ, int64_t, int8_t>, fun<nm::EW_LEQ, int64_t, int16_t>, fun<nm::EW_LEQ, int64_t, int32_t>, fun<nm::EW_LEQ, int64_t, int64_t>, fun<nm::EW_LEQ, int64_t, float32_t>, fun<nm::EW_LEQ, int64_t, float64_t>, fun<nm::EW_LEQ, int64_t, nm::Complex64>, fun<nm::EW_LEQ, int64_t, nm::Complex128>, fun<nm::EW_LEQ, int64_t, nm::Rational32>, fun<nm::EW_LEQ, int64_t, nm::Rational64>, fun<nm::EW_LEQ, int64_t, nm::Rational128>, NULL}, \
670
- {fun<nm::EW_LEQ, float32_t, uint8_t>, fun<nm::EW_LEQ, float32_t, int8_t>, fun<nm::EW_LEQ, float32_t, int16_t>, fun<nm::EW_LEQ, float32_t, int32_t>, fun<nm::EW_LEQ, float32_t, int64_t>, fun<nm::EW_LEQ, float32_t, float32_t>, fun<nm::EW_LEQ, float32_t, float64_t>, fun<nm::EW_LEQ, float32_t, nm::Complex64>, fun<nm::EW_LEQ, float32_t, nm::Complex128>, fun<nm::EW_LEQ, float32_t, nm::Rational32>, fun<nm::EW_LEQ, float32_t, nm::Rational64>, fun<nm::EW_LEQ, float32_t, nm::Rational128>, NULL}, \
671
- {fun<nm::EW_LEQ, float64_t, uint8_t>, fun<nm::EW_LEQ, float64_t, int8_t>, fun<nm::EW_LEQ, float64_t, int16_t>, fun<nm::EW_LEQ, float64_t, int32_t>, fun<nm::EW_LEQ, float64_t, int64_t>, fun<nm::EW_LEQ, float64_t, float32_t>, fun<nm::EW_LEQ, float64_t, float64_t>, fun<nm::EW_LEQ, float64_t, nm::Complex64>, fun<nm::EW_LEQ, float64_t, nm::Complex128>, fun<nm::EW_LEQ, float64_t, nm::Rational32>, fun<nm::EW_LEQ, float64_t, nm::Rational64>, fun<nm::EW_LEQ, float64_t, nm::Rational128>, NULL}, \
672
- {fun<nm::EW_LEQ, nm::Complex64, uint8_t>, fun<nm::EW_LEQ, nm::Complex64, int8_t>, fun<nm::EW_LEQ, nm::Complex64, int16_t>, fun<nm::EW_LEQ, nm::Complex64, int32_t>, fun<nm::EW_LEQ, nm::Complex64, int64_t>, fun<nm::EW_LEQ, nm::Complex64, float32_t>, fun<nm::EW_LEQ, nm::Complex64, float64_t>, fun<nm::EW_LEQ, nm::Complex64, nm::Complex64>, fun<nm::EW_LEQ, nm::Complex64, nm::Complex128>, fun<nm::EW_LEQ, nm::Complex64, nm::Rational32>, fun<nm::EW_LEQ, nm::Complex64, nm::Rational64>, fun<nm::EW_LEQ, nm::Complex64, nm::Rational128>, NULL}, \
673
- {fun<nm::EW_LEQ, nm::Complex128, uint8_t>, fun<nm::EW_LEQ, nm::Complex128, int8_t>, fun<nm::EW_LEQ, nm::Complex128, int16_t>, fun<nm::EW_LEQ, nm::Complex128, int32_t>, fun<nm::EW_LEQ, nm::Complex128, int64_t>, fun<nm::EW_LEQ, nm::Complex128, float32_t>, fun<nm::EW_LEQ, nm::Complex128, float64_t>, fun<nm::EW_LEQ, nm::Complex128, nm::Complex64>, fun<nm::EW_LEQ, nm::Complex128, nm::Complex128>, fun<nm::EW_LEQ, nm::Complex128, nm::Rational32>, fun<nm::EW_LEQ, nm::Complex128, nm::Rational64>, fun<nm::EW_LEQ, nm::Complex128, nm::Rational128>, NULL}, \
674
- {fun<nm::EW_LEQ, nm::Rational32, uint8_t>, fun<nm::EW_LEQ, nm::Rational32, int8_t>, fun<nm::EW_LEQ, nm::Rational32, int16_t>, fun<nm::EW_LEQ, nm::Rational32, int32_t>, fun<nm::EW_LEQ, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_LEQ, nm::Rational32, nm::Rational32>, fun<nm::EW_LEQ, nm::Rational32, nm::Rational64>, fun<nm::EW_LEQ, nm::Rational32, nm::Rational128>, NULL}, \
675
- {fun<nm::EW_LEQ, nm::Rational64, uint8_t>, fun<nm::EW_LEQ, nm::Rational64, int8_t>, fun<nm::EW_LEQ, nm::Rational64, int16_t>, fun<nm::EW_LEQ, nm::Rational64, int32_t>, fun<nm::EW_LEQ, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_LEQ, nm::Rational64, nm::Rational32>, fun<nm::EW_LEQ, nm::Rational64, nm::Rational64>, fun<nm::EW_LEQ, nm::Rational64, nm::Rational128>, NULL}, \
676
- {fun<nm::EW_LEQ, nm::Rational128, uint8_t>, fun<nm::EW_LEQ, nm::Rational128, int8_t>, fun<nm::EW_LEQ, nm::Rational128, int16_t>, fun<nm::EW_LEQ, nm::Rational128, int32_t>, fun<nm::EW_LEQ, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_LEQ, nm::Rational128, nm::Rational32>, fun<nm::EW_LEQ, nm::Rational128, nm::Rational64>, fun<nm::EW_LEQ, nm::Rational128, nm::Rational128>, NULL}, \
534
+ {{fun<nm::EW_LEQ, uint8_t, uint8_t>, fun<nm::EW_LEQ, uint8_t, int8_t>, fun<nm::EW_LEQ, uint8_t, int16_t>, fun<nm::EW_LEQ, uint8_t, int32_t>, fun<nm::EW_LEQ, uint8_t, int64_t>, fun<nm::EW_LEQ, uint8_t, float32_t>, fun<nm::EW_LEQ, uint8_t, float64_t>, fun<nm::EW_LEQ, uint8_t, nm::Complex64>, fun<nm::EW_LEQ, uint8_t, nm::Complex128>, NULL}, \
535
+ {fun<nm::EW_LEQ, int8_t, uint8_t>, fun<nm::EW_LEQ, int8_t, int8_t>, fun<nm::EW_LEQ, int8_t, int16_t>, fun<nm::EW_LEQ, int8_t, int32_t>, fun<nm::EW_LEQ, int8_t, int64_t>, fun<nm::EW_LEQ, int8_t, float32_t>, fun<nm::EW_LEQ, int8_t, float64_t>, fun<nm::EW_LEQ, int8_t, nm::Complex64>, fun<nm::EW_LEQ, int8_t, nm::Complex128>, NULL}, \
536
+ {fun<nm::EW_LEQ, int16_t, uint8_t>, fun<nm::EW_LEQ, int16_t, int8_t>, fun<nm::EW_LEQ, int16_t, int16_t>, fun<nm::EW_LEQ, int16_t, int32_t>, fun<nm::EW_LEQ, int16_t, int64_t>, fun<nm::EW_LEQ, int16_t, float32_t>, fun<nm::EW_LEQ, int16_t, float64_t>, fun<nm::EW_LEQ, int16_t, nm::Complex64>, fun<nm::EW_LEQ, int16_t, nm::Complex128>, NULL}, \
537
+ {fun<nm::EW_LEQ, int32_t, uint8_t>, fun<nm::EW_LEQ, int32_t, int8_t>, fun<nm::EW_LEQ, int32_t, int16_t>, fun<nm::EW_LEQ, int32_t, int32_t>, fun<nm::EW_LEQ, int32_t, int64_t>, fun<nm::EW_LEQ, int32_t, float32_t>, fun<nm::EW_LEQ, int32_t, float64_t>, fun<nm::EW_LEQ, int32_t, nm::Complex64>, fun<nm::EW_LEQ, int32_t, nm::Complex128>, NULL}, \
538
+ {fun<nm::EW_LEQ, int64_t, uint8_t>, fun<nm::EW_LEQ, int64_t, int8_t>, fun<nm::EW_LEQ, int64_t, int16_t>, fun<nm::EW_LEQ, int64_t, int32_t>, fun<nm::EW_LEQ, int64_t, int64_t>, fun<nm::EW_LEQ, int64_t, float32_t>, fun<nm::EW_LEQ, int64_t, float64_t>, fun<nm::EW_LEQ, int64_t, nm::Complex64>, fun<nm::EW_LEQ, int64_t, nm::Complex128>, NULL}, \
539
+ {fun<nm::EW_LEQ, float32_t, uint8_t>, fun<nm::EW_LEQ, float32_t, int8_t>, fun<nm::EW_LEQ, float32_t, int16_t>, fun<nm::EW_LEQ, float32_t, int32_t>, fun<nm::EW_LEQ, float32_t, int64_t>, fun<nm::EW_LEQ, float32_t, float32_t>, fun<nm::EW_LEQ, float32_t, float64_t>, fun<nm::EW_LEQ, float32_t, nm::Complex64>, fun<nm::EW_LEQ, float32_t, nm::Complex128>, NULL}, \
540
+ {fun<nm::EW_LEQ, float64_t, uint8_t>, fun<nm::EW_LEQ, float64_t, int8_t>, fun<nm::EW_LEQ, float64_t, int16_t>, fun<nm::EW_LEQ, float64_t, int32_t>, fun<nm::EW_LEQ, float64_t, int64_t>, fun<nm::EW_LEQ, float64_t, float32_t>, fun<nm::EW_LEQ, float64_t, float64_t>, fun<nm::EW_LEQ, float64_t, nm::Complex64>, fun<nm::EW_LEQ, float64_t, nm::Complex128>, NULL}, \
541
+ {fun<nm::EW_LEQ, nm::Complex64, uint8_t>, fun<nm::EW_LEQ, nm::Complex64, int8_t>, fun<nm::EW_LEQ, nm::Complex64, int16_t>, fun<nm::EW_LEQ, nm::Complex64, int32_t>, fun<nm::EW_LEQ, nm::Complex64, int64_t>, fun<nm::EW_LEQ, nm::Complex64, float32_t>, fun<nm::EW_LEQ, nm::Complex64, float64_t>, fun<nm::EW_LEQ, nm::Complex64, nm::Complex64>, fun<nm::EW_LEQ, nm::Complex64, nm::Complex128>, NULL}, \
542
+ {fun<nm::EW_LEQ, nm::Complex128, uint8_t>, fun<nm::EW_LEQ, nm::Complex128, int8_t>, fun<nm::EW_LEQ, nm::Complex128, int16_t>, fun<nm::EW_LEQ, nm::Complex128, int32_t>, fun<nm::EW_LEQ, nm::Complex128, int64_t>, fun<nm::EW_LEQ, nm::Complex128, float32_t>, fun<nm::EW_LEQ, nm::Complex128, float64_t>, fun<nm::EW_LEQ, nm::Complex128, nm::Complex64>, fun<nm::EW_LEQ, nm::Complex128, nm::Complex128>, NULL}, \
677
543
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_LEQ, nm::RubyObject, nm::RubyObject>}}, \
678
- {{fun<nm::EW_GEQ, uint8_t, uint8_t>, fun<nm::EW_GEQ, uint8_t, int8_t>, fun<nm::EW_GEQ, uint8_t, int16_t>, fun<nm::EW_GEQ, uint8_t, int32_t>, fun<nm::EW_GEQ, uint8_t, int64_t>, fun<nm::EW_GEQ, uint8_t, float32_t>, fun<nm::EW_GEQ, uint8_t, float64_t>, fun<nm::EW_GEQ, uint8_t, nm::Complex64>, fun<nm::EW_GEQ, uint8_t, nm::Complex128>, fun<nm::EW_GEQ, uint8_t, nm::Rational32>, fun<nm::EW_GEQ, uint8_t, nm::Rational64>, fun<nm::EW_GEQ, uint8_t, nm::Rational128>, NULL}, \
679
- {fun<nm::EW_GEQ, int8_t, uint8_t>, fun<nm::EW_GEQ, int8_t, int8_t>, fun<nm::EW_GEQ, int8_t, int16_t>, fun<nm::EW_GEQ, int8_t, int32_t>, fun<nm::EW_GEQ, int8_t, int64_t>, fun<nm::EW_GEQ, int8_t, float32_t>, fun<nm::EW_GEQ, int8_t, float64_t>, fun<nm::EW_GEQ, int8_t, nm::Complex64>, fun<nm::EW_GEQ, int8_t, nm::Complex128>, fun<nm::EW_GEQ, int8_t, nm::Rational32>, fun<nm::EW_GEQ, int8_t, nm::Rational64>, fun<nm::EW_GEQ, int8_t, nm::Rational128>, NULL}, \
680
- {fun<nm::EW_GEQ, int16_t, uint8_t>, fun<nm::EW_GEQ, int16_t, int8_t>, fun<nm::EW_GEQ, int16_t, int16_t>, fun<nm::EW_GEQ, int16_t, int32_t>, fun<nm::EW_GEQ, int16_t, int64_t>, fun<nm::EW_GEQ, int16_t, float32_t>, fun<nm::EW_GEQ, int16_t, float64_t>, fun<nm::EW_GEQ, int16_t, nm::Complex64>, fun<nm::EW_GEQ, int16_t, nm::Complex128>, fun<nm::EW_GEQ, int16_t, nm::Rational32>, fun<nm::EW_GEQ, int16_t, nm::Rational64>, fun<nm::EW_GEQ, int16_t, nm::Rational128>, NULL}, \
681
- {fun<nm::EW_GEQ, int32_t, uint8_t>, fun<nm::EW_GEQ, int32_t, int8_t>, fun<nm::EW_GEQ, int32_t, int16_t>, fun<nm::EW_GEQ, int32_t, int32_t>, fun<nm::EW_GEQ, int32_t, int64_t>, fun<nm::EW_GEQ, int32_t, float32_t>, fun<nm::EW_GEQ, int32_t, float64_t>, fun<nm::EW_GEQ, int32_t, nm::Complex64>, fun<nm::EW_GEQ, int32_t, nm::Complex128>, fun<nm::EW_GEQ, int32_t, nm::Rational32>, fun<nm::EW_GEQ, int32_t, nm::Rational64>, fun<nm::EW_GEQ, int32_t, nm::Rational128>, NULL}, \
682
- {fun<nm::EW_GEQ, int64_t, uint8_t>, fun<nm::EW_GEQ, int64_t, int8_t>, fun<nm::EW_GEQ, int64_t, int16_t>, fun<nm::EW_GEQ, int64_t, int32_t>, fun<nm::EW_GEQ, int64_t, int64_t>, fun<nm::EW_GEQ, int64_t, float32_t>, fun<nm::EW_GEQ, int64_t, float64_t>, fun<nm::EW_GEQ, int64_t, nm::Complex64>, fun<nm::EW_GEQ, int64_t, nm::Complex128>, fun<nm::EW_GEQ, int64_t, nm::Rational32>, fun<nm::EW_GEQ, int64_t, nm::Rational64>, fun<nm::EW_GEQ, int64_t, nm::Rational128>, NULL}, \
683
- {fun<nm::EW_GEQ, float32_t, uint8_t>, fun<nm::EW_GEQ, float32_t, int8_t>, fun<nm::EW_GEQ, float32_t, int16_t>, fun<nm::EW_GEQ, float32_t, int32_t>, fun<nm::EW_GEQ, float32_t, int64_t>, fun<nm::EW_GEQ, float32_t, float32_t>, fun<nm::EW_GEQ, float32_t, float64_t>, fun<nm::EW_GEQ, float32_t, nm::Complex64>, fun<nm::EW_GEQ, float32_t, nm::Complex128>, fun<nm::EW_GEQ, float32_t, nm::Rational32>, fun<nm::EW_GEQ, float32_t, nm::Rational64>, fun<nm::EW_GEQ, float32_t, nm::Rational128>, NULL}, \
684
- {fun<nm::EW_GEQ, float64_t, uint8_t>, fun<nm::EW_GEQ, float64_t, int8_t>, fun<nm::EW_GEQ, float64_t, int16_t>, fun<nm::EW_GEQ, float64_t, int32_t>, fun<nm::EW_GEQ, float64_t, int64_t>, fun<nm::EW_GEQ, float64_t, float32_t>, fun<nm::EW_GEQ, float64_t, float64_t>, fun<nm::EW_GEQ, float64_t, nm::Complex64>, fun<nm::EW_GEQ, float64_t, nm::Complex128>, fun<nm::EW_GEQ, float64_t, nm::Rational32>, fun<nm::EW_GEQ, float64_t, nm::Rational64>, fun<nm::EW_GEQ, float64_t, nm::Rational128>, NULL}, \
685
- {fun<nm::EW_GEQ, nm::Complex64, uint8_t>, fun<nm::EW_GEQ, nm::Complex64, int8_t>, fun<nm::EW_GEQ, nm::Complex64, int16_t>, fun<nm::EW_GEQ, nm::Complex64, int32_t>, fun<nm::EW_GEQ, nm::Complex64, int64_t>, fun<nm::EW_GEQ, nm::Complex64, float32_t>, fun<nm::EW_GEQ, nm::Complex64, float64_t>, fun<nm::EW_GEQ, nm::Complex64, nm::Complex64>, fun<nm::EW_GEQ, nm::Complex64, nm::Complex128>, fun<nm::EW_GEQ, nm::Complex64, nm::Rational32>, fun<nm::EW_GEQ, nm::Complex64, nm::Rational64>, fun<nm::EW_GEQ, nm::Complex64, nm::Rational128>, NULL}, \
686
- {fun<nm::EW_GEQ, nm::Complex128, uint8_t>, fun<nm::EW_GEQ, nm::Complex128, int8_t>, fun<nm::EW_GEQ, nm::Complex128, int16_t>, fun<nm::EW_GEQ, nm::Complex128, int32_t>, fun<nm::EW_GEQ, nm::Complex128, int64_t>, fun<nm::EW_GEQ, nm::Complex128, float32_t>, fun<nm::EW_GEQ, nm::Complex128, float64_t>, fun<nm::EW_GEQ, nm::Complex128, nm::Complex64>, fun<nm::EW_GEQ, nm::Complex128, nm::Complex128>, fun<nm::EW_GEQ, nm::Complex128, nm::Rational32>, fun<nm::EW_GEQ, nm::Complex128, nm::Rational64>, fun<nm::EW_GEQ, nm::Complex128, nm::Rational128>, NULL}, \
687
- {fun<nm::EW_GEQ, nm::Rational32, uint8_t>, fun<nm::EW_GEQ, nm::Rational32, int8_t>, fun<nm::EW_GEQ, nm::Rational32, int16_t>, fun<nm::EW_GEQ, nm::Rational32, int32_t>, fun<nm::EW_GEQ, nm::Rational32, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_GEQ, nm::Rational32, nm::Rational32>, fun<nm::EW_GEQ, nm::Rational32, nm::Rational64>, fun<nm::EW_GEQ, nm::Rational32, nm::Rational128>, NULL}, \
688
- {fun<nm::EW_GEQ, nm::Rational64, uint8_t>, fun<nm::EW_GEQ, nm::Rational64, int8_t>, fun<nm::EW_GEQ, nm::Rational64, int16_t>, fun<nm::EW_GEQ, nm::Rational64, int32_t>, fun<nm::EW_GEQ, nm::Rational64, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_GEQ, nm::Rational64, nm::Rational32>, fun<nm::EW_GEQ, nm::Rational64, nm::Rational64>, fun<nm::EW_GEQ, nm::Rational64, nm::Rational128>, NULL}, \
689
- {fun<nm::EW_GEQ, nm::Rational128, uint8_t>, fun<nm::EW_GEQ, nm::Rational128, int8_t>, fun<nm::EW_GEQ, nm::Rational128, int16_t>, fun<nm::EW_GEQ, nm::Rational128, int32_t>, fun<nm::EW_GEQ, nm::Rational128, int64_t>, NULL, NULL, NULL, NULL, fun<nm::EW_GEQ, nm::Rational128, nm::Rational32>, fun<nm::EW_GEQ, nm::Rational128, nm::Rational64>, fun<nm::EW_GEQ, nm::Rational128, nm::Rational128>, NULL}, \
544
+ {{fun<nm::EW_GEQ, uint8_t, uint8_t>, fun<nm::EW_GEQ, uint8_t, int8_t>, fun<nm::EW_GEQ, uint8_t, int16_t>, fun<nm::EW_GEQ, uint8_t, int32_t>, fun<nm::EW_GEQ, uint8_t, int64_t>, fun<nm::EW_GEQ, uint8_t, float32_t>, fun<nm::EW_GEQ, uint8_t, float64_t>, fun<nm::EW_GEQ, uint8_t, nm::Complex64>, fun<nm::EW_GEQ, uint8_t, nm::Complex128>, NULL}, \
545
+ {fun<nm::EW_GEQ, int8_t, uint8_t>, fun<nm::EW_GEQ, int8_t, int8_t>, fun<nm::EW_GEQ, int8_t, int16_t>, fun<nm::EW_GEQ, int8_t, int32_t>, fun<nm::EW_GEQ, int8_t, int64_t>, fun<nm::EW_GEQ, int8_t, float32_t>, fun<nm::EW_GEQ, int8_t, float64_t>, fun<nm::EW_GEQ, int8_t, nm::Complex64>, fun<nm::EW_GEQ, int8_t, nm::Complex128>, NULL}, \
546
+ {fun<nm::EW_GEQ, int16_t, uint8_t>, fun<nm::EW_GEQ, int16_t, int8_t>, fun<nm::EW_GEQ, int16_t, int16_t>, fun<nm::EW_GEQ, int16_t, int32_t>, fun<nm::EW_GEQ, int16_t, int64_t>, fun<nm::EW_GEQ, int16_t, float32_t>, fun<nm::EW_GEQ, int16_t, float64_t>, fun<nm::EW_GEQ, int16_t, nm::Complex64>, fun<nm::EW_GEQ, int16_t, nm::Complex128>, NULL}, \
547
+ {fun<nm::EW_GEQ, int32_t, uint8_t>, fun<nm::EW_GEQ, int32_t, int8_t>, fun<nm::EW_GEQ, int32_t, int16_t>, fun<nm::EW_GEQ, int32_t, int32_t>, fun<nm::EW_GEQ, int32_t, int64_t>, fun<nm::EW_GEQ, int32_t, float32_t>, fun<nm::EW_GEQ, int32_t, float64_t>, fun<nm::EW_GEQ, int32_t, nm::Complex64>, fun<nm::EW_GEQ, int32_t, nm::Complex128>, NULL}, \
548
+ {fun<nm::EW_GEQ, int64_t, uint8_t>, fun<nm::EW_GEQ, int64_t, int8_t>, fun<nm::EW_GEQ, int64_t, int16_t>, fun<nm::EW_GEQ, int64_t, int32_t>, fun<nm::EW_GEQ, int64_t, int64_t>, fun<nm::EW_GEQ, int64_t, float32_t>, fun<nm::EW_GEQ, int64_t, float64_t>, fun<nm::EW_GEQ, int64_t, nm::Complex64>, fun<nm::EW_GEQ, int64_t, nm::Complex128>, NULL}, \
549
+ {fun<nm::EW_GEQ, float32_t, uint8_t>, fun<nm::EW_GEQ, float32_t, int8_t>, fun<nm::EW_GEQ, float32_t, int16_t>, fun<nm::EW_GEQ, float32_t, int32_t>, fun<nm::EW_GEQ, float32_t, int64_t>, fun<nm::EW_GEQ, float32_t, float32_t>, fun<nm::EW_GEQ, float32_t, float64_t>, fun<nm::EW_GEQ, float32_t, nm::Complex64>, fun<nm::EW_GEQ, float32_t, nm::Complex128>, NULL}, \
550
+ {fun<nm::EW_GEQ, float64_t, uint8_t>, fun<nm::EW_GEQ, float64_t, int8_t>, fun<nm::EW_GEQ, float64_t, int16_t>, fun<nm::EW_GEQ, float64_t, int32_t>, fun<nm::EW_GEQ, float64_t, int64_t>, fun<nm::EW_GEQ, float64_t, float32_t>, fun<nm::EW_GEQ, float64_t, float64_t>, fun<nm::EW_GEQ, float64_t, nm::Complex64>, fun<nm::EW_GEQ, float64_t, nm::Complex128>, NULL}, \
551
+ {fun<nm::EW_GEQ, nm::Complex64, uint8_t>, fun<nm::EW_GEQ, nm::Complex64, int8_t>, fun<nm::EW_GEQ, nm::Complex64, int16_t>, fun<nm::EW_GEQ, nm::Complex64, int32_t>, fun<nm::EW_GEQ, nm::Complex64, int64_t>, fun<nm::EW_GEQ, nm::Complex64, float32_t>, fun<nm::EW_GEQ, nm::Complex64, float64_t>, fun<nm::EW_GEQ, nm::Complex64, nm::Complex64>, fun<nm::EW_GEQ, nm::Complex64, nm::Complex128>, NULL}, \
552
+ {fun<nm::EW_GEQ, nm::Complex128, uint8_t>, fun<nm::EW_GEQ, nm::Complex128, int8_t>, fun<nm::EW_GEQ, nm::Complex128, int16_t>, fun<nm::EW_GEQ, nm::Complex128, int32_t>, fun<nm::EW_GEQ, nm::Complex128, int64_t>, fun<nm::EW_GEQ, nm::Complex128, float32_t>, fun<nm::EW_GEQ, nm::Complex128, float64_t>, fun<nm::EW_GEQ, nm::Complex128, nm::Complex64>, fun<nm::EW_GEQ, nm::Complex128, nm::Complex128>, NULL}, \
690
553
  {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, fun<nm::EW_GEQ, nm::RubyObject, nm::RubyObject>} \
691
554
  } \
692
555
  };
@@ -699,50 +562,50 @@ namespace nm {
699
562
 
700
563
  #define NAMED_OP_ITYPE_DTYPE_TEMPLATE_TABLE(name, fun, ret, ...) \
701
564
  static ret (*(name)[nm::NUM_EWOPS][nm::NUM_ITYPES][nm::NUM_DTYPES])(__VA_ARGS__) = \
702
- {{{fun<nm::EW_ADD, uint8_t, uint8_t>,fun<nm::EW_ADD, uint8_t, int8_t>,fun<nm::EW_ADD, uint8_t, int16_t>,fun<nm::EW_ADD, uint8_t, int32_t>,fun<nm::EW_ADD, uint8_t, int64_t>,fun<nm::EW_ADD, uint8_t, float32_t>,fun<nm::EW_ADD, uint8_t, float64_t>,fun<nm::EW_ADD, uint8_t, nm::Complex64>,fun<nm::EW_ADD, uint8_t, nm::Complex128>,fun<nm::EW_ADD, uint8_t, nm::Rational32>,fun<nm::EW_ADD, uint8_t, nm::Rational64>,fun<nm::EW_ADD, uint8_t, nm::Rational128>,fun<nm::EW_ADD, uint8_t, nm::RubyObject>},\
703
- {fun<nm::EW_ADD, uint16_t, uint8_t>,fun<nm::EW_ADD, uint16_t, int8_t>,fun<nm::EW_ADD, uint16_t, int16_t>,fun<nm::EW_ADD, uint16_t, int32_t>,fun<nm::EW_ADD, uint16_t, int64_t>,fun<nm::EW_ADD, uint16_t, float32_t>,fun<nm::EW_ADD, uint16_t, float64_t>,fun<nm::EW_ADD, uint16_t, nm::Complex64>,fun<nm::EW_ADD, uint16_t, nm::Complex128>,fun<nm::EW_ADD, uint16_t, nm::Rational32>,fun<nm::EW_ADD, uint16_t, nm::Rational64>,fun<nm::EW_ADD, uint16_t, nm::Rational128>,fun<nm::EW_ADD, uint16_t, nm::RubyObject>},\
704
- {fun<nm::EW_ADD, uint32_t, uint8_t>,fun<nm::EW_ADD, uint32_t, int8_t>,fun<nm::EW_ADD, uint32_t, int16_t>,fun<nm::EW_ADD, uint32_t, int32_t>,fun<nm::EW_ADD, uint32_t, int64_t>,fun<nm::EW_ADD, uint32_t, float32_t>,fun<nm::EW_ADD, uint32_t, float64_t>,fun<nm::EW_ADD, uint32_t, nm::Complex64>,fun<nm::EW_ADD, uint32_t, nm::Complex128>,fun<nm::EW_ADD, uint32_t, nm::Rational32>,fun<nm::EW_ADD, uint32_t, nm::Rational64>,fun<nm::EW_ADD, uint32_t, nm::Rational128>,fun<nm::EW_ADD, uint32_t, nm::RubyObject>},\
705
- {fun<nm::EW_ADD, uint64_t, uint8_t>,fun<nm::EW_ADD, uint64_t, int8_t>,fun<nm::EW_ADD, uint64_t, int16_t>,fun<nm::EW_ADD, uint64_t, int32_t>,fun<nm::EW_ADD, uint64_t, int64_t>,fun<nm::EW_ADD, uint64_t, float32_t>,fun<nm::EW_ADD, uint64_t, float64_t>,fun<nm::EW_ADD, uint64_t, nm::Complex64>,fun<nm::EW_ADD, uint64_t, nm::Complex128>,fun<nm::EW_ADD, uint64_t, nm::Rational32>,fun<nm::EW_ADD, uint64_t, nm::Rational64>,fun<nm::EW_ADD, uint64_t, nm::Rational128>,fun<nm::EW_ADD, uint64_t, nm::RubyObject>}},\
706
- {{fun<nm::EW_SUB, uint8_t, uint8_t>,fun<nm::EW_SUB, uint8_t, int8_t>,fun<nm::EW_SUB, uint8_t, int16_t>,fun<nm::EW_SUB, uint8_t, int32_t>,fun<nm::EW_SUB, uint8_t, int64_t>,fun<nm::EW_SUB, uint8_t, float32_t>,fun<nm::EW_SUB, uint8_t, float64_t>,fun<nm::EW_SUB, uint8_t, nm::Complex64>,fun<nm::EW_SUB, uint8_t, nm::Complex128>,fun<nm::EW_SUB, uint8_t, nm::Rational32>,fun<nm::EW_SUB, uint8_t, nm::Rational64>,fun<nm::EW_SUB, uint8_t, nm::Rational128>,fun<nm::EW_SUB, uint8_t, nm::RubyObject>},\
707
- {fun<nm::EW_SUB, uint16_t, uint8_t>,fun<nm::EW_SUB, uint16_t, int8_t>,fun<nm::EW_SUB, uint16_t, int16_t>,fun<nm::EW_SUB, uint16_t, int32_t>,fun<nm::EW_SUB, uint16_t, int64_t>,fun<nm::EW_SUB, uint16_t, float32_t>,fun<nm::EW_SUB, uint16_t, float64_t>,fun<nm::EW_SUB, uint16_t, nm::Complex64>,fun<nm::EW_SUB, uint16_t, nm::Complex128>,fun<nm::EW_SUB, uint16_t, nm::Rational32>,fun<nm::EW_SUB, uint16_t, nm::Rational64>,fun<nm::EW_SUB, uint16_t, nm::Rational128>,fun<nm::EW_SUB, uint16_t, nm::RubyObject>},\
708
- {fun<nm::EW_SUB, uint32_t, uint8_t>,fun<nm::EW_SUB, uint32_t, int8_t>,fun<nm::EW_SUB, uint32_t, int16_t>,fun<nm::EW_SUB, uint32_t, int32_t>,fun<nm::EW_SUB, uint32_t, int64_t>,fun<nm::EW_SUB, uint32_t, float32_t>,fun<nm::EW_SUB, uint32_t, float64_t>,fun<nm::EW_SUB, uint32_t, nm::Complex64>,fun<nm::EW_SUB, uint32_t, nm::Complex128>,fun<nm::EW_SUB, uint32_t, nm::Rational32>,fun<nm::EW_SUB, uint32_t, nm::Rational64>,fun<nm::EW_SUB, uint32_t, nm::Rational128>,fun<nm::EW_SUB, uint32_t, nm::RubyObject>},\
709
- {fun<nm::EW_SUB, uint64_t, uint8_t>,fun<nm::EW_SUB, uint64_t, int8_t>,fun<nm::EW_SUB, uint64_t, int16_t>,fun<nm::EW_SUB, uint64_t, int32_t>,fun<nm::EW_SUB, uint64_t, int64_t>,fun<nm::EW_SUB, uint64_t, float32_t>,fun<nm::EW_SUB, uint64_t, float64_t>,fun<nm::EW_SUB, uint64_t, nm::Complex64>,fun<nm::EW_SUB, uint64_t, nm::Complex128>,fun<nm::EW_SUB, uint64_t, nm::Rational32>,fun<nm::EW_SUB, uint64_t, nm::Rational64>,fun<nm::EW_SUB, uint64_t, nm::Rational128>,fun<nm::EW_SUB, uint64_t, nm::RubyObject>}},\
710
- {{fun<nm::EW_MUL, uint8_t, uint8_t>,fun<nm::EW_MUL, uint8_t, int8_t>,fun<nm::EW_MUL, uint8_t, int16_t>,fun<nm::EW_MUL, uint8_t, int32_t>,fun<nm::EW_MUL, uint8_t, int64_t>,fun<nm::EW_MUL, uint8_t, float32_t>,fun<nm::EW_MUL, uint8_t, float64_t>,fun<nm::EW_MUL, uint8_t, nm::Complex64>,fun<nm::EW_MUL, uint8_t, nm::Complex128>,fun<nm::EW_MUL, uint8_t, nm::Rational32>,fun<nm::EW_MUL, uint8_t, nm::Rational64>,fun<nm::EW_MUL, uint8_t, nm::Rational128>,fun<nm::EW_MUL, uint8_t, nm::RubyObject>},\
711
- {fun<nm::EW_MUL, uint16_t, uint8_t>,fun<nm::EW_MUL, uint16_t, int8_t>,fun<nm::EW_MUL, uint16_t, int16_t>,fun<nm::EW_MUL, uint16_t, int32_t>,fun<nm::EW_MUL, uint16_t, int64_t>,fun<nm::EW_MUL, uint16_t, float32_t>,fun<nm::EW_MUL, uint16_t, float64_t>,fun<nm::EW_MUL, uint16_t, nm::Complex64>,fun<nm::EW_MUL, uint16_t, nm::Complex128>,fun<nm::EW_MUL, uint16_t, nm::Rational32>,fun<nm::EW_MUL, uint16_t, nm::Rational64>,fun<nm::EW_MUL, uint16_t, nm::Rational128>,fun<nm::EW_MUL, uint16_t, nm::RubyObject>},\
712
- {fun<nm::EW_MUL, uint32_t, uint8_t>,fun<nm::EW_MUL, uint32_t, int8_t>,fun<nm::EW_MUL, uint32_t, int16_t>,fun<nm::EW_MUL, uint32_t, int32_t>,fun<nm::EW_MUL, uint32_t, int64_t>,fun<nm::EW_MUL, uint32_t, float32_t>,fun<nm::EW_MUL, uint32_t, float64_t>,fun<nm::EW_MUL, uint32_t, nm::Complex64>,fun<nm::EW_MUL, uint32_t, nm::Complex128>,fun<nm::EW_MUL, uint32_t, nm::Rational32>,fun<nm::EW_MUL, uint32_t, nm::Rational64>,fun<nm::EW_MUL, uint32_t, nm::Rational128>,fun<nm::EW_MUL, uint32_t, nm::RubyObject>},\
713
- {fun<nm::EW_MUL, uint64_t, uint8_t>,fun<nm::EW_MUL, uint64_t, int8_t>,fun<nm::EW_MUL, uint64_t, int16_t>,fun<nm::EW_MUL, uint64_t, int32_t>,fun<nm::EW_MUL, uint64_t, int64_t>,fun<nm::EW_MUL, uint64_t, float32_t>,fun<nm::EW_MUL, uint64_t, float64_t>,fun<nm::EW_MUL, uint64_t, nm::Complex64>,fun<nm::EW_MUL, uint64_t, nm::Complex128>,fun<nm::EW_MUL, uint64_t, nm::Rational32>,fun<nm::EW_MUL, uint64_t, nm::Rational64>,fun<nm::EW_MUL, uint64_t, nm::Rational128>,fun<nm::EW_MUL, uint64_t, nm::RubyObject>}},\
714
- {{fun<nm::EW_DIV, uint8_t, uint8_t>,fun<nm::EW_DIV, uint8_t, int8_t>,fun<nm::EW_DIV, uint8_t, int16_t>,fun<nm::EW_DIV, uint8_t, int32_t>,fun<nm::EW_DIV, uint8_t, int64_t>,fun<nm::EW_DIV, uint8_t, float32_t>,fun<nm::EW_DIV, uint8_t, float64_t>,fun<nm::EW_DIV, uint8_t, nm::Complex64>,fun<nm::EW_DIV, uint8_t, nm::Complex128>,fun<nm::EW_DIV, uint8_t, nm::Rational32>,fun<nm::EW_DIV, uint8_t, nm::Rational64>,fun<nm::EW_DIV, uint8_t, nm::Rational128>,fun<nm::EW_DIV, uint8_t, nm::RubyObject>},\
715
- {fun<nm::EW_DIV, uint16_t, uint8_t>,fun<nm::EW_DIV, uint16_t, int8_t>,fun<nm::EW_DIV, uint16_t, int16_t>,fun<nm::EW_DIV, uint16_t, int32_t>,fun<nm::EW_DIV, uint16_t, int64_t>,fun<nm::EW_DIV, uint16_t, float32_t>,fun<nm::EW_DIV, uint16_t, float64_t>,fun<nm::EW_DIV, uint16_t, nm::Complex64>,fun<nm::EW_DIV, uint16_t, nm::Complex128>,fun<nm::EW_DIV, uint16_t, nm::Rational32>,fun<nm::EW_DIV, uint16_t, nm::Rational64>,fun<nm::EW_DIV, uint16_t, nm::Rational128>,fun<nm::EW_DIV, uint16_t, nm::RubyObject>},\
716
- {fun<nm::EW_DIV, uint32_t, uint8_t>,fun<nm::EW_DIV, uint32_t, int8_t>,fun<nm::EW_DIV, uint32_t, int16_t>,fun<nm::EW_DIV, uint32_t, int32_t>,fun<nm::EW_DIV, uint32_t, int64_t>,fun<nm::EW_DIV, uint32_t, float32_t>,fun<nm::EW_DIV, uint32_t, float64_t>,fun<nm::EW_DIV, uint32_t, nm::Complex64>,fun<nm::EW_DIV, uint32_t, nm::Complex128>,fun<nm::EW_DIV, uint32_t, nm::Rational32>,fun<nm::EW_DIV, uint32_t, nm::Rational64>,fun<nm::EW_DIV, uint32_t, nm::Rational128>,fun<nm::EW_DIV, uint32_t, nm::RubyObject>},\
717
- {fun<nm::EW_DIV, uint64_t, uint8_t>,fun<nm::EW_DIV, uint64_t, int8_t>,fun<nm::EW_DIV, uint64_t, int16_t>,fun<nm::EW_DIV, uint64_t, int32_t>,fun<nm::EW_DIV, uint64_t, int64_t>,fun<nm::EW_DIV, uint64_t, float32_t>,fun<nm::EW_DIV, uint64_t, float64_t>,fun<nm::EW_DIV, uint64_t, nm::Complex64>,fun<nm::EW_DIV, uint64_t, nm::Complex128>,fun<nm::EW_DIV, uint64_t, nm::Rational32>,fun<nm::EW_DIV, uint64_t, nm::Rational64>,fun<nm::EW_DIV, uint64_t, nm::Rational128>,fun<nm::EW_DIV, uint64_t, nm::RubyObject>}},\
718
- {{fun<nm::EW_MOD, uint8_t, uint8_t>,fun<nm::EW_MOD, uint8_t, int8_t>,fun<nm::EW_MOD, uint8_t, int16_t>,fun<nm::EW_MOD, uint8_t, int32_t>,fun<nm::EW_MOD, uint8_t, int64_t>,fun<nm::EW_MOD, uint8_t, float32_t>,fun<nm::EW_MOD, uint8_t, float64_t>,fun<nm::EW_MOD, uint8_t, nm::Complex64>,fun<nm::EW_MOD, uint8_t, nm::Complex128>,fun<nm::EW_MOD, uint8_t, nm::Rational32>,fun<nm::EW_MOD, uint8_t, nm::Rational64>,fun<nm::EW_MOD, uint8_t, nm::Rational128>,fun<nm::EW_MOD, uint8_t, nm::RubyObject>},\
719
- {fun<nm::EW_MOD, uint16_t, uint8_t>,fun<nm::EW_MOD, uint16_t, int8_t>,fun<nm::EW_MOD, uint16_t, int16_t>,fun<nm::EW_MOD, uint16_t, int32_t>,fun<nm::EW_MOD, uint16_t, int64_t>,fun<nm::EW_MOD, uint16_t, float32_t>,fun<nm::EW_MOD, uint16_t, float64_t>,fun<nm::EW_MOD, uint16_t, nm::Complex64>,fun<nm::EW_MOD, uint16_t, nm::Complex128>,fun<nm::EW_MOD, uint16_t, nm::Rational32>,fun<nm::EW_MOD, uint16_t, nm::Rational64>,fun<nm::EW_MOD, uint16_t, nm::Rational128>,fun<nm::EW_MOD, uint16_t, nm::RubyObject>},\
720
- {fun<nm::EW_MOD, uint32_t, uint8_t>,fun<nm::EW_MOD, uint32_t, int8_t>,fun<nm::EW_MOD, uint32_t, int16_t>,fun<nm::EW_MOD, uint32_t, int32_t>,fun<nm::EW_MOD, uint32_t, int64_t>,fun<nm::EW_MOD, uint32_t, float32_t>,fun<nm::EW_MOD, uint32_t, float64_t>,fun<nm::EW_MOD, uint32_t, nm::Complex64>,fun<nm::EW_MOD, uint32_t, nm::Complex128>,fun<nm::EW_MOD, uint32_t, nm::Rational32>,fun<nm::EW_MOD, uint32_t, nm::Rational64>,fun<nm::EW_MOD, uint32_t, nm::Rational128>,fun<nm::EW_MOD, uint32_t, nm::RubyObject>},\
721
- {fun<nm::EW_MOD, uint64_t, uint8_t>,fun<nm::EW_MOD, uint64_t, int8_t>,fun<nm::EW_MOD, uint64_t, int16_t>,fun<nm::EW_MOD, uint64_t, int32_t>,fun<nm::EW_MOD, uint64_t, int64_t>,fun<nm::EW_MOD, uint64_t, float32_t>,fun<nm::EW_MOD, uint64_t, float64_t>,fun<nm::EW_MOD, uint64_t, nm::Complex64>,fun<nm::EW_MOD, uint64_t, nm::Complex128>,fun<nm::EW_MOD, uint64_t, nm::Rational32>,fun<nm::EW_MOD, uint64_t, nm::Rational64>,fun<nm::EW_MOD, uint64_t, nm::Rational128>,fun<nm::EW_MOD, uint64_t, nm::RubyObject>}},\
722
- {{fun<nm::EW_EQEQ, uint8_t, uint8_t>,fun<nm::EW_EQEQ, uint8_t, int8_t>,fun<nm::EW_EQEQ, uint8_t, int16_t>,fun<nm::EW_EQEQ, uint8_t, int32_t>,fun<nm::EW_EQEQ, uint8_t, int64_t>,fun<nm::EW_EQEQ, uint8_t, float32_t>,fun<nm::EW_EQEQ, uint8_t, float64_t>,fun<nm::EW_EQEQ, uint8_t, nm::Complex64>,fun<nm::EW_EQEQ, uint8_t, nm::Complex128>,fun<nm::EW_EQEQ, uint8_t, nm::Rational32>,fun<nm::EW_EQEQ, uint8_t, nm::Rational64>,fun<nm::EW_EQEQ, uint8_t, nm::Rational128>,fun<nm::EW_EQEQ, uint8_t, nm::RubyObject>},\
723
- {fun<nm::EW_EQEQ, uint16_t, uint8_t>,fun<nm::EW_EQEQ, uint16_t, int8_t>,fun<nm::EW_EQEQ, uint16_t, int16_t>,fun<nm::EW_EQEQ, uint16_t, int32_t>,fun<nm::EW_EQEQ, uint16_t, int64_t>,fun<nm::EW_EQEQ, uint16_t, float32_t>,fun<nm::EW_EQEQ, uint16_t, float64_t>,fun<nm::EW_EQEQ, uint16_t, nm::Complex64>,fun<nm::EW_EQEQ, uint16_t, nm::Complex128>,fun<nm::EW_EQEQ, uint16_t, nm::Rational32>,fun<nm::EW_EQEQ, uint16_t, nm::Rational64>,fun<nm::EW_EQEQ, uint16_t, nm::Rational128>,fun<nm::EW_EQEQ, uint16_t, nm::RubyObject>},\
724
- {fun<nm::EW_EQEQ, uint32_t, uint8_t>,fun<nm::EW_EQEQ, uint32_t, int8_t>,fun<nm::EW_EQEQ, uint32_t, int16_t>,fun<nm::EW_EQEQ, uint32_t, int32_t>,fun<nm::EW_EQEQ, uint32_t, int64_t>,fun<nm::EW_EQEQ, uint32_t, float32_t>,fun<nm::EW_EQEQ, uint32_t, float64_t>,fun<nm::EW_EQEQ, uint32_t, nm::Complex64>,fun<nm::EW_EQEQ, uint32_t, nm::Complex128>,fun<nm::EW_EQEQ, uint32_t, nm::Rational32>,fun<nm::EW_EQEQ, uint32_t, nm::Rational64>,fun<nm::EW_EQEQ, uint32_t, nm::Rational128>,fun<nm::EW_EQEQ, uint32_t, nm::RubyObject>},\
725
- {fun<nm::EW_EQEQ, uint64_t, uint8_t>,fun<nm::EW_EQEQ, uint64_t, int8_t>,fun<nm::EW_EQEQ, uint64_t, int16_t>,fun<nm::EW_EQEQ, uint64_t, int32_t>,fun<nm::EW_EQEQ, uint64_t, int64_t>,fun<nm::EW_EQEQ, uint64_t, float32_t>,fun<nm::EW_EQEQ, uint64_t, float64_t>,fun<nm::EW_EQEQ, uint64_t, nm::Complex64>,fun<nm::EW_EQEQ, uint64_t, nm::Complex128>,fun<nm::EW_EQEQ, uint64_t, nm::Rational32>,fun<nm::EW_EQEQ, uint64_t, nm::Rational64>,fun<nm::EW_EQEQ, uint64_t, nm::Rational128>,fun<nm::EW_EQEQ, uint64_t, nm::RubyObject>}},\
726
- {{fun<nm::EW_NEQ, uint8_t, uint8_t>,fun<nm::EW_NEQ, uint8_t, int8_t>,fun<nm::EW_NEQ, uint8_t, int16_t>,fun<nm::EW_NEQ, uint8_t, int32_t>,fun<nm::EW_NEQ, uint8_t, int64_t>,fun<nm::EW_NEQ, uint8_t, float32_t>,fun<nm::EW_NEQ, uint8_t, float64_t>,fun<nm::EW_NEQ, uint8_t, nm::Complex64>,fun<nm::EW_NEQ, uint8_t, nm::Complex128>,fun<nm::EW_NEQ, uint8_t, nm::Rational32>,fun<nm::EW_NEQ, uint8_t, nm::Rational64>,fun<nm::EW_NEQ, uint8_t, nm::Rational128>,fun<nm::EW_NEQ, uint8_t, nm::RubyObject>},\
727
- {fun<nm::EW_NEQ, uint16_t, uint8_t>,fun<nm::EW_NEQ, uint16_t, int8_t>,fun<nm::EW_NEQ, uint16_t, int16_t>,fun<nm::EW_NEQ, uint16_t, int32_t>,fun<nm::EW_NEQ, uint16_t, int64_t>,fun<nm::EW_NEQ, uint16_t, float32_t>,fun<nm::EW_NEQ, uint16_t, float64_t>,fun<nm::EW_NEQ, uint16_t, nm::Complex64>,fun<nm::EW_NEQ, uint16_t, nm::Complex128>,fun<nm::EW_NEQ, uint16_t, nm::Rational32>,fun<nm::EW_NEQ, uint16_t, nm::Rational64>,fun<nm::EW_NEQ, uint16_t, nm::Rational128>,fun<nm::EW_NEQ, uint16_t, nm::RubyObject>},\
728
- {fun<nm::EW_NEQ, uint32_t, uint8_t>,fun<nm::EW_NEQ, uint32_t, int8_t>,fun<nm::EW_NEQ, uint32_t, int16_t>,fun<nm::EW_NEQ, uint32_t, int32_t>,fun<nm::EW_NEQ, uint32_t, int64_t>,fun<nm::EW_NEQ, uint32_t, float32_t>,fun<nm::EW_NEQ, uint32_t, float64_t>,fun<nm::EW_NEQ, uint32_t, nm::Complex64>,fun<nm::EW_NEQ, uint32_t, nm::Complex128>,fun<nm::EW_NEQ, uint32_t, nm::Rational32>,fun<nm::EW_NEQ, uint32_t, nm::Rational64>,fun<nm::EW_NEQ, uint32_t, nm::Rational128>,fun<nm::EW_NEQ, uint32_t, nm::RubyObject>},\
729
- {fun<nm::EW_NEQ, uint64_t, uint8_t>,fun<nm::EW_NEQ, uint64_t, int8_t>,fun<nm::EW_NEQ, uint64_t, int16_t>,fun<nm::EW_NEQ, uint64_t, int32_t>,fun<nm::EW_NEQ, uint64_t, int64_t>,fun<nm::EW_NEQ, uint64_t, float32_t>,fun<nm::EW_NEQ, uint64_t, float64_t>,fun<nm::EW_NEQ, uint64_t, nm::Complex64>,fun<nm::EW_NEQ, uint64_t, nm::Complex128>,fun<nm::EW_NEQ, uint64_t, nm::Rational32>,fun<nm::EW_NEQ, uint64_t, nm::Rational64>,fun<nm::EW_NEQ, uint64_t, nm::Rational128>,fun<nm::EW_NEQ, uint64_t, nm::RubyObject>}},\
730
- {{fun<nm::EW_LT, uint8_t, uint8_t>,fun<nm::EW_LT, uint8_t, int8_t>,fun<nm::EW_LT, uint8_t, int16_t>,fun<nm::EW_LT, uint8_t, int32_t>,fun<nm::EW_LT, uint8_t, int64_t>,fun<nm::EW_LT, uint8_t, float32_t>,fun<nm::EW_LT, uint8_t, float64_t>,fun<nm::EW_LT, uint8_t, nm::Complex64>,fun<nm::EW_LT, uint8_t, nm::Complex128>,fun<nm::EW_LT, uint8_t, nm::Rational32>,fun<nm::EW_LT, uint8_t, nm::Rational64>,fun<nm::EW_LT, uint8_t, nm::Rational128>,fun<nm::EW_LT, uint8_t, nm::RubyObject>},\
731
- {fun<nm::EW_LT, uint16_t, uint8_t>,fun<nm::EW_LT, uint16_t, int8_t>,fun<nm::EW_LT, uint16_t, int16_t>,fun<nm::EW_LT, uint16_t, int32_t>,fun<nm::EW_LT, uint16_t, int64_t>,fun<nm::EW_LT, uint16_t, float32_t>,fun<nm::EW_LT, uint16_t, float64_t>,fun<nm::EW_LT, uint16_t, nm::Complex64>,fun<nm::EW_LT, uint16_t, nm::Complex128>,fun<nm::EW_LT, uint16_t, nm::Rational32>,fun<nm::EW_LT, uint16_t, nm::Rational64>,fun<nm::EW_LT, uint16_t, nm::Rational128>,fun<nm::EW_LT, uint16_t, nm::RubyObject>},\
732
- {fun<nm::EW_LT, uint32_t, uint8_t>,fun<nm::EW_LT, uint32_t, int8_t>,fun<nm::EW_LT, uint32_t, int16_t>,fun<nm::EW_LT, uint32_t, int32_t>,fun<nm::EW_LT, uint32_t, int64_t>,fun<nm::EW_LT, uint32_t, float32_t>,fun<nm::EW_LT, uint32_t, float64_t>,fun<nm::EW_LT, uint32_t, nm::Complex64>,fun<nm::EW_LT, uint32_t, nm::Complex128>,fun<nm::EW_LT, uint32_t, nm::Rational32>,fun<nm::EW_LT, uint32_t, nm::Rational64>,fun<nm::EW_LT, uint32_t, nm::Rational128>,fun<nm::EW_LT, uint32_t, nm::RubyObject>},\
733
- {fun<nm::EW_LT, uint64_t, uint8_t>,fun<nm::EW_LT, uint64_t, int8_t>,fun<nm::EW_LT, uint64_t, int16_t>,fun<nm::EW_LT, uint64_t, int32_t>,fun<nm::EW_LT, uint64_t, int64_t>,fun<nm::EW_LT, uint64_t, float32_t>,fun<nm::EW_LT, uint64_t, float64_t>,fun<nm::EW_LT, uint64_t, nm::Complex64>,fun<nm::EW_LT, uint64_t, nm::Complex128>,fun<nm::EW_LT, uint64_t, nm::Rational32>,fun<nm::EW_LT, uint64_t, nm::Rational64>,fun<nm::EW_LT, uint64_t, nm::Rational128>,fun<nm::EW_LT, uint64_t, nm::RubyObject>}},\
734
- {{fun<nm::EW_GT, uint8_t, uint8_t>,fun<nm::EW_GT, uint8_t, int8_t>,fun<nm::EW_GT, uint8_t, int16_t>,fun<nm::EW_GT, uint8_t, int32_t>,fun<nm::EW_GT, uint8_t, int64_t>,fun<nm::EW_GT, uint8_t, float32_t>,fun<nm::EW_GT, uint8_t, float64_t>,fun<nm::EW_GT, uint8_t, nm::Complex64>,fun<nm::EW_GT, uint8_t, nm::Complex128>,fun<nm::EW_GT, uint8_t, nm::Rational32>,fun<nm::EW_GT, uint8_t, nm::Rational64>,fun<nm::EW_GT, uint8_t, nm::Rational128>,fun<nm::EW_GT, uint8_t, nm::RubyObject>},\
735
- {fun<nm::EW_GT, uint16_t, uint8_t>,fun<nm::EW_GT, uint16_t, int8_t>,fun<nm::EW_GT, uint16_t, int16_t>,fun<nm::EW_GT, uint16_t, int32_t>,fun<nm::EW_GT, uint16_t, int64_t>,fun<nm::EW_GT, uint16_t, float32_t>,fun<nm::EW_GT, uint16_t, float64_t>,fun<nm::EW_GT, uint16_t, nm::Complex64>,fun<nm::EW_GT, uint16_t, nm::Complex128>,fun<nm::EW_GT, uint16_t, nm::Rational32>,fun<nm::EW_GT, uint16_t, nm::Rational64>,fun<nm::EW_GT, uint16_t, nm::Rational128>,fun<nm::EW_GT, uint16_t, nm::RubyObject>},\
736
- {fun<nm::EW_GT, uint32_t, uint8_t>,fun<nm::EW_GT, uint32_t, int8_t>,fun<nm::EW_GT, uint32_t, int16_t>,fun<nm::EW_GT, uint32_t, int32_t>,fun<nm::EW_GT, uint32_t, int64_t>,fun<nm::EW_GT, uint32_t, float32_t>,fun<nm::EW_GT, uint32_t, float64_t>,fun<nm::EW_GT, uint32_t, nm::Complex64>,fun<nm::EW_GT, uint32_t, nm::Complex128>,fun<nm::EW_GT, uint32_t, nm::Rational32>,fun<nm::EW_GT, uint32_t, nm::Rational64>,fun<nm::EW_GT, uint32_t, nm::Rational128>,fun<nm::EW_GT, uint32_t, nm::RubyObject>},\
737
- {fun<nm::EW_GT, uint64_t, uint8_t>,fun<nm::EW_GT, uint64_t, int8_t>,fun<nm::EW_GT, uint64_t, int16_t>,fun<nm::EW_GT, uint64_t, int32_t>,fun<nm::EW_GT, uint64_t, int64_t>,fun<nm::EW_GT, uint64_t, float32_t>,fun<nm::EW_GT, uint64_t, float64_t>,fun<nm::EW_GT, uint64_t, nm::Complex64>,fun<nm::EW_GT, uint64_t, nm::Complex128>,fun<nm::EW_GT, uint64_t, nm::Rational32>,fun<nm::EW_GT, uint64_t, nm::Rational64>,fun<nm::EW_GT, uint64_t, nm::Rational128>,fun<nm::EW_GT, uint64_t, nm::RubyObject>}},\
738
- {{fun<nm::EW_LEQ, uint8_t, uint8_t>,fun<nm::EW_LEQ, uint8_t, int8_t>,fun<nm::EW_LEQ, uint8_t, int16_t>,fun<nm::EW_LEQ, uint8_t, int32_t>,fun<nm::EW_LEQ, uint8_t, int64_t>,fun<nm::EW_LEQ, uint8_t, float32_t>,fun<nm::EW_LEQ, uint8_t, float64_t>,fun<nm::EW_LEQ, uint8_t, nm::Complex64>,fun<nm::EW_LEQ, uint8_t, nm::Complex128>,fun<nm::EW_LEQ, uint8_t, nm::Rational32>,fun<nm::EW_LEQ, uint8_t, nm::Rational64>,fun<nm::EW_LEQ, uint8_t, nm::Rational128>,fun<nm::EW_LEQ, uint8_t, nm::RubyObject>},\
739
- {fun<nm::EW_LEQ, uint16_t, uint8_t>,fun<nm::EW_LEQ, uint16_t, int8_t>,fun<nm::EW_LEQ, uint16_t, int16_t>,fun<nm::EW_LEQ, uint16_t, int32_t>,fun<nm::EW_LEQ, uint16_t, int64_t>,fun<nm::EW_LEQ, uint16_t, float32_t>,fun<nm::EW_LEQ, uint16_t, float64_t>,fun<nm::EW_LEQ, uint16_t, nm::Complex64>,fun<nm::EW_LEQ, uint16_t, nm::Complex128>,fun<nm::EW_LEQ, uint16_t, nm::Rational32>,fun<nm::EW_LEQ, uint16_t, nm::Rational64>,fun<nm::EW_LEQ, uint16_t, nm::Rational128>,fun<nm::EW_LEQ, uint16_t, nm::RubyObject>},\
740
- {fun<nm::EW_LEQ, uint32_t, uint8_t>,fun<nm::EW_LEQ, uint32_t, int8_t>,fun<nm::EW_LEQ, uint32_t, int16_t>,fun<nm::EW_LEQ, uint32_t, int32_t>,fun<nm::EW_LEQ, uint32_t, int64_t>,fun<nm::EW_LEQ, uint32_t, float32_t>,fun<nm::EW_LEQ, uint32_t, float64_t>,fun<nm::EW_LEQ, uint32_t, nm::Complex64>,fun<nm::EW_LEQ, uint32_t, nm::Complex128>,fun<nm::EW_LEQ, uint32_t, nm::Rational32>,fun<nm::EW_LEQ, uint32_t, nm::Rational64>,fun<nm::EW_LEQ, uint32_t, nm::Rational128>,fun<nm::EW_LEQ, uint32_t, nm::RubyObject>},\
741
- {fun<nm::EW_LEQ, uint64_t, uint8_t>,fun<nm::EW_LEQ, uint64_t, int8_t>,fun<nm::EW_LEQ, uint64_t, int16_t>,fun<nm::EW_LEQ, uint64_t, int32_t>,fun<nm::EW_LEQ, uint64_t, int64_t>,fun<nm::EW_LEQ, uint64_t, float32_t>,fun<nm::EW_LEQ, uint64_t, float64_t>,fun<nm::EW_LEQ, uint64_t, nm::Complex64>,fun<nm::EW_LEQ, uint64_t, nm::Complex128>,fun<nm::EW_LEQ, uint64_t, nm::Rational32>,fun<nm::EW_LEQ, uint64_t, nm::Rational64>,fun<nm::EW_LEQ, uint64_t, nm::Rational128>,fun<nm::EW_LEQ, uint64_t, nm::RubyObject>}},\
742
- {{fun<nm::EW_GEQ, uint8_t, uint8_t>,fun<nm::EW_GEQ, uint8_t, int8_t>,fun<nm::EW_GEQ, uint8_t, int16_t>,fun<nm::EW_GEQ, uint8_t, int32_t>,fun<nm::EW_GEQ, uint8_t, int64_t>,fun<nm::EW_GEQ, uint8_t, float32_t>,fun<nm::EW_GEQ, uint8_t, float64_t>,fun<nm::EW_GEQ, uint8_t, nm::Complex64>,fun<nm::EW_GEQ, uint8_t, nm::Complex128>,fun<nm::EW_GEQ, uint8_t, nm::Rational32>,fun<nm::EW_GEQ, uint8_t, nm::Rational64>,fun<nm::EW_GEQ, uint8_t, nm::Rational128>,fun<nm::EW_GEQ, uint8_t, nm::RubyObject>},\
743
- {fun<nm::EW_GEQ, uint16_t, uint8_t>,fun<nm::EW_GEQ, uint16_t, int8_t>,fun<nm::EW_GEQ, uint16_t, int16_t>,fun<nm::EW_GEQ, uint16_t, int32_t>,fun<nm::EW_GEQ, uint16_t, int64_t>,fun<nm::EW_GEQ, uint16_t, float32_t>,fun<nm::EW_GEQ, uint16_t, float64_t>,fun<nm::EW_GEQ, uint16_t, nm::Complex64>,fun<nm::EW_GEQ, uint16_t, nm::Complex128>,fun<nm::EW_GEQ, uint16_t, nm::Rational32>,fun<nm::EW_GEQ, uint16_t, nm::Rational64>,fun<nm::EW_GEQ, uint16_t, nm::Rational128>,fun<nm::EW_GEQ, uint16_t, nm::RubyObject>},\
744
- {fun<nm::EW_GEQ, uint32_t, uint8_t>,fun<nm::EW_GEQ, uint32_t, int8_t>,fun<nm::EW_GEQ, uint32_t, int16_t>,fun<nm::EW_GEQ, uint32_t, int32_t>,fun<nm::EW_GEQ, uint32_t, int64_t>,fun<nm::EW_GEQ, uint32_t, float32_t>,fun<nm::EW_GEQ, uint32_t, float64_t>,fun<nm::EW_GEQ, uint32_t, nm::Complex64>,fun<nm::EW_GEQ, uint32_t, nm::Complex128>,fun<nm::EW_GEQ, uint32_t, nm::Rational32>,fun<nm::EW_GEQ, uint32_t, nm::Rational64>,fun<nm::EW_GEQ, uint32_t, nm::Rational128>,fun<nm::EW_GEQ, uint32_t, nm::RubyObject>},\
745
- {fun<nm::EW_GEQ, uint64_t, uint8_t>,fun<nm::EW_GEQ, uint64_t, int8_t>,fun<nm::EW_GEQ, uint64_t, int16_t>,fun<nm::EW_GEQ, uint64_t, int32_t>,fun<nm::EW_GEQ, uint64_t, int64_t>,fun<nm::EW_GEQ, uint64_t, float32_t>,fun<nm::EW_GEQ, uint64_t, float64_t>,fun<nm::EW_GEQ, uint64_t, nm::Complex64>,fun<nm::EW_GEQ, uint64_t, nm::Complex128>,fun<nm::EW_GEQ, uint64_t, nm::Rational32>,fun<nm::EW_GEQ, uint64_t, nm::Rational64>,fun<nm::EW_GEQ, uint64_t, nm::Rational128>,fun<nm::EW_GEQ, uint64_t, nm::RubyObject>}}};
565
+ {{{fun<nm::EW_ADD, uint8_t, uint8_t>,fun<nm::EW_ADD, uint8_t, int8_t>,fun<nm::EW_ADD, uint8_t, int16_t>,fun<nm::EW_ADD, uint8_t, int32_t>,fun<nm::EW_ADD, uint8_t, int64_t>,fun<nm::EW_ADD, uint8_t, float32_t>,fun<nm::EW_ADD, uint8_t, float64_t>,fun<nm::EW_ADD, uint8_t, nm::Complex64>,fun<nm::EW_ADD, uint8_t, nm::Complex128>,fun<nm::EW_ADD, uint8_t, nm::RubyObject>},\
566
+ {fun<nm::EW_ADD, uint16_t, uint8_t>,fun<nm::EW_ADD, uint16_t, int8_t>,fun<nm::EW_ADD, uint16_t, int16_t>,fun<nm::EW_ADD, uint16_t, int32_t>,fun<nm::EW_ADD, uint16_t, int64_t>,fun<nm::EW_ADD, uint16_t, float32_t>,fun<nm::EW_ADD, uint16_t, float64_t>,fun<nm::EW_ADD, uint16_t, nm::Complex64>,fun<nm::EW_ADD, uint16_t, nm::Complex128>,fun<nm::EW_ADD, uint16_t, nm::RubyObject>},\
567
+ {fun<nm::EW_ADD, uint32_t, uint8_t>,fun<nm::EW_ADD, uint32_t, int8_t>,fun<nm::EW_ADD, uint32_t, int16_t>,fun<nm::EW_ADD, uint32_t, int32_t>,fun<nm::EW_ADD, uint32_t, int64_t>,fun<nm::EW_ADD, uint32_t, float32_t>,fun<nm::EW_ADD, uint32_t, float64_t>,fun<nm::EW_ADD, uint32_t, nm::Complex64>,fun<nm::EW_ADD, uint32_t, nm::Complex128>,fun<nm::EW_ADD, uint32_t, nm::RubyObject>},\
568
+ {fun<nm::EW_ADD, uint64_t, uint8_t>,fun<nm::EW_ADD, uint64_t, int8_t>,fun<nm::EW_ADD, uint64_t, int16_t>,fun<nm::EW_ADD, uint64_t, int32_t>,fun<nm::EW_ADD, uint64_t, int64_t>,fun<nm::EW_ADD, uint64_t, float32_t>,fun<nm::EW_ADD, uint64_t, float64_t>,fun<nm::EW_ADD, uint64_t, nm::Complex64>,fun<nm::EW_ADD, uint64_t, nm::Complex128>,fun<nm::EW_ADD, uint64_t, nm::RubyObject>}},\
569
+ {{fun<nm::EW_SUB, uint8_t, uint8_t>,fun<nm::EW_SUB, uint8_t, int8_t>,fun<nm::EW_SUB, uint8_t, int16_t>,fun<nm::EW_SUB, uint8_t, int32_t>,fun<nm::EW_SUB, uint8_t, int64_t>,fun<nm::EW_SUB, uint8_t, float32_t>,fun<nm::EW_SUB, uint8_t, float64_t>,fun<nm::EW_SUB, uint8_t, nm::Complex64>,fun<nm::EW_SUB, uint8_t, nm::Complex128>,fun<nm::EW_SUB, uint8_t, nm::RubyObject>},\
570
+ {fun<nm::EW_SUB, uint16_t, uint8_t>,fun<nm::EW_SUB, uint16_t, int8_t>,fun<nm::EW_SUB, uint16_t, int16_t>,fun<nm::EW_SUB, uint16_t, int32_t>,fun<nm::EW_SUB, uint16_t, int64_t>,fun<nm::EW_SUB, uint16_t, float32_t>,fun<nm::EW_SUB, uint16_t, float64_t>,fun<nm::EW_SUB, uint16_t, nm::Complex64>,fun<nm::EW_SUB, uint16_t, nm::Complex128>,fun<nm::EW_SUB, uint16_t, nm::RubyObject>},\
571
+ {fun<nm::EW_SUB, uint32_t, uint8_t>,fun<nm::EW_SUB, uint32_t, int8_t>,fun<nm::EW_SUB, uint32_t, int16_t>,fun<nm::EW_SUB, uint32_t, int32_t>,fun<nm::EW_SUB, uint32_t, int64_t>,fun<nm::EW_SUB, uint32_t, float32_t>,fun<nm::EW_SUB, uint32_t, float64_t>,fun<nm::EW_SUB, uint32_t, nm::Complex64>,fun<nm::EW_SUB, uint32_t, nm::Complex128>,fun<nm::EW_SUB, uint32_t, nm::RubyObject>},\
572
+ {fun<nm::EW_SUB, uint64_t, uint8_t>,fun<nm::EW_SUB, uint64_t, int8_t>,fun<nm::EW_SUB, uint64_t, int16_t>,fun<nm::EW_SUB, uint64_t, int32_t>,fun<nm::EW_SUB, uint64_t, int64_t>,fun<nm::EW_SUB, uint64_t, float32_t>,fun<nm::EW_SUB, uint64_t, float64_t>,fun<nm::EW_SUB, uint64_t, nm::Complex64>,fun<nm::EW_SUB, uint64_t, nm::Complex128>,fun<nm::EW_SUB, uint64_t, nm::RubyObject>}},\
573
+ {{fun<nm::EW_MUL, uint8_t, uint8_t>,fun<nm::EW_MUL, uint8_t, int8_t>,fun<nm::EW_MUL, uint8_t, int16_t>,fun<nm::EW_MUL, uint8_t, int32_t>,fun<nm::EW_MUL, uint8_t, int64_t>,fun<nm::EW_MUL, uint8_t, float32_t>,fun<nm::EW_MUL, uint8_t, float64_t>,fun<nm::EW_MUL, uint8_t, nm::Complex64>,fun<nm::EW_MUL, uint8_t, nm::Complex128>,fun<nm::EW_MUL, uint8_t, nm::RubyObject>},\
574
+ {fun<nm::EW_MUL, uint16_t, uint8_t>,fun<nm::EW_MUL, uint16_t, int8_t>,fun<nm::EW_MUL, uint16_t, int16_t>,fun<nm::EW_MUL, uint16_t, int32_t>,fun<nm::EW_MUL, uint16_t, int64_t>,fun<nm::EW_MUL, uint16_t, float32_t>,fun<nm::EW_MUL, uint16_t, float64_t>,fun<nm::EW_MUL, uint16_t, nm::Complex64>,fun<nm::EW_MUL, uint16_t, nm::Complex128>,fun<nm::EW_MUL, uint16_t, nm::RubyObject>},\
575
+ {fun<nm::EW_MUL, uint32_t, uint8_t>,fun<nm::EW_MUL, uint32_t, int8_t>,fun<nm::EW_MUL, uint32_t, int16_t>,fun<nm::EW_MUL, uint32_t, int32_t>,fun<nm::EW_MUL, uint32_t, int64_t>,fun<nm::EW_MUL, uint32_t, float32_t>,fun<nm::EW_MUL, uint32_t, float64_t>,fun<nm::EW_MUL, uint32_t, nm::Complex64>,fun<nm::EW_MUL, uint32_t, nm::Complex128>,fun<nm::EW_MUL, uint32_t, nm::RubyObject>},\
576
+ {fun<nm::EW_MUL, uint64_t, uint8_t>,fun<nm::EW_MUL, uint64_t, int8_t>,fun<nm::EW_MUL, uint64_t, int16_t>,fun<nm::EW_MUL, uint64_t, int32_t>,fun<nm::EW_MUL, uint64_t, int64_t>,fun<nm::EW_MUL, uint64_t, float32_t>,fun<nm::EW_MUL, uint64_t, float64_t>,fun<nm::EW_MUL, uint64_t, nm::Complex64>,fun<nm::EW_MUL, uint64_t, nm::Complex128>,fun<nm::EW_MUL, uint64_t, nm::RubyObject>}},\
577
+ {{fun<nm::EW_DIV, uint8_t, uint8_t>,fun<nm::EW_DIV, uint8_t, int8_t>,fun<nm::EW_DIV, uint8_t, int16_t>,fun<nm::EW_DIV, uint8_t, int32_t>,fun<nm::EW_DIV, uint8_t, int64_t>,fun<nm::EW_DIV, uint8_t, float32_t>,fun<nm::EW_DIV, uint8_t, float64_t>,fun<nm::EW_DIV, uint8_t, nm::Complex64>,fun<nm::EW_DIV, uint8_t, nm::Complex128>,fun<nm::EW_DIV, uint8_t, nm::RubyObject>},\
578
+ {fun<nm::EW_DIV, uint16_t, uint8_t>,fun<nm::EW_DIV, uint16_t, int8_t>,fun<nm::EW_DIV, uint16_t, int16_t>,fun<nm::EW_DIV, uint16_t, int32_t>,fun<nm::EW_DIV, uint16_t, int64_t>,fun<nm::EW_DIV, uint16_t, float32_t>,fun<nm::EW_DIV, uint16_t, float64_t>,fun<nm::EW_DIV, uint16_t, nm::Complex64>,fun<nm::EW_DIV, uint16_t, nm::Complex128>,fun<nm::EW_DIV, uint16_t, nm::RubyObject>},\
579
+ {fun<nm::EW_DIV, uint32_t, uint8_t>,fun<nm::EW_DIV, uint32_t, int8_t>,fun<nm::EW_DIV, uint32_t, int16_t>,fun<nm::EW_DIV, uint32_t, int32_t>,fun<nm::EW_DIV, uint32_t, int64_t>,fun<nm::EW_DIV, uint32_t, float32_t>,fun<nm::EW_DIV, uint32_t, float64_t>,fun<nm::EW_DIV, uint32_t, nm::Complex64>,fun<nm::EW_DIV, uint32_t, nm::Complex128>,fun<nm::EW_DIV, uint32_t, nm::RubyObject>},\
580
+ {fun<nm::EW_DIV, uint64_t, uint8_t>,fun<nm::EW_DIV, uint64_t, int8_t>,fun<nm::EW_DIV, uint64_t, int16_t>,fun<nm::EW_DIV, uint64_t, int32_t>,fun<nm::EW_DIV, uint64_t, int64_t>,fun<nm::EW_DIV, uint64_t, float32_t>,fun<nm::EW_DIV, uint64_t, float64_t>,fun<nm::EW_DIV, uint64_t, nm::Complex64>,fun<nm::EW_DIV, uint64_t, nm::Complex128>,fun<nm::EW_DIV, uint64_t, nm::RubyObject>}},\
581
+ {{fun<nm::EW_MOD, uint8_t, uint8_t>,fun<nm::EW_MOD, uint8_t, int8_t>,fun<nm::EW_MOD, uint8_t, int16_t>,fun<nm::EW_MOD, uint8_t, int32_t>,fun<nm::EW_MOD, uint8_t, int64_t>,fun<nm::EW_MOD, uint8_t, float32_t>,fun<nm::EW_MOD, uint8_t, float64_t>,fun<nm::EW_MOD, uint8_t, nm::Complex64>,fun<nm::EW_MOD, uint8_t, nm::Complex128>,fun<nm::EW_MOD, uint8_t, nm::RubyObject>},\
582
+ {fun<nm::EW_MOD, uint16_t, uint8_t>,fun<nm::EW_MOD, uint16_t, int8_t>,fun<nm::EW_MOD, uint16_t, int16_t>,fun<nm::EW_MOD, uint16_t, int32_t>,fun<nm::EW_MOD, uint16_t, int64_t>,fun<nm::EW_MOD, uint16_t, float32_t>,fun<nm::EW_MOD, uint16_t, float64_t>,fun<nm::EW_MOD, uint16_t, nm::Complex64>,fun<nm::EW_MOD, uint16_t, nm::Complex128>,fun<nm::EW_MOD, uint16_t, nm::RubyObject>},\
583
+ {fun<nm::EW_MOD, uint32_t, uint8_t>,fun<nm::EW_MOD, uint32_t, int8_t>,fun<nm::EW_MOD, uint32_t, int16_t>,fun<nm::EW_MOD, uint32_t, int32_t>,fun<nm::EW_MOD, uint32_t, int64_t>,fun<nm::EW_MOD, uint32_t, float32_t>,fun<nm::EW_MOD, uint32_t, float64_t>,fun<nm::EW_MOD, uint32_t, nm::Complex64>,fun<nm::EW_MOD, uint32_t, nm::Complex128>,fun<nm::EW_MOD, uint32_t, nm::RubyObject>},\
584
+ {fun<nm::EW_MOD, uint64_t, uint8_t>,fun<nm::EW_MOD, uint64_t, int8_t>,fun<nm::EW_MOD, uint64_t, int16_t>,fun<nm::EW_MOD, uint64_t, int32_t>,fun<nm::EW_MOD, uint64_t, int64_t>,fun<nm::EW_MOD, uint64_t, float32_t>,fun<nm::EW_MOD, uint64_t, float64_t>,fun<nm::EW_MOD, uint64_t, nm::Complex64>,fun<nm::EW_MOD, uint64_t, nm::Complex128>,fun<nm::EW_MOD, uint64_t, nm::RubyObject>}},\
585
+ {{fun<nm::EW_EQEQ, uint8_t, uint8_t>,fun<nm::EW_EQEQ, uint8_t, int8_t>,fun<nm::EW_EQEQ, uint8_t, int16_t>,fun<nm::EW_EQEQ, uint8_t, int32_t>,fun<nm::EW_EQEQ, uint8_t, int64_t>,fun<nm::EW_EQEQ, uint8_t, float32_t>,fun<nm::EW_EQEQ, uint8_t, float64_t>,fun<nm::EW_EQEQ, uint8_t, nm::Complex64>,fun<nm::EW_EQEQ, uint8_t, nm::Complex128>,fun<nm::EW_EQEQ, uint8_t, nm::RubyObject>},\
586
+ {fun<nm::EW_EQEQ, uint16_t, uint8_t>,fun<nm::EW_EQEQ, uint16_t, int8_t>,fun<nm::EW_EQEQ, uint16_t, int16_t>,fun<nm::EW_EQEQ, uint16_t, int32_t>,fun<nm::EW_EQEQ, uint16_t, int64_t>,fun<nm::EW_EQEQ, uint16_t, float32_t>,fun<nm::EW_EQEQ, uint16_t, float64_t>,fun<nm::EW_EQEQ, uint16_t, nm::Complex64>,fun<nm::EW_EQEQ, uint16_t, nm::Complex128>,fun<nm::EW_EQEQ, uint16_t, nm::RubyObject>},\
587
+ {fun<nm::EW_EQEQ, uint32_t, uint8_t>,fun<nm::EW_EQEQ, uint32_t, int8_t>,fun<nm::EW_EQEQ, uint32_t, int16_t>,fun<nm::EW_EQEQ, uint32_t, int32_t>,fun<nm::EW_EQEQ, uint32_t, int64_t>,fun<nm::EW_EQEQ, uint32_t, float32_t>,fun<nm::EW_EQEQ, uint32_t, float64_t>,fun<nm::EW_EQEQ, uint32_t, nm::Complex64>,fun<nm::EW_EQEQ, uint32_t, nm::Complex128>,fun<nm::EW_EQEQ, uint32_t, nm::RubyObject>},\
588
+ {fun<nm::EW_EQEQ, uint64_t, uint8_t>,fun<nm::EW_EQEQ, uint64_t, int8_t>,fun<nm::EW_EQEQ, uint64_t, int16_t>,fun<nm::EW_EQEQ, uint64_t, int32_t>,fun<nm::EW_EQEQ, uint64_t, int64_t>,fun<nm::EW_EQEQ, uint64_t, float32_t>,fun<nm::EW_EQEQ, uint64_t, float64_t>,fun<nm::EW_EQEQ, uint64_t, nm::Complex64>,fun<nm::EW_EQEQ, uint64_t, nm::Complex128>,fun<nm::EW_EQEQ, uint64_t, nm::RubyObject>}},\
589
+ {{fun<nm::EW_NEQ, uint8_t, uint8_t>,fun<nm::EW_NEQ, uint8_t, int8_t>,fun<nm::EW_NEQ, uint8_t, int16_t>,fun<nm::EW_NEQ, uint8_t, int32_t>,fun<nm::EW_NEQ, uint8_t, int64_t>,fun<nm::EW_NEQ, uint8_t, float32_t>,fun<nm::EW_NEQ, uint8_t, float64_t>,fun<nm::EW_NEQ, uint8_t, nm::Complex64>,fun<nm::EW_NEQ, uint8_t, nm::Complex128>,fun<nm::EW_NEQ, uint8_t, nm::RubyObject>},\
590
+ {fun<nm::EW_NEQ, uint16_t, uint8_t>,fun<nm::EW_NEQ, uint16_t, int8_t>,fun<nm::EW_NEQ, uint16_t, int16_t>,fun<nm::EW_NEQ, uint16_t, int32_t>,fun<nm::EW_NEQ, uint16_t, int64_t>,fun<nm::EW_NEQ, uint16_t, float32_t>,fun<nm::EW_NEQ, uint16_t, float64_t>,fun<nm::EW_NEQ, uint16_t, nm::Complex64>,fun<nm::EW_NEQ, uint16_t, nm::Complex128>,fun<nm::EW_NEQ, uint16_t, nm::RubyObject>},\
591
+ {fun<nm::EW_NEQ, uint32_t, uint8_t>,fun<nm::EW_NEQ, uint32_t, int8_t>,fun<nm::EW_NEQ, uint32_t, int16_t>,fun<nm::EW_NEQ, uint32_t, int32_t>,fun<nm::EW_NEQ, uint32_t, int64_t>,fun<nm::EW_NEQ, uint32_t, float32_t>,fun<nm::EW_NEQ, uint32_t, float64_t>,fun<nm::EW_NEQ, uint32_t, nm::Complex64>,fun<nm::EW_NEQ, uint32_t, nm::Complex128>,fun<nm::EW_NEQ, uint32_t, nm::RubyObject>},\
592
+ {fun<nm::EW_NEQ, uint64_t, uint8_t>,fun<nm::EW_NEQ, uint64_t, int8_t>,fun<nm::EW_NEQ, uint64_t, int16_t>,fun<nm::EW_NEQ, uint64_t, int32_t>,fun<nm::EW_NEQ, uint64_t, int64_t>,fun<nm::EW_NEQ, uint64_t, float32_t>,fun<nm::EW_NEQ, uint64_t, float64_t>,fun<nm::EW_NEQ, uint64_t, nm::Complex64>,fun<nm::EW_NEQ, uint64_t, nm::Complex128>,fun<nm::EW_NEQ, uint64_t, nm::RubyObject>}},\
593
+ {{fun<nm::EW_LT, uint8_t, uint8_t>,fun<nm::EW_LT, uint8_t, int8_t>,fun<nm::EW_LT, uint8_t, int16_t>,fun<nm::EW_LT, uint8_t, int32_t>,fun<nm::EW_LT, uint8_t, int64_t>,fun<nm::EW_LT, uint8_t, float32_t>,fun<nm::EW_LT, uint8_t, float64_t>,fun<nm::EW_LT, uint8_t, nm::Complex64>,fun<nm::EW_LT, uint8_t, nm::Complex128>,fun<nm::EW_LT, uint8_t, nm::RubyObject>},\
594
+ {fun<nm::EW_LT, uint16_t, uint8_t>,fun<nm::EW_LT, uint16_t, int8_t>,fun<nm::EW_LT, uint16_t, int16_t>,fun<nm::EW_LT, uint16_t, int32_t>,fun<nm::EW_LT, uint16_t, int64_t>,fun<nm::EW_LT, uint16_t, float32_t>,fun<nm::EW_LT, uint16_t, float64_t>,fun<nm::EW_LT, uint16_t, nm::Complex64>,fun<nm::EW_LT, uint16_t, nm::Complex128>,fun<nm::EW_LT, uint16_t, nm::RubyObject>},\
595
+ {fun<nm::EW_LT, uint32_t, uint8_t>,fun<nm::EW_LT, uint32_t, int8_t>,fun<nm::EW_LT, uint32_t, int16_t>,fun<nm::EW_LT, uint32_t, int32_t>,fun<nm::EW_LT, uint32_t, int64_t>,fun<nm::EW_LT, uint32_t, float32_t>,fun<nm::EW_LT, uint32_t, float64_t>,fun<nm::EW_LT, uint32_t, nm::Complex64>,fun<nm::EW_LT, uint32_t, nm::Complex128>,fun<nm::EW_LT, uint32_t, nm::RubyObject>},\
596
+ {fun<nm::EW_LT, uint64_t, uint8_t>,fun<nm::EW_LT, uint64_t, int8_t>,fun<nm::EW_LT, uint64_t, int16_t>,fun<nm::EW_LT, uint64_t, int32_t>,fun<nm::EW_LT, uint64_t, int64_t>,fun<nm::EW_LT, uint64_t, float32_t>,fun<nm::EW_LT, uint64_t, float64_t>,fun<nm::EW_LT, uint64_t, nm::Complex64>,fun<nm::EW_LT, uint64_t, nm::Complex128>,fun<nm::EW_LT, uint64_t, nm::RubyObject>}},\
597
+ {{fun<nm::EW_GT, uint8_t, uint8_t>,fun<nm::EW_GT, uint8_t, int8_t>,fun<nm::EW_GT, uint8_t, int16_t>,fun<nm::EW_GT, uint8_t, int32_t>,fun<nm::EW_GT, uint8_t, int64_t>,fun<nm::EW_GT, uint8_t, float32_t>,fun<nm::EW_GT, uint8_t, float64_t>,fun<nm::EW_GT, uint8_t, nm::Complex64>,fun<nm::EW_GT, uint8_t, nm::Complex128>,fun<nm::EW_GT, uint8_t, nm::RubyObject>},\
598
+ {fun<nm::EW_GT, uint16_t, uint8_t>,fun<nm::EW_GT, uint16_t, int8_t>,fun<nm::EW_GT, uint16_t, int16_t>,fun<nm::EW_GT, uint16_t, int32_t>,fun<nm::EW_GT, uint16_t, int64_t>,fun<nm::EW_GT, uint16_t, float32_t>,fun<nm::EW_GT, uint16_t, float64_t>,fun<nm::EW_GT, uint16_t, nm::Complex64>,fun<nm::EW_GT, uint16_t, nm::Complex128>,fun<nm::EW_GT, uint16_t, nm::RubyObject>},\
599
+ {fun<nm::EW_GT, uint32_t, uint8_t>,fun<nm::EW_GT, uint32_t, int8_t>,fun<nm::EW_GT, uint32_t, int16_t>,fun<nm::EW_GT, uint32_t, int32_t>,fun<nm::EW_GT, uint32_t, int64_t>,fun<nm::EW_GT, uint32_t, float32_t>,fun<nm::EW_GT, uint32_t, float64_t>,fun<nm::EW_GT, uint32_t, nm::Complex64>,fun<nm::EW_GT, uint32_t, nm::Complex128>,fun<nm::EW_GT, uint32_t, nm::RubyObject>},\
600
+ {fun<nm::EW_GT, uint64_t, uint8_t>,fun<nm::EW_GT, uint64_t, int8_t>,fun<nm::EW_GT, uint64_t, int16_t>,fun<nm::EW_GT, uint64_t, int32_t>,fun<nm::EW_GT, uint64_t, int64_t>,fun<nm::EW_GT, uint64_t, float32_t>,fun<nm::EW_GT, uint64_t, float64_t>,fun<nm::EW_GT, uint64_t, nm::Complex64>,fun<nm::EW_GT, uint64_t, nm::Complex128>,fun<nm::EW_GT, uint64_t, nm::RubyObject>}},\
601
+ {{fun<nm::EW_LEQ, uint8_t, uint8_t>,fun<nm::EW_LEQ, uint8_t, int8_t>,fun<nm::EW_LEQ, uint8_t, int16_t>,fun<nm::EW_LEQ, uint8_t, int32_t>,fun<nm::EW_LEQ, uint8_t, int64_t>,fun<nm::EW_LEQ, uint8_t, float32_t>,fun<nm::EW_LEQ, uint8_t, float64_t>,fun<nm::EW_LEQ, uint8_t, nm::Complex64>,fun<nm::EW_LEQ, uint8_t, nm::Complex128>,fun<nm::EW_LEQ, uint8_t, nm::RubyObject>},\
602
+ {fun<nm::EW_LEQ, uint16_t, uint8_t>,fun<nm::EW_LEQ, uint16_t, int8_t>,fun<nm::EW_LEQ, uint16_t, int16_t>,fun<nm::EW_LEQ, uint16_t, int32_t>,fun<nm::EW_LEQ, uint16_t, int64_t>,fun<nm::EW_LEQ, uint16_t, float32_t>,fun<nm::EW_LEQ, uint16_t, float64_t>,fun<nm::EW_LEQ, uint16_t, nm::Complex64>,fun<nm::EW_LEQ, uint16_t, nm::Complex128>,fun<nm::EW_LEQ, uint16_t, nm::RubyObject>},\
603
+ {fun<nm::EW_LEQ, uint32_t, uint8_t>,fun<nm::EW_LEQ, uint32_t, int8_t>,fun<nm::EW_LEQ, uint32_t, int16_t>,fun<nm::EW_LEQ, uint32_t, int32_t>,fun<nm::EW_LEQ, uint32_t, int64_t>,fun<nm::EW_LEQ, uint32_t, float32_t>,fun<nm::EW_LEQ, uint32_t, float64_t>,fun<nm::EW_LEQ, uint32_t, nm::Complex64>,fun<nm::EW_LEQ, uint32_t, nm::Complex128>,fun<nm::EW_LEQ, uint32_t, nm::RubyObject>},\
604
+ {fun<nm::EW_LEQ, uint64_t, uint8_t>,fun<nm::EW_LEQ, uint64_t, int8_t>,fun<nm::EW_LEQ, uint64_t, int16_t>,fun<nm::EW_LEQ, uint64_t, int32_t>,fun<nm::EW_LEQ, uint64_t, int64_t>,fun<nm::EW_LEQ, uint64_t, float32_t>,fun<nm::EW_LEQ, uint64_t, float64_t>,fun<nm::EW_LEQ, uint64_t, nm::Complex64>,fun<nm::EW_LEQ, uint64_t, nm::Complex128>,fun<nm::EW_LEQ, uint64_t, nm::RubyObject>}},\
605
+ {{fun<nm::EW_GEQ, uint8_t, uint8_t>,fun<nm::EW_GEQ, uint8_t, int8_t>,fun<nm::EW_GEQ, uint8_t, int16_t>,fun<nm::EW_GEQ, uint8_t, int32_t>,fun<nm::EW_GEQ, uint8_t, int64_t>,fun<nm::EW_GEQ, uint8_t, float32_t>,fun<nm::EW_GEQ, uint8_t, float64_t>,fun<nm::EW_GEQ, uint8_t, nm::Complex64>,fun<nm::EW_GEQ, uint8_t, nm::Complex128>,fun<nm::EW_GEQ, uint8_t, nm::RubyObject>},\
606
+ {fun<nm::EW_GEQ, uint16_t, uint8_t>,fun<nm::EW_GEQ, uint16_t, int8_t>,fun<nm::EW_GEQ, uint16_t, int16_t>,fun<nm::EW_GEQ, uint16_t, int32_t>,fun<nm::EW_GEQ, uint16_t, int64_t>,fun<nm::EW_GEQ, uint16_t, float32_t>,fun<nm::EW_GEQ, uint16_t, float64_t>,fun<nm::EW_GEQ, uint16_t, nm::Complex64>,fun<nm::EW_GEQ, uint16_t, nm::Complex128>,fun<nm::EW_GEQ, uint16_t, nm::RubyObject>},\
607
+ {fun<nm::EW_GEQ, uint32_t, uint8_t>,fun<nm::EW_GEQ, uint32_t, int8_t>,fun<nm::EW_GEQ, uint32_t, int16_t>,fun<nm::EW_GEQ, uint32_t, int32_t>,fun<nm::EW_GEQ, uint32_t, int64_t>,fun<nm::EW_GEQ, uint32_t, float32_t>,fun<nm::EW_GEQ, uint32_t, float64_t>,fun<nm::EW_GEQ, uint32_t, nm::Complex64>,fun<nm::EW_GEQ, uint32_t, nm::Complex128>,fun<nm::EW_GEQ, uint32_t, nm::RubyObject>},\
608
+ {fun<nm::EW_GEQ, uint64_t, uint8_t>,fun<nm::EW_GEQ, uint64_t, int8_t>,fun<nm::EW_GEQ, uint64_t, int16_t>,fun<nm::EW_GEQ, uint64_t, int32_t>,fun<nm::EW_GEQ, uint64_t, int64_t>,fun<nm::EW_GEQ, uint64_t, float32_t>,fun<nm::EW_GEQ, uint64_t, float64_t>,fun<nm::EW_GEQ, uint64_t, nm::Complex64>,fun<nm::EW_GEQ, uint64_t, nm::Complex128>,fun<nm::EW_GEQ, uint64_t, nm::RubyObject>}}};
746
609
 
747
610
 
748
611
  extern "C" {