ext/cumo/include/cumo/narray.h in cumo-0.2.4 vs ext/cumo/include/cumo/narray.h in cumo-0.2.5
- old
+ new
@@ -194,14 +194,16 @@
extern VALUE cumo_cUInt64;
extern VALUE cumo_cUInt32;
extern VALUE cumo_cUInt16;
extern VALUE cumo_cUInt8;
extern VALUE cumo_cRObject;
-extern VALUE cumo_na_cStep;
#ifndef HAVE_RB_CCOMPLEX
extern VALUE rb_cComplex;
#endif
+#ifdef HAVE_RB_ARITHMETIC_SEQUENCE_EXTRACT
+extern VALUE rb_cArithSeq;
+#endif
extern VALUE cumo_sym_reduce;
extern VALUE cumo_sym_option;
extern VALUE cumo_sym_loop_opt;
extern VALUE cumo_sym_init;
@@ -263,9 +265,26 @@
unsigned int element_bits;
unsigned int element_bytes;
unsigned int element_stride;
} cumo_narray_type_info_t;
+// from ruby/enumerator.c
+typedef struct {
+ VALUE obj;
+ ID meth;
+ VALUE args;
+ // use only above in this source
+ VALUE fib;
+ VALUE dst;
+ VALUE lookahead;
+ VALUE feedvalue;
+ VALUE stop_exc;
+ VALUE size;
+ // incompatible below depending on ruby version
+ //VALUE procs; // ruby 2.4
+ //rb_enumerator_size_func *size_fn; // ruby 2.1-2.4
+ //VALUE (*size_fn)(ANYARGS); // ruby 2.0
+} cumo_enumerator_t;
static inline cumo_narray_t *
cumo_na_get_narray_t(VALUE obj)
{
cumo_narray_t *na;