numo-narray-alt 0.10.7 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -75,4 +75,24 @@
75
75
  DEF_BINARY_SELF_FUNC(mul, dfloat, numo_cDFloat) \
76
76
  DEF_BINARY_FUNC(mul, '*', dfloat, numo_cDFloat)
77
77
 
78
+ #define DEF_NARRAY_SFLT_MUL_AVX_METHOD_FUNC() \
79
+ DEF_BINARY_SFLT_AVX_ITER_FUNC(mul, _mm256_mul_ps) \
80
+ DEF_BINARY_SELF_FUNC(mul, sfloat, numo_cSFloat) \
81
+ DEF_BINARY_FUNC(mul, '*', sfloat, numo_cSFloat)
82
+
83
+ #define DEF_NARRAY_DFLT_MUL_AVX_METHOD_FUNC() \
84
+ DEF_BINARY_DFLT_AVX_ITER_FUNC(mul, _mm256_mul_pd) \
85
+ DEF_BINARY_SELF_FUNC(mul, dfloat, numo_cDFloat) \
86
+ DEF_BINARY_FUNC(mul, '*', dfloat, numo_cDFloat)
87
+
88
+ #define DEF_NARRAY_SFLT_MUL_NEON_METHOD_FUNC() \
89
+ DEF_BINARY_SFLT_NEON_ITER_FUNC(mul, vmulq_f32) \
90
+ DEF_BINARY_SELF_FUNC(mul, sfloat, numo_cSFloat) \
91
+ DEF_BINARY_FUNC(mul, '*', sfloat, numo_cSFloat)
92
+
93
+ #define DEF_NARRAY_DFLT_MUL_NEON_METHOD_FUNC() \
94
+ DEF_BINARY_DFLT_NEON_ITER_FUNC(mul, vmulq_f64) \
95
+ DEF_BINARY_SELF_FUNC(mul, dfloat, numo_cDFloat) \
96
+ DEF_BINARY_FUNC(mul, '*', dfloat, numo_cDFloat)
97
+
78
98
  #endif /* NUMO_NARRAY_MH_OP_MUL_H */
@@ -75,4 +75,24 @@
75
75
  DEF_BINARY_SELF_FUNC(sub, dfloat, numo_cDFloat) \
76
76
  DEF_BINARY_FUNC(sub, '-', dfloat, numo_cDFloat)
77
77
 
78
+ #define DEF_NARRAY_SFLT_SUB_AVX_METHOD_FUNC() \
79
+ DEF_BINARY_SFLT_AVX_ITER_FUNC(sub, _mm256_sub_ps) \
80
+ DEF_BINARY_SELF_FUNC(sub, sfloat, numo_cSFloat) \
81
+ DEF_BINARY_FUNC(sub, '-', sfloat, numo_cSFloat)
82
+
83
+ #define DEF_NARRAY_DFLT_SUB_AVX_METHOD_FUNC() \
84
+ DEF_BINARY_DFLT_AVX_ITER_FUNC(sub, _mm256_sub_pd) \
85
+ DEF_BINARY_SELF_FUNC(sub, dfloat, numo_cDFloat) \
86
+ DEF_BINARY_FUNC(sub, '-', dfloat, numo_cDFloat)
87
+
88
+ #define DEF_NARRAY_SFLT_SUB_NEON_METHOD_FUNC() \
89
+ DEF_BINARY_SFLT_NEON_ITER_FUNC(sub, vsubq_f32) \
90
+ DEF_BINARY_SELF_FUNC(sub, sfloat, numo_cSFloat) \
91
+ DEF_BINARY_FUNC(sub, '-', sfloat, numo_cSFloat)
92
+
93
+ #define DEF_NARRAY_DFLT_SUB_NEON_METHOD_FUNC() \
94
+ DEF_BINARY_DFLT_NEON_ITER_FUNC(sub, vsubq_f64) \
95
+ DEF_BINARY_SELF_FUNC(sub, dfloat, numo_cDFloat) \
96
+ DEF_BINARY_FUNC(sub, '-', dfloat, numo_cDFloat)
97
+
78
98
  #endif /* NUMO_NARRAY_MH_OP_SUB_H */
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_cast;
23
18
  static ID id_divmod;
24
19
  static ID id_eq;
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_cast;
24
19
  static ID id_copysign;
@@ -14,11 +14,21 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
17
+ #if !defined(NUMO_NO_SIMD) && defined(__SSE2__)
18
18
  #include <emmintrin.h>
