carray 3.0.0 → 3.0.2
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.
- checksums.yaml +4 -4
- data/.yardopts +2 -1
- data/CHANGELOG.md +845 -3
- data/{NEWS.md → CHANGELOG.v1.md} +1 -1
- data/README.md +33 -33
- data/carray.gemspec +12 -8
- data/ext/ca_axis_dispatch.c +33 -4
- data/ext/ca_axis_group.c +256 -114
- data/ext/ca_binop_dispatch.c +5 -6
- data/ext/ca_binop_dispatch.h +0 -7
- data/ext/ca_categorical_iterator.c +121 -67
- data/ext/ca_for_each_element.h +6 -8
- data/ext/ca_group_iter.c +1 -1
- data/ext/ca_kernel_iterator.c +386 -74
- data/ext/ca_kernel_iterator.h +145 -45
- data/ext/ca_obj_array.c +62 -20
- data/ext/ca_obj_bincmp.c +57 -27
- data/ext/ca_obj_binop.c +86 -30
- data/ext/ca_obj_block.c +4 -4
- data/ext/ca_obj_const_string.c +88 -27
- data/ext/ca_obj_face.c +104 -0
- data/ext/ca_obj_face.h +48 -1
- data/ext/ca_obj_fake.c +11 -0
- data/ext/ca_obj_fixlen_string.c +21 -6
- data/ext/ca_obj_grid.c +11 -3
- data/ext/ca_obj_meld.c +125 -22
- data/ext/ca_obj_moncmp.c +33 -14
- data/ext/ca_obj_monop.c +19 -7
- data/ext/ca_obj_object.c +107 -4
- data/ext/ca_obj_record.c +3 -1
- data/ext/ca_obj_refer.c +30 -6
- data/ext/ca_obj_roll.c +13 -5
- data/ext/ca_obj_select.c +49 -34
- data/ext/ca_obj_select_axis.c +16 -6
- data/ext/ca_obj_shift.c +3 -3
- data/ext/ca_obj_stack.c +3 -8
- data/ext/ca_obj_stride.c +178 -24
- data/ext/ca_obj_string.c +11 -5
- data/ext/ca_obj_tile.c +13 -5
- data/ext/ca_obj_time.c +3 -1
- data/ext/ca_obj_timedelta.c +3 -1
- data/ext/ca_obj_transpose.c +1 -1
- data/ext/ca_obj_triop.c +62 -23
- data/ext/ca_obj_window.c +94 -19
- data/ext/ca_op_cmplx64.h +123 -0
- data/ext/ca_op_ipower.c +1 -5
- data/ext/ca_rng_normal.h +42 -0
- data/ext/ca_rng_xoshiro256pp.h +105 -0
- data/ext/ca_sort_kernels.h +5 -5
- data/ext/ca_sweep_engine.c +362 -155
- data/ext/ca_sweep_engine.h +39 -9
- data/ext/ca_transform_common.c +7 -0
- data/ext/carray.h +148 -132
- data/ext/carray_access.c +83 -49
- data/ext/carray_address_basis.c +590 -0
- data/ext/carray_bincount.c +8 -8
- data/ext/carray_broadcast.c +102 -9
- data/ext/carray_build_flags.h +3 -0
- data/ext/carray_call_cfunc.c +2010 -335
- data/ext/carray_call_cfunc.h +153 -0
- data/ext/carray_cast.c +184 -72
- data/ext/carray_conversion.c +22 -22
- data/ext/carray_copy.c +67 -32
- data/ext/carray_core.c +140 -13
- data/ext/carray_count.c +10 -11
- data/ext/carray_element.c +7 -7
- data/ext/carray_factorize.c +72 -51
- data/ext/carray_hold.c +1 -1
- data/ext/carray_index_classifier.c +7 -21
- data/ext/carray_internal.h +36 -3
- data/ext/carray_kernels_bincmp.c +1 -0
- data/ext/carray_kernels_binop.c +320 -298
- data/ext/carray_kernels_init.c +1095 -0
- data/ext/carray_kernels_map.c +1 -0
- data/ext/carray_kernels_moncmp.c +1 -0
- data/ext/carray_kernels_monop.c +412 -411
- data/ext/carray_kernels_reduce_aggregate.c +256 -87
- data/ext/carray_kernels_reduce_boolean.c +1 -0
- data/ext/carray_kernels_reduce_cumulative.c +324 -54
- data/ext/carray_kernels_reduce_extreme.c +605 -58
- data/ext/carray_kernels_reduce_variance.c +1 -0
- data/ext/carray_kernels_scan.c +5 -4
- data/ext/carray_kernels_search.c +187 -106
- data/ext/carray_kernels_sort.c +1 -0
- data/ext/carray_kernels_triop.c +1 -0
- data/ext/carray_lazy.c +175 -5
- data/ext/carray_loop.c +7 -1
- data/ext/carray_mask.c +29 -13
- data/ext/carray_median_percentile.c +56 -1
- data/ext/carray_memory_view.c +46 -21
- data/ext/carray_operator.c +50 -53
- data/ext/carray_order.c +1 -1
- data/ext/carray_partition.c +4 -4
- data/ext/carray_random.c +391 -47
- data/ext/carray_scatter.c +1 -1
- data/ext/carray_slab.c +13 -0
- data/ext/carray_sort.c +22 -24
- data/ext/carray_sort_kernel.c +10 -10
- data/ext/carray_test.c +1 -1
- data/ext/extconf.rb +18 -0
- data/ext/mk_call_cfunc.rb +323 -145
- data/ext/mkkernel.rb +651 -129
- data/ext/ruby_carray.c +28 -17
- data/ext/version.h +4 -4
- data/lib/carray/autoload_carray.rb +24 -3
- data/lib/carray/autoload_method_extension.rb +14 -1
- data/lib/carray/axis_group.rb +84 -7
- data/lib/carray/basics.rb +63 -59
- data/lib/carray/bincount_nd.rb +12 -12
- data/lib/carray/block_iterator.rb +111 -25
- data/lib/carray/categorical.rb +154 -37
- data/lib/carray/categorical_iterator.rb +300 -151
- data/lib/carray/conditional.rb +14 -14
- data/lib/carray/const_string.rb +131 -27
- data/lib/carray/construct.rb +61 -0
- data/lib/carray/core_extensions.rb +62 -5
- data/lib/carray/data_type_extension.rb +21 -1
- data/lib/carray/data_type_limits.rb +91 -0
- data/lib/carray/fixlen_string.rb +1 -1
- data/lib/carray/frame/concat.rb +3 -3
- data/lib/carray/frame/convert.rb +1 -1
- data/lib/carray/frame/csv_parser.rb +11 -4
- data/lib/carray/frame/frame.rb +85 -21
- data/lib/carray/frame/group.rb +36 -3
- data/lib/carray/frame/io.rb +224 -15
- data/lib/carray/frame/records.rb +18 -4
- data/lib/carray/frame/sort.rb +1 -1
- data/lib/carray/frame/verbs.rb +32 -12
- data/lib/carray/fuse_source.rb +123 -0
- data/lib/carray/fusion.rb +218 -0
- data/lib/carray/histogram.rb +16 -16
- data/lib/carray/inspect.rb +43 -16
- data/lib/carray/iterator.rb +147 -3
- data/lib/carray/lazy.rb +88 -73
- data/lib/carray/mask_gap_fill.rb +3 -1
- data/lib/carray/meld_reduce.rb +2 -2
- data/lib/carray/methods/align_addr.rb +1 -1
- data/lib/carray/methods/composition.rb +1 -1
- data/lib/carray/methods/discovery_along.rb +74 -0
- data/lib/carray/methods/factorize.rb +50 -0
- data/lib/carray/methods/is_in.rb +25 -14
- data/lib/carray/methods/locate_addr.rb +81 -3
- data/lib/carray/methods/mask_duplicates.rb +36 -2
- data/lib/carray/methods/meshgrid.rb +4 -5
- data/lib/carray/methods/mode.rb +2 -2
- data/lib/carray/methods/nunique.rb +23 -2
- data/lib/carray/methods/repeat.rb +110 -0
- data/lib/carray/methods/snap.rb +7 -2
- data/lib/carray/methods/unique.rb +44 -4
- data/lib/carray/methods/value_counts.rb +2 -2
- data/lib/carray/rng.rb +86 -0
- data/lib/carray/runtime.rb +0 -19
- data/lib/carray/slab_iterator.rb +77 -19
- data/lib/carray/string_operation_extension.rb +10 -6
- data/lib/carray/time.rb +906 -491
- data/lib/carray/window_iterator.rb +421 -27
- data/lib/carray.rb +7 -5
- data/yard-stubs/ca_obj_array.rb +385 -0
- data/yard-stubs/ca_obj_bitarray.rb +38 -0
- data/yard-stubs/ca_obj_bitfield.rb +43 -0
- data/yard-stubs/ca_obj_block.rb +68 -0
- data/yard-stubs/ca_obj_byte_swap.rb +56 -0
- data/yard-stubs/ca_obj_fake.rb +31 -0
- data/yard-stubs/ca_obj_farray.rb +32 -0
- data/yard-stubs/ca_obj_field.rb +45 -0
- data/yard-stubs/ca_obj_grid.rb +35 -0
- data/yard-stubs/ca_obj_refer.rb +72 -0
- data/yard-stubs/ca_obj_roll.rb +45 -0
- data/yard-stubs/ca_obj_shift.rb +43 -0
- data/yard-stubs/ca_obj_stride.rb +181 -0
- data/yard-stubs/ca_obj_tile.rb +29 -0
- data/yard-stubs/ca_obj_transpose.rb +40 -0
- data/yard-stubs/ca_obj_window.rb +57 -0
- data/yard-stubs/carray_access.rb +131 -0
- data/yard-stubs/carray_attribute.rb +246 -0
- data/yard-stubs/carray_broadcast.rb +37 -0
- data/yard-stubs/carray_cast.rb +489 -0
- data/yard-stubs/carray_class.rb +65 -0
- data/yard-stubs/carray_conversion.rb +76 -0
- data/yard-stubs/carray_copy.rb +79 -0
- data/yard-stubs/carray_core.rb +34 -0
- data/yard-stubs/carray_count.rb +84 -0
- data/yard-stubs/carray_element.rb +108 -0
- data/yard-stubs/carray_generate.rb +66 -0
- data/yard-stubs/carray_lazy.rb +228 -0
- data/yard-stubs/carray_loop.rb +140 -0
- data/yard-stubs/carray_mask.rb +259 -0
- data/yard-stubs/carray_math.rb +1615 -0
- data/yard-stubs/carray_mathfunc.rb +45 -0
- data/yard-stubs/carray_median_percentile.rb +103 -0
- data/yard-stubs/carray_memory_view.rb +163 -0
- data/yard-stubs/carray_order.rb +252 -0
- data/yard-stubs/carray_random.rb +89 -0
- data/yard-stubs/carray_scatter.rb +106 -0
- data/yard-stubs/carray_slab.rb +59 -0
- data/yard-stubs/carray_sort.rb +165 -0
- data/yard-stubs/carray_test.rb +85 -0
- data/yard-stubs/carray_undef.rb +64 -0
- data/yard-stubs/carray_utils.rb +97 -0
- data/yard-stubs/ruby_carray.rb +193 -0
- metadata +67 -10
- data/ext/ca_obj_unbound_repeat.c +0 -496
data/ext/carray_access.c
CHANGED
|
@@ -19,7 +19,7 @@ static ID id_begin, id_end, id_excl_end;
|
|
|
19
19
|
#define RANGE_EXCL(r) (rb_funcall(r, id_excl_end, 0))
|
|
20
20
|
|
|
21
21
|
static ID id_to_ca;
|
|
22
|
-
static VALUE
|
|
22
|
+
static VALUE sym_perc, sym_under, sym_gt, sym_tilde;
|
|
23
23
|
static VALUE S_CAInfo;
|
|
24
24
|
|
|
25
25
|
VALUE
|
|
@@ -492,6 +492,14 @@ rb_ca_ref_all (VALUE self, CAIndexInfo *info)
|
|
|
492
492
|
return rb_funcall(self, rb_intern("refer"), 0);
|
|
493
493
|
}
|
|
494
494
|
|
|
495
|
+
static ID
|
|
496
|
+
ca_id_expression_evaluator (void)
|
|
497
|
+
{
|
|
498
|
+
static ID id = 0;
|
|
499
|
+
if ( ! id ) id = rb_intern("@expression_evaluator");
|
|
500
|
+
return id;
|
|
501
|
+
}
|
|
502
|
+
|
|
495
503
|
VALUE
|
|
496
504
|
rb_ca_store_all (VALUE self, VALUE rval)
|
|
497
505
|
{
|
|
@@ -515,16 +523,34 @@ rb_ca_store_all (VALUE self, VALUE rval)
|
|
|
515
523
|
CArray *cv;
|
|
516
524
|
TypedData_Get_Struct(rval, CArray, &carray_data_type, cv);
|
|
517
525
|
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
526
|
+
/* Where something is registered to compute an expression, and this is
|
|
527
|
+
one, it is asked before the walk below -- it fills the destination
|
|
528
|
+
directly, which is the whole of the saving; making an array and
|
|
529
|
+
copying it over is most of the work once the expression itself is
|
|
530
|
+
fast. It may decline, and then the walk does it. Narrow on purpose:
|
|
531
|
+
the same shape and data type, so nothing here has to broadcast or
|
|
532
|
+
cast on the way. */
|
|
533
|
+
if ( ca_is_lazy_view(cv)
|
|
534
|
+
&& ca->data_type == cv->data_type
|
|
535
|
+
&& ca->ndim == cv->ndim
|
|
536
|
+
&& ca->elements == cv->elements
|
|
537
|
+
&& RTEST(rb_attr_get(rb_cCArray, ca_id_expression_evaluator())) ) {
|
|
538
|
+
int8_t k;
|
|
539
|
+
int same = 1;
|
|
540
|
+
for ( k = 0; k < ca->ndim; k++ ) {
|
|
541
|
+
if ( ca->dim[k] != cv->dim[k] ) { same = 0; break; }
|
|
542
|
+
}
|
|
543
|
+
if ( same ) {
|
|
544
|
+
VALUE fusion = rb_const_get(rb_cCArray, rb_intern("Fusion"));
|
|
545
|
+
if ( RTEST(rb_funcall(fusion, rb_intern("evaluate_into"), 2, rval, self)) ) {
|
|
546
|
+
return rval;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
521
549
|
}
|
|
522
550
|
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
(ca_size_t) ca->elements, (ca_size_t) cv->elements);
|
|
527
|
-
}
|
|
551
|
+
/* The destination owns the shape; see ca_broadcast_to_destination. */
|
|
552
|
+
ca_broadcast_to_destination(self, &rval);
|
|
553
|
+
TypedData_Get_Struct(rval, CArray, &carray_data_type, cv);
|
|
528
554
|
|
|
529
555
|
/* Source delivery via ca_xfer_all into a local scratch instead of
|
|
530
556
|
ca_attach(cv). This routes through ca_*_func_xfer_all's per-region
|
|
@@ -985,7 +1011,16 @@ rb_ca_fetch_method (int argc, VALUE *argv, VALUE self)
|
|
|
985
1011
|
|
|
986
1012
|
switch ( info.type ) {
|
|
987
1013
|
case CA_REG_ADDRESS_COMPLEX:
|
|
1014
|
+
/* Re-enter against a flattened view of self. rb_ca_refer_new_flatten
|
|
1015
|
+
is an internal builder and hands back a bare refer, so a marker
|
|
1016
|
+
receiver would be dropped here and the result would never be lifted
|
|
1017
|
+
at the tail. Put it back on before the re-entry. (A Face survives
|
|
1018
|
+
on its own -- the internal builder still lifts those.) */
|
|
988
1019
|
self = rb_ca_refer_new_flatten(self);
|
|
1020
|
+
if ( ca_is_lazy_marker(ca) ) {
|
|
1021
|
+
extern VALUE rb_ca_lazy_marker_new (VALUE cary);
|
|
1022
|
+
self = rb_ca_lazy_marker_new(self);
|
|
1023
|
+
}
|
|
989
1024
|
goto retry;
|
|
990
1025
|
case CA_REG_ADDRESS:
|
|
991
1026
|
obj = rb_ca_ref_address(self, &info);
|
|
@@ -1011,9 +1046,6 @@ rb_ca_fetch_method (int argc, VALUE *argv, VALUE self)
|
|
|
1011
1046
|
case CA_REG_REPEAT:
|
|
1012
1047
|
obj = rb_ca_repeat(argc, argv, self);
|
|
1013
1048
|
break;
|
|
1014
|
-
case CA_REG_UNBOUND_REPEAT:
|
|
1015
|
-
obj = rb_funcall2(self, rb_intern("unbound_repeat"), (int) argc, argv);
|
|
1016
|
-
break;
|
|
1017
1049
|
case CA_REG_MAPPING:
|
|
1018
1050
|
obj = rb_ca_fancy_index_chain(self, argv[0]);
|
|
1019
1051
|
break;
|
|
@@ -1050,19 +1082,16 @@ rb_ca_fetch_method (int argc, VALUE *argv, VALUE self)
|
|
|
1050
1082
|
rb_raise(rb_eIndexError, "invalid index specified");
|
|
1051
1083
|
}
|
|
1052
1084
|
|
|
1053
|
-
/*
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
obj = ca_face_lift(obj, self);
|
|
1064
|
-
}
|
|
1065
|
-
}
|
|
1085
|
+
/* Wrapper lift at the read touch point: if `self` is a Face or a
|
|
1086
|
+
CALazyMarker, re-wrap the view result so the wrapper stays on top.
|
|
1087
|
+
Guarded to CArray results, which drops the scalar / CASlabIterator /
|
|
1088
|
+
CAGroupIterator / Hash cases the switch above can produce. The
|
|
1089
|
+
already-a-Face case (some builders lift their own result) is handled
|
|
1090
|
+
inside ca_wrapper_lift.
|
|
1091
|
+
|
|
1092
|
+
Every CA_REG_* branch converges here, so this one line covers every
|
|
1093
|
+
index form that returns a CArray. */
|
|
1094
|
+
CA_WRAPPER_LIFT(obj, self, ca);
|
|
1066
1095
|
|
|
1067
1096
|
return obj;
|
|
1068
1097
|
}
|
|
@@ -1075,6 +1104,8 @@ rb_ca_fetch_newaxis (int argc, VALUE *argv, VALUE self, CArray *ca)
|
|
|
1075
1104
|
{
|
|
1076
1105
|
int i;
|
|
1077
1106
|
int nclean = 0;
|
|
1107
|
+
int nscalar = 0;
|
|
1108
|
+
int nunder = 0;
|
|
1078
1109
|
VALUE clean[CA_RANK_MAX];
|
|
1079
1110
|
volatile VALUE base;
|
|
1080
1111
|
ca_size_t final_dims[CA_RANK_MAX];
|
|
@@ -1086,11 +1117,17 @@ rb_ca_fetch_newaxis (int argc, VALUE *argv, VALUE self, CArray *ca)
|
|
|
1086
1117
|
/* Build clean argv (strip :_); reject disjoint sigils + rubber dim. */
|
|
1087
1118
|
for (i = 0; i < argc; i++) {
|
|
1088
1119
|
VALUE a = argv[i];
|
|
1089
|
-
if ( a == sym_under )
|
|
1090
|
-
|
|
1120
|
+
if ( a == sym_under ) {
|
|
1121
|
+
nunder++;
|
|
1122
|
+
continue;
|
|
1123
|
+
}
|
|
1124
|
+
if ( FIXNUM_P(a) || RB_TYPE_P(a, T_BIGNUM) ) {
|
|
1125
|
+
nscalar++;
|
|
1126
|
+
}
|
|
1127
|
+
if ( a == sym_gt || a == sym_perc
|
|
1091
1128
|
|| a == Qfalse || a == sym_tilde ) {
|
|
1092
1129
|
rb_raise(rb_eIndexError,
|
|
1093
|
-
"newaxis (:_) cannot be combined with :>,
|
|
1130
|
+
"newaxis (:_) cannot be combined with :>, :%%, "
|
|
1094
1131
|
"or rubber dim (false / :~)");
|
|
1095
1132
|
}
|
|
1096
1133
|
if ( nclean >= CA_RANK_MAX ) {
|
|
@@ -1108,18 +1145,26 @@ rb_ca_fetch_newaxis (int argc, VALUE *argv, VALUE self, CArray *ca)
|
|
|
1108
1145
|
nclean, (int) ca->ndim);
|
|
1109
1146
|
}
|
|
1110
1147
|
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
if (
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1148
|
+
/* Every real axis indexed by a scalar: fetching `clean` would yield the
|
|
1149
|
+
element itself, and there would be nothing left to reshape. Ask for a
|
|
1150
|
+
length-1 block on each axis instead, so the base stays a CArray and the
|
|
1151
|
+
result is a view into self. The result carries exactly the axes :_ asked
|
|
1152
|
+
for, all of length 1 -- an operand that states rank nunder and one
|
|
1153
|
+
element, which is what the shape rules then hold it to. */
|
|
1154
|
+
if ( nscalar == nclean ) {
|
|
1155
|
+
VALUE blocks[CA_RANK_MAX];
|
|
1156
|
+
for (i = 0; i < nclean; i++) {
|
|
1157
|
+
blocks[i] = rb_assoc_new(clean[i], INT2FIX(1));
|
|
1158
|
+
}
|
|
1159
|
+
base = rb_ca_fetch_method(nclean, blocks, self);
|
|
1160
|
+
for (i = 0; i < nunder; i++) {
|
|
1161
|
+
dim_argv[i] = INT2FIX(1);
|
|
1162
|
+
}
|
|
1163
|
+
return rb_ca_reshape(nunder, dim_argv, base);
|
|
1121
1164
|
}
|
|
1122
1165
|
|
|
1166
|
+
base = rb_ca_fetch_method(nclean, clean, self);
|
|
1167
|
+
|
|
1123
1168
|
TypedData_Get_Struct(base, CArray, &carray_data_type, cb);
|
|
1124
1169
|
|
|
1125
1170
|
/* Reconstruct final shape: walk original argv. :_ -> size-1, scalar
|
|
@@ -1305,9 +1350,6 @@ rb_cs_fetch_method (int argc, VALUE *argv, VALUE self)
|
|
|
1305
1350
|
case CA_REG_REPEAT:
|
|
1306
1351
|
obj = rb_ca_repeat(argc, argv, self);
|
|
1307
1352
|
break;
|
|
1308
|
-
case CA_REG_UNBOUND_REPEAT:
|
|
1309
|
-
obj = rb_funcall2(self, rb_intern("unbound_repeat"), (int) argc, argv);
|
|
1310
|
-
break;
|
|
1311
1353
|
case CA_REG_MAPPING:
|
|
1312
1354
|
obj = rb_ca_fancy_index_chain(self, argv[0]);
|
|
1313
1355
|
break;
|
|
@@ -1491,10 +1533,6 @@ rb_ca_store_method (int argc, VALUE *argv, VALUE self)
|
|
|
1491
1533
|
obj = rb_ca_store_all(obj, rval);
|
|
1492
1534
|
break;
|
|
1493
1535
|
}
|
|
1494
|
-
case CA_REG_UNBOUND_REPEAT:
|
|
1495
|
-
obj = rb_funcall2(self, rb_intern("unbound_repeat"), (int) argc, argv);
|
|
1496
|
-
obj = rb_ca_store_all(obj, rval);
|
|
1497
|
-
break;
|
|
1498
1536
|
case CA_REG_MAPPING: {
|
|
1499
1537
|
obj = rb_ca_fancy_index_chain(self, argv[0]);
|
|
1500
1538
|
obj = rb_ca_store_all(obj, rval);
|
|
@@ -1669,7 +1707,6 @@ rb_ca_s_scan_index (VALUE self, VALUE rdim, VALUE ridx)
|
|
|
1669
1707
|
case CA_REG_GRID:
|
|
1670
1708
|
case CA_REG_MAPPING:
|
|
1671
1709
|
case CA_REG_METHOD_CALL:
|
|
1672
|
-
case CA_REG_UNBOUND_REPEAT:
|
|
1673
1710
|
case CA_REG_MEMBER:
|
|
1674
1711
|
case CA_REG_ATTRIBUTE:
|
|
1675
1712
|
break;
|
|
@@ -2052,7 +2089,6 @@ Init_carray_access (void)
|
|
|
2052
2089
|
id_excl_end = rb_intern("exclude_end?");
|
|
2053
2090
|
|
|
2054
2091
|
id_to_ca = rb_intern("to_ca");
|
|
2055
|
-
sym_star = ID2SYM(rb_intern("*"));
|
|
2056
2092
|
sym_perc = ID2SYM(rb_intern("%"));
|
|
2057
2093
|
sym_under = ID2SYM(rb_intern("_"));
|
|
2058
2094
|
sym_gt = ID2SYM(rb_intern(">"));
|
|
@@ -2094,8 +2130,6 @@ Init_carray_access (void)
|
|
|
2094
2130
|
rb_define_const(rb_cObject, "CA_REG_MAPPING", INT2NUM(CA_REG_MAPPING));
|
|
2095
2131
|
rb_define_const(rb_cObject, "CA_REG_METHOD_CALL",
|
|
2096
2132
|
INT2NUM(CA_REG_METHOD_CALL));
|
|
2097
|
-
rb_define_const(rb_cObject, "CA_REG_UNBOUND_REPEAT",
|
|
2098
|
-
INT2NUM(CA_REG_UNBOUND_REPEAT));
|
|
2099
2133
|
rb_define_const(rb_cObject, "CA_REG_MEMBER", INT2NUM(CA_REG_MEMBER));
|
|
2100
2134
|
rb_define_const(rb_cObject, "CA_REG_ATTRIBUTE", INT2NUM(CA_REG_ATTRIBUTE));
|
|
2101
2135
|
|