19
19
  #define SIMD_ALIGNMENT_SIZE 16
20
20
  #endif
21
21
 
22
+ #if !defined(NUMO_NO_SIMD) && defined(__AVX__)
23
+ #include <immintrin.h>
24
+ #define AVX_ALIGNMENT_SIZE 32
25
+ #endif
26
+
27
+ #if !defined(NUMO_NO_SIMD) && defined(__ARM_NEON) && defined(__aarch64__)
28
+ #include <arm_neon.h>
29
+ #define NEON_ALIGNMENT_SIZE 16
30
+ #endif
31
+
22
32
  static ID id_pow;
23
33
  static ID id_cast;
24
34
  static ID id_copysign;
@@ -167,11 +177,21 @@ DEF_NARRAY_MAP_METHOD_FUNC(dfloat, numo_cDFloat)
167
177
  DEF_NARRAY_EACH_WITH_INDEX_METHOD_FUNC(dfloat)
168
178
  DEF_NARRAY_MAP_WITH_INDEX_METHOD_FUNC(dfloat, numo_cDFloat)
169
179
  DEF_NARRAY_ABS_METHOD_FUNC(dfloat, numo_cDFloat, dfloat, numo_cDFloat)
170
- #ifdef __SSE2__
180
+ #if !defined(NUMO_NO_SIMD) && defined(__AVX__)
181
+ DEF_NARRAY_DFLT_ADD_AVX_METHOD_FUNC()
182
+ DEF_NARRAY_DFLT_SUB_AVX_METHOD_FUNC()
183
+ DEF_NARRAY_DFLT_MUL_AVX_METHOD_FUNC()
184
+ DEF_NARRAY_DFLT_DIV_AVX_METHOD_FUNC()
185
+ #elif !defined(NUMO_NO_SIMD) && defined(__SSE2__)
171
186
  DEF_NARRAY_DFLT_ADD_SSE2_METHOD_FUNC()
172
187
  DEF_NARRAY_DFLT_SUB_SSE2_METHOD_FUNC()
173
188
  DEF_NARRAY_DFLT_MUL_SSE2_METHOD_FUNC()
174
189
  DEF_NARRAY_DFLT_DIV_SSE2_METHOD_FUNC()
190
+ #elif !defined(NUMO_NO_SIMD) && defined(__ARM_NEON) && defined(__aarch64__)
191
+ DEF_NARRAY_DFLT_ADD_NEON_METHOD_FUNC()
192
+ DEF_NARRAY_DFLT_SUB_NEON_METHOD_FUNC()
193
+ DEF_NARRAY_DFLT_MUL_NEON_METHOD_FUNC()
194
+ DEF_NARRAY_DFLT_DIV_NEON_METHOD_FUNC()
175
195
  #else
176
196
  DEF_NARRAY_ADD_METHOD_FUNC(dfloat, numo_cDFloat)
177
197
  DEF_NARRAY_SUB_METHOD_FUNC(dfloat, numo_cDFloat)
@@ -225,7 +245,15 @@ DEF_NARRAY_FLT_MINIMUM_METHOD_FUNC(dfloat, numo_cDFloat)
225
245
  DEF_NARRAY_FLT_MINMAX_METHOD_FUNC(dfloat, numo_cDFloat)
226
246
  DEF_NARRAY_FLT_CUMSUM_METHOD_FUNC(dfloat, numo_cDFloat)
227
247
  DEF_NARRAY_FLT_CUMPROD_METHOD_FUNC(dfloat, numo_cDFloat)
248
+ #if !defined(NUMO_NO_SIMD) && defined(__AVX__)
249
+ DEF_NARRAY_DFLT_MULSUM_AVX_METHOD_FUNC()
250
+ #elif !defined(NUMO_NO_SIMD) && defined(__SSE2__)
251
+ DEF_NARRAY_DFLT_MULSUM_SSE2_METHOD_FUNC()
252
+ #elif !defined(NUMO_NO_SIMD) && defined(__ARM_NEON) && defined(__aarch64__)
253
+ DEF_NARRAY_DFLT_MULSUM_NEON_METHOD_FUNC()
254
+ #else
228
255
  DEF_NARRAY_FLT_MULSUM_METHOD_FUNC(dfloat, numo_cDFloat)
256
+ #endif
229
257
  DEF_NARRAY_FLT_SEQ_METHOD_FUNC(dfloat)
230
258
  DEF_NARRAY_FLT_LOGSEQ_METHOD_FUNC(dfloat)
231
259
  DEF_NARRAY_EYE_METHOD_FUNC(dfloat)
@@ -243,8 +271,12 @@ DEF_NARRAY_FLT_SORT_METHOD_FUNC(dfloat)
243
271
  #define qsort_cast **(dfloat**)
244
272
  DEF_NARRAY_FLT_SORT_INDEX_METHOD_FUNC(dfloat, numo_cDFloat)
245
273
  DEF_NARRAY_FLT_MEDIAN_METHOD_FUNC(dfloat)
246
- #ifdef __SSE2__
274
+ #if !defined(NUMO_NO_SIMD) && defined(__AVX__)
275
+ DEF_NARRAY_FLT_SQRT_AVX_DBL_METHOD_FUNC(dfloat, numo_cDFloat)
276
+ #elif !defined(NUMO_NO_SIMD) && defined(__SSE2__)
247
277
  DEF_NARRAY_FLT_SQRT_SSE2_DBL_METHOD_FUNC(dfloat, numo_cDFloat)
278
+ #elif !defined(NUMO_NO_SIMD) && defined(__ARM_NEON) && defined(__aarch64__)
279
+ DEF_NARRAY_FLT_SQRT_NEON_DBL_METHOD_FUNC(dfloat, numo_cDFloat)
248
280
  #else
249
281
  DEF_NARRAY_FLT_SQRT_METHOD_FUNC(dfloat, numo_cDFloat)
250
282
  #endif
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_left_shift;
24
19
  static ID id_right_shift;
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_left_shift;
24
19
  static ID id_right_shift;
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_left_shift;
24
19
  static ID id_right_shift;
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_left_shift;
24
19
  static ID id_right_shift;
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_ne;
23
18
  static ID id_pow;
24
19
  static ID id_minus;
@@ -50,7 +45,6 @@ static ID id_reciprocal;
50
45
  static ID id_round;
51
46
  static ID id_square;
52
47
  static ID id_to_a;
53
- static ID id_to_s;
54
48
  static ID id_truncate;
55
49
 
56
50
  #include <numo/types/robject.h>
@@ -147,7 +141,7 @@ DEF_NARRAY_ASET_METHOD_FUNC(robject)
147
141
  DEF_NARRAY_COERCE_CAST_METHOD_FUNC(robject)
148
142
  DEF_NARRAY_TO_A_METHOD_FUNC(robject)
149
143
  DEF_NARRAY_FILL_METHOD_FUNC(robject)
150
- DEF_NARRAY_ROBJ_FORMAT_METHOD_FUNC()
144
+ DEF_NARRAY_FORMAT_METHOD_FUNC(robject)
151
145
  DEF_NARRAY_FORMAT_TO_A_METHOD_FUNC(robject)
152
146
  DEF_NARRAY_ROBJ_INSPECT_METHOD_FUNC()
153
147
  DEF_NARRAY_EACH_METHOD_FUNC(robject)
@@ -371,7 +365,6 @@ void Init_numo_robject(void) {
371
365
  id_round = rb_intern("round");
372
366
  id_square = rb_intern("square");
373
367
  id_to_a = rb_intern("to_a");
374
- id_to_s = rb_intern("to_s");
375
368
  id_truncate = rb_intern("truncate");
376
369
 
377
370
  /**
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_cast;
24
19
  static ID id_copysign;
@@ -14,11 +14,21 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
17
+ #if !defined(NUMO_NO_SIMD) && defined(__SSE2__)
18
18
  #include <emmintrin.h>
19
19
  #define SIMD_ALIGNMENT_SIZE 16
20
20
  #endif
21
21
 
22
+ #if !defined(NUMO_NO_SIMD) && defined(__AVX__)
23
+ #include <immintrin.h>
24
+ #define AVX_ALIGNMENT_SIZE 32
25
+ #endif
26
+
27
+ #if !defined(NUMO_NO_SIMD) && defined(__ARM_NEON) && defined(__aarch64__)
28
+ #include <arm_neon.h>
29
+ #define NEON_ALIGNMENT_SIZE 16
30
+ #endif
31
+
22
32
  static ID id_pow;
23
33
  static ID id_cast;
24
34
  static ID id_copysign;
@@ -166,11 +176,21 @@ DEF_NARRAY_MAP_METHOD_FUNC(sfloat, numo_cSFloat)
166
176
  DEF_NARRAY_EACH_WITH_INDEX_METHOD_FUNC(sfloat)
167
177
  DEF_NARRAY_MAP_WITH_INDEX_METHOD_FUNC(sfloat, numo_cSFloat)
168
178
  DEF_NARRAY_ABS_METHOD_FUNC(sfloat, numo_cSFloat, sfloat, numo_cSFloat)
169
- #ifdef __SSE2__
179
+ #if !defined(NUMO_NO_SIMD) && defined(__AVX__)
180
+ DEF_NARRAY_SFLT_ADD_AVX_METHOD_FUNC()
181
+ DEF_NARRAY_SFLT_SUB_AVX_METHOD_FUNC()
182
+ DEF_NARRAY_SFLT_MUL_AVX_METHOD_FUNC()
183
+ DEF_NARRAY_SFLT_DIV_AVX_METHOD_FUNC()
184
+ #elif !defined(NUMO_NO_SIMD) && defined(__SSE2__)
170
185
  DEF_NARRAY_SFLT_ADD_SSE2_METHOD_FUNC()
171
186
  DEF_NARRAY_SFLT_SUB_SSE2_METHOD_FUNC()
172
187
  DEF_NARRAY_SFLT_MUL_SSE2_METHOD_FUNC()
173
188
  DEF_NARRAY_SFLT_DIV_SSE2_METHOD_FUNC()
189
+ #elif !defined(NUMO_NO_SIMD) && defined(__ARM_NEON) && defined(__aarch64__)
190
+ DEF_NARRAY_SFLT_ADD_NEON_METHOD_FUNC()
191
+ DEF_NARRAY_SFLT_SUB_NEON_METHOD_FUNC()
192
+ DEF_NARRAY_SFLT_MUL_NEON_METHOD_FUNC()
193
+ DEF_NARRAY_SFLT_DIV_NEON_METHOD_FUNC()
174
194
  #else
175
195
  DEF_NARRAY_ADD_METHOD_FUNC(sfloat, numo_cSFloat)
176
196
  DEF_NARRAY_SUB_METHOD_FUNC(sfloat, numo_cSFloat)
@@ -223,7 +243,15 @@ DEF_NARRAY_FLT_MINIMUM_METHOD_FUNC(sfloat, numo_cSFloat)
223
243
  DEF_NARRAY_FLT_MINMAX_METHOD_FUNC(sfloat, numo_cSFloat)
224
244
  DEF_NARRAY_FLT_CUMSUM_METHOD_FUNC(sfloat, numo_cSFloat)
225
245
  DEF_NARRAY_FLT_CUMPROD_METHOD_FUNC(sfloat, numo_cSFloat)
246
+ #if !defined(NUMO_NO_SIMD) && defined(__AVX__)
247
+ DEF_NARRAY_SFLT_MULSUM_AVX_METHOD_FUNC()
248
+ #elif !defined(NUMO_NO_SIMD) && defined(__SSE2__)
249
+ DEF_NARRAY_SFLT_MULSUM_SSE2_METHOD_FUNC()
250
+ #elif !defined(NUMO_NO_SIMD) && defined(__ARM_NEON) && defined(__aarch64__)
251
+ DEF_NARRAY_SFLT_MULSUM_NEON_METHOD_FUNC()
252
+ #else
226
253
  DEF_NARRAY_FLT_MULSUM_METHOD_FUNC(sfloat, numo_cSFloat)
254
+ #endif
227
255
  DEF_NARRAY_FLT_SEQ_METHOD_FUNC(sfloat)
228
256
  DEF_NARRAY_FLT_LOGSEQ_METHOD_FUNC(sfloat)
229
257
  DEF_NARRAY_EYE_METHOD_FUNC(sfloat)
@@ -241,8 +269,12 @@ DEF_NARRAY_FLT_SORT_METHOD_FUNC(sfloat)
241
269
  #define qsort_cast **(sfloat**)
242
270
  DEF_NARRAY_FLT_SORT_INDEX_METHOD_FUNC(sfloat, numo_cSFloat)
243
271
  DEF_NARRAY_FLT_MEDIAN_METHOD_FUNC(sfloat)
244
- #ifdef __SSE2__
272
+ #if !defined(NUMO_NO_SIMD) && defined(__AVX__)
273
+ DEF_NARRAY_FLT_SQRT_AVX_SGL_METHOD_FUNC(sfloat, numo_cSFloat)
274
+ #elif !defined(NUMO_NO_SIMD) && defined(__SSE2__)
245
275
  DEF_NARRAY_FLT_SQRT_SSE2_SGL_METHOD_FUNC(sfloat, numo_cSFloat)
276
+ #elif !defined(NUMO_NO_SIMD) && defined(__ARM_NEON) && defined(__aarch64__)
277
+ DEF_NARRAY_FLT_SQRT_NEON_SGL_METHOD_FUNC(sfloat, numo_cSFloat)
246
278
  #else
247
279
  DEF_NARRAY_FLT_SQRT_METHOD_FUNC(sfloat, numo_cSFloat)
248
280
  #endif
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_left_shift;
24
19
  static ID id_right_shift;
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_left_shift;
24
19
  static ID id_right_shift;
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_left_shift;
24
19
  static ID id_right_shift;
@@ -14,11 +14,6 @@
14
14
 
15
15
  #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
16
16
 
17
- #ifdef __SSE2__
18
- #include <emmintrin.h>
19
- #define SIMD_ALIGNMENT_SIZE 16
20
- #endif
21
-
22
17
  static ID id_pow;
23
18
  static ID id_left_shift;
24
19
  static ID id_right_shift;
@@ -137,10 +137,6 @@ module Numo
137
137
  # # [[2, -3, 5],
138
138
  # # [4, 9, 7],
139
139
  # # [2, -1, 6]]
140
- # @example
141
- # a = Numo::NArray.parse('true false nil')
142
- # # => Numo::Bit#shape=[1,3]
143
- # # [[1, 0, 0]]
144
140
 
145
141
  def self.parse(str, split1d: /\s+/, split2d: /;?$|;/,
146
142
  split3d: /\s*\n(\s*\n)+/m)
@@ -155,8 +151,7 @@ module Numo
155
151
 
156
152
  c = []
157
153
  line.split(split1d).each do |item|
158
- item = item.strip
159
- c << parse_token(item) unless item.empty?
154
+ c << eval(item.strip) unless item.empty? # rubocop:disable Security/Eval
160
155
  end
161
156
  b << c unless c.empty?
162
157
  end
@@ -169,42 +164,6 @@ module Numo
169
164
  end
170
165
  end
171
166
 
172
- # Convert one token of {parse} input into a value.
173
- #
174
- # Only the literals that describe an element are accepted: integer, float
175
- # and complex numbers, and +true+, +false+ and +nil+, which {cast} turns
176
- # into a {Numo::Bit}. Anything else -- an expression, a method call, a bare
177
- # word -- raises ArgumentError, so text handed to {parse} is never executed
178
- # as Ruby code.
179
- #
180
- # @param item [String] one whitespace-delimited token, already stripped
181
- # @return [Integer, Float, Complex, true, false, nil] the parsed value
182
- # @raise [ArgumentError] if the token is not one of those literals
183
- def self.parse_token(item)
184
- case item
185
- when 'true' then return true
186
- when 'false' then return false
187
- when 'nil' then return nil
188
- end
189
-
190
- v = Integer(item, exception: false)
191
- return v if v
192
-
193
- v = Float(item, exception: false)
194
- return v if v
195
-
196
- if item.end_with?('i')
197
- begin
198
- return Complex(item)
199
- rescue ArgumentError, TypeError
200
- nil
201
- end
202
- end
203
-
204
- raise ArgumentError, "invalid literal: #{item.inspect}"
205
- end
206
- private_class_method :parse_token
207
-
208
167
  # Iterate over an axis
209
168
  # @example
210
169
  # > a = Numo::DFloat.new(2,2,2).seq
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: numo-narray-alt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.7
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - yoshoku
@@ -214,7 +214,7 @@ licenses:
214
214
  metadata:
215
215
  homepage_uri: https://github.com/yoshoku/numo-narray-alt
216
216
  changelog_uri: https://github.com/yoshoku/numo-narray-alt/blob/main/CHANGELOG.md
217
- documentation_uri: https://gemdocs.org/gems/numo-narray-alt/0.10.7/
217
+ documentation_uri: https://gemdocs.org/gems/numo-narray-alt/0.11.0/
218
218
  rubygems_mfa_required: 'true'
219
219
  post_install_message: |
220
220
  ===
@@ -238,7 +238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
238
  - !ruby/object:Gem::Version
239
239
  version: '0'
240
240
  requirements: []
241
- rubygems_version: 4.0.16
241
+ rubygems_version: 4.0.13
242
242
  specification_version: 4
243
243
  summary: Numo::NArray Alternative is a project forked from Numo::NArray.
244
244
  test_files: []