Lines Matching defs:VALUE

29 VALUE rb_cArray;
34 #define ARY_MAX_SIZE (LONG_MAX / (int)sizeof(VALUE))
37 rb_mem_clear(register VALUE *mem, register long size)
45 memfill(register VALUE *mem, register long size, register VALUE val)
149 ary_resize_capa(VALUE ary, long capacity)
157 VALUE *ptr = ALLOC_N(VALUE, (capacity));
158 MEMCPY(ptr, ARY_EMBED_PTR(ary), VALUE, len);
164 REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, (capacity));
171 VALUE *ptr = RARRAY_PTR(ary);
173 MEMCPY(RARRAY(ary)->as.ary, ptr, VALUE, len);
182 ary_double_capa(VALUE ary, long min)
197 rb_ary_decrement_share(VALUE shared)
212 rb_ary_unshare(VALUE ary)
214 VALUE shared = RARRAY(ary)->as.heap.aux.shared;
220 rb_ary_unshare_safe(VALUE ary)
227 static VALUE
228 rb_ary_increment_share(VALUE shared)
238 rb_ary_set_shared(VALUE ary, VALUE shared)
246 rb_ary_modify_check(VALUE ary)
254 rb_ary_modify(VALUE ary)
259 VALUE shared = ARY_SHARED(ary);
261 VALUE *ptr = ARY_HEAP_PTR(ary);
264 MEMCPY(ARY_EMBED_PTR(ary), ptr, VALUE, len);
273 MEMMOVE(RARRAY_PTR(ary), RARRAY_PTR(ary)+shift, VALUE, len);
278 VALUE *ptr = ALLOC_N(VALUE, len);
279 MEMCPY(ptr, RARRAY_PTR(ary), VALUE, len);
288 ary_ensure_room_for_push(VALUE ary, long add_len)
295 VALUE shared = ARY_SHARED(ary);
329 VALUE
330 rb_ary_freeze(VALUE ary)
343 static VALUE
344 rb_ary_frozen_p(VALUE ary)
357 VALUE
358 rb_ary_shared_with_p(VALUE ary1, VALUE ary2)
369 static VALUE
370 ary_alloc(VALUE klass)
373 FL_SET_EMBED((VALUE)ary);
374 ARY_SET_EMBED_LEN((VALUE)ary, 0);
376 return (VALUE)ary;
379 static VALUE
380 empty_ary_alloc(VALUE klass)
389 static VALUE
390 ary_new(VALUE klass, long capa)
392 VALUE ary;
408 ARY_SET_PTR(ary, ALLOC_N(VALUE, capa));
416 VALUE
423 VALUE
431 VALUE
435 VALUE ary;
442 RARRAY_PTR(ary)[i] = va_arg(ar, VALUE);
450 VALUE
451 rb_ary_new4(long n, const VALUE *elts)
453 VALUE ary;
457 MEMCPY(RARRAY_PTR(ary), elts, VALUE, n);
464 VALUE
471 rb_ary_free(VALUE ary)
479 rb_ary_memsize(VALUE ary)
482 return RARRAY(ary)->as.heap.aux.capa * sizeof(VALUE);
490 ary_discard(VALUE ary)
497 static VALUE
498 ary_make_shared(VALUE ary)
517 ARY_SET_LEN((VALUE)shared, ARY_CAPA(ary));
518 ARY_SET_PTR((VALUE)shared, RARRAY_PTR(ary));
521 ARY_SET_SHARED_NUM((VALUE)shared, 1);
523 ARY_SET_SHARED(ary, (VALUE)shared);
525 return (VALUE)shared;
530 static VALUE
531 ary_make_substitution(VALUE ary)
534 VALUE subst = rb_ary_new2(RARRAY_LEN(ary));
535 MEMCPY(ARY_EMBED_PTR(subst), RARRAY_PTR(ary), VALUE, RARRAY_LEN(ary));
544 VALUE
545 rb_assoc_new(VALUE car, VALUE cdr)
550 static VALUE
551 to_ary(VALUE ary)
556 VALUE
557 rb_check_array_type(VALUE ary)
581 static VALUE
582 rb_ary_s_try_convert(VALUE dummy, VALUE ary)
643 static VALUE
644 rb_ary_initialize(int argc, VALUE *argv, VALUE ary)
647 VALUE size, val;
706 static VALUE
707 rb_ary_s_create(int argc, VALUE *argv, VALUE klass)
709 VALUE ary = ary_new(klass, argc);
711 MEMCPY(RARRAY_PTR(ary), argv, VALUE, argc);
719 rb_ary_store(VALUE ary, long idx, VALUE val)
747 static VALUE
748 ary_make_partial(VALUE ary, VALUE klass, long offset, long len)
755 VALUE result = ary_alloc(klass);
756 MEMCPY(ARY_EMBED_PTR(result), RARRAY_PTR(ary) + offset, VALUE, len);
761 VALUE shared, result = ary_alloc(klass);
775 static VALUE
776 ary_make_shared_copy(VALUE ary)
787 static VALUE
788 ary_take_first_or_last(int argc, VALUE *argv, VALUE ary, enum ary_take_pos_flags last)
790 VALUE nv;
821 VALUE
822 rb_ary_push(VALUE ary, VALUE item)
832 static VALUE
833 rb_ary_push_1(VALUE ary, VALUE item)
845 VALUE
846 rb_ary_cat(VALUE ary, const VALUE *ptr, long len)
851 MEMCPY(RARRAY_PTR(ary) + oldlen, ptr, VALUE, len);
872 static VALUE
873 rb_ary_push_m(int argc, VALUE *argv, VALUE ary)
878 VALUE
879 rb_ary_pop(VALUE ary)
913 static VALUE
914 rb_ary_pop_m(int argc, VALUE *argv, VALUE ary)
916 VALUE result;
928 VALUE
929 rb_ary_shift(VALUE ary)
931 VALUE top;
938 MEMMOVE(RARRAY_PTR(ary), RARRAY_PTR(ary)+1, VALUE, RARRAY_LEN(ary)-1);
979 static VALUE
980 rb_ary_shift_m(int argc, VALUE *argv, VALUE ary)
982 VALUE result;
999 MEMMOVE(RARRAY_PTR(ary), RARRAY_PTR(ary)+n, VALUE, RARRAY_LEN(ary)-n);
1007 ary_ensure_room_for_unshift(VALUE ary, int argc)
1012 VALUE *head, *sharedp;
1015 VALUE shared = ARY_SHARED(ary);
1044 MEMMOVE(sharedp + argc + room, head, VALUE, len);
1051 MEMMOVE(RARRAY_PTR(ary) + argc, RARRAY_PTR(ary), VALUE, len);
1067 static VALUE
1068 rb_ary_unshift_m(int argc, VALUE *argv, VALUE ary)
1078 MEMCPY(RARRAY_PTR(ary), argv, VALUE, argc);
1083 VALUE
1084 rb_ary_unshift(VALUE ary, VALUE item)
1090 static inline VALUE
1091 rb_ary_elt(VALUE ary, long offset)
1100 VALUE
1101 rb_ary_entry(VALUE ary, long offset)
1109 VALUE
1110 rb_ary_subseq(VALUE ary, long beg, long len)
1112 VALUE klass;
1162 VALUE
1163 rb_ary_aref(int argc, VALUE *argv, VALUE ary)
1165 VALUE arg;
1209 static VALUE
1210 rb_ary_at(VALUE ary, VALUE pos)
1230 static VALUE
1231 rb_ary_first(int argc, VALUE *argv, VALUE ary)
1257 VALUE
1258 rb_ary_last(int argc, VALUE *argv, VALUE ary)
1292 static VALUE
1293 rb_ary_fetch(int argc, VALUE *argv, VALUE ary)
1295 VALUE pos, ifnone;
1345 static VALUE
1346 rb_ary_index(int argc, VALUE *argv, VALUE ary)
1348 VALUE val;
1394 static VALUE
1395 rb_ary_rindex(int argc, VALUE *argv, VALUE ary)
1397 VALUE val;
1424 VALUE
1425 rb_ary_to_ary(VALUE obj)
1427 VALUE tmp = rb_check_array_type(obj);
1434 rb_ary_splice(VALUE ary, long beg, long len, VALUE rpl)
1465 MEMCPY(RARRAY_PTR(ary) + beg, RARRAY_PTR(rpl), VALUE, rlen);
1480 VALUE, RARRAY_LEN(ary) - (beg + len));
1484 MEMMOVE(RARRAY_PTR(ary) + beg, RARRAY_PTR(rpl), VALUE, rlen);
1490 rb_ary_set_len(VALUE ary, long len)
1512 VALUE
1513 rb_ary_resize(VALUE ary, long len)
1534 VALUE tmp[RARRAY_EMBED_LEN_MAX];
1535 MEMCPY(tmp, ARY_HEAP_PTR(ary), VALUE, len);
1537 MEMCPY(ARY_EMBED_PTR(ary), tmp, VALUE, len);
1542 REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, len);
1585 static VALUE
1586 rb_ary_aset(int argc, VALUE *argv, VALUE ary)
1629 static VALUE
1630 rb_ary_insert(int argc, VALUE *argv, VALUE ary)
1648 static VALUE
1649 rb_ary_length(VALUE ary);
1669 VALUE
1670 rb_ary_each(VALUE array)
1673 volatile VALUE ary = array;
1700 static VALUE
1701 rb_ary_each_index(VALUE ary)
1727 static VALUE
1728 rb_ary_reverse_each(VALUE ary)
1753 static VALUE
1754 rb_ary_length(VALUE ary)
1769 static VALUE
1770 rb_ary_empty_p(VALUE ary)
1777 VALUE
1778 rb_ary_dup(VALUE ary)
1780 VALUE dup = rb_ary_new2(RARRAY_LEN(ary));
1781 MEMCPY(RARRAY_PTR(dup), RARRAY_PTR(ary), VALUE, RARRAY_LEN(ary));
1786 VALUE
1787 rb_ary_resurrect(VALUE ary)
1792 extern VALUE rb_output_fs;
1794 static void ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first);
1796 static VALUE
1797 recursive_join(VALUE obj, VALUE argp, int recur)
1799 VALUE *arg = (VALUE *)argp;
1800 VALUE ary = arg[0];
1801 VALUE sep = arg[1];
1802 VALUE result = arg[2];
1815 ary_join_0(VALUE ary, VALUE sep, long max, VALUE result)
1818 VALUE val;
1832 ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first)
1834 VALUE val, tmp;
1854 VALUE args[4];
1859 args[3] = (VALUE)first;
1860 rb_exec_recursive(recursive_join, obj, (VALUE)args);
1885 VALUE
1886 rb_ary_join(VALUE ary, VALUE sep)
1891 VALUE val, tmp, result;
1941 static VALUE
1942 rb_ary_join_m(int argc, VALUE *argv, VALUE ary)
1944 VALUE sep;
1952 static VALUE
1953 inspect_ary(VALUE ary, VALUE dummy, int recur)
1958 VALUE s, str;
1986 static VALUE
1987 rb_ary_inspect(VALUE ary)
1993 VALUE
1994 rb_ary_to_s(VALUE ary)
2008 static VALUE
2009 rb_ary_to_a(VALUE ary)
2012 VALUE dup = rb_ary_new2(RARRAY_LEN(ary));
2026 static VALUE
2027 rb_ary_to_ary_m(VALUE ary)
2033 ary_reverse(VALUE *p1, VALUE *p2)
2036 VALUE tmp = *p1;
2042 VALUE
2043 rb_ary_reverse(VALUE ary)
2045 VALUE *p1, *p2;
2067 static VALUE
2068 rb_ary_reverse_bang(VALUE ary)
2083 static VALUE
2084 rb_ary_reverse_m(VALUE ary)
2087 VALUE dup = rb_ary_new2(len);
2090 VALUE *p1 = RARRAY_PTR(ary);
2091 VALUE *p2 = RARRAY_PTR(dup) + len - 1;
2104 VALUE
2105 rb_ary_rotate(VALUE ary, long cnt)
2110 VALUE *ptr = RARRAY_PTR(ary);
2142 static VALUE
2143 rb_ary_rotate_bang(int argc, VALUE *argv, VALUE ary)
2173 static VALUE
2174 rb_ary_rotate_m(int argc, VALUE *argv, VALUE ary)
2176 VALUE rotated, *ptr, *ptr2;
2192 MEMCPY(ptr2, ptr + cnt, VALUE, len);
2193 MEMCPY(ptr2 + len, ptr, VALUE, cnt);
2200 VALUE ary;
2221 static VALUE
2222 sort_reentered(VALUE ary)
2234 VALUE retval = sort_reentered(data->ary);
2235 VALUE a = *(const VALUE *)ap, b = *(const VALUE *)bp;
2248 VALUE retval = sort_reentered(data->ary);
2249 VALUE a = *(const VALUE *)ap, b = *(const VALUE *)bp;
2289 VALUE
2290 rb_ary_sort_bang(VALUE ary)
2295 VALUE tmp = ary_make_substitution(ary); /* only ary refers tmp */
2303 ruby_qsort(RARRAY_PTR(tmp), len, sizeof(VALUE),
2312 MEMCPY(RARRAY_PTR(ary), ARY_EMBED_PTR(tmp), VALUE, ARY_EMBED_LEN(tmp));
2372 VALUE
2373 rb_ary_sort(VALUE ary)
2433 static VALUE
2434 rb_ary_bsearch(VALUE ary)
2438 VALUE v, val;
2481 static VALUE
2482 sort_by_i(VALUE i)
2499 static VALUE
2500 rb_ary_sort_by_bang(VALUE ary)
2502 VALUE sorted;
2532 static VALUE
2533 rb_ary_collect(VALUE ary)
2536 VALUE collect;
2566 static VALUE
2567 rb_ary_collect_bang(VALUE ary)
2579 VALUE
2580 rb_get_values_at(VALUE obj, long olen, int argc, VALUE *argv, VALUE (*func) (VALUE, long))
2582 VALUE result = rb_ary_new2(argc);
2623 static VALUE
2624 rb_ary_values_at(int argc, VALUE *argv, VALUE ary)
2648 static VALUE
2649 rb_ary_select(VALUE ary)
2651 VALUE result;
2680 static VALUE
2681 rb_ary_select_bang(VALUE ary)
2688 VALUE v = RARRAY_PTR(ary)[i1];
2718 static VALUE
2719 rb_ary_keep_if(VALUE ary)
2727 ary_resize_smaller(VALUE ary, long len)
2759 VALUE
2760 rb_ary_delete(VALUE ary, VALUE item)
2762 VALUE v = item;
2766 VALUE e = RARRAY_PTR(ary)[i1];
2790 rb_ary_delete_same(VALUE ary, VALUE item)
2795 VALUE e = RARRAY_PTR(ary)[i1];
2812 VALUE
2813 rb_ary_delete_at(VALUE ary, long pos)
2816 VALUE del;
2826 MEMMOVE(RARRAY_PTR(ary)+pos, RARRAY_PTR(ary)+pos+1, VALUE,
2848 static VALUE
2849 rb_ary_delete_at_m(VALUE ary, VALUE pos)
2875 static VALUE
2876 rb_ary_slice_bang(int argc, VALUE *argv, VALUE ary)
2878 VALUE arg1, arg2;
2926 static VALUE
2927 ary_reject(VALUE orig, VALUE result)
2932 VALUE v = RARRAY_PTR(orig)[i];
2940 static VALUE
2941 ary_reject_bang(VALUE ary)
2944 VALUE result = Qnil;
2948 VALUE v = RARRAY_PTR(ary)[i];
2976 static VALUE
2977 rb_ary_reject_bang(VALUE ary)
2996 static VALUE
2997 rb_ary_reject(VALUE ary)
2999 VALUE rejected_ary;
3025 static VALUE
3026 rb_ary_delete_if(VALUE ary)
3033 static VALUE
3034 take_i(VALUE val, VALUE *args, int argc, VALUE *argv)
3042 static VALUE
3043 take_items(VALUE obj, long n)
3045 VALUE result = rb_check_array_type(obj);
3046 VALUE args[2];
3050 args[0] = result; args[1] = (VALUE)n;
3051 if (rb_check_block_call(obj, idEach, 0, 0, take_i, (VALUE)args) == Qundef)
3082 static VALUE
3083 rb_ary_zip(int argc, VALUE *argv, VALUE ary)
3087 VALUE result = Qnil;
3098 VALUE tmp = rb_ary_new2(argc+1);
3127 static VALUE
3128 rb_ary_transpose(VALUE ary)
3131 VALUE tmp, result = 0;
3167 VALUE
3168 rb_ary_replace(VALUE copy, VALUE orig)
3175 VALUE *ptr;
3176 VALUE shared = 0;
3187 MEMCPY(RARRAY_PTR(copy), ptr, VALUE, RARRAY_LEN(orig));
3194 VALUE shared = ary_make_shared(orig);
3219 VALUE
3220 rb_ary_clear(VALUE ary)
3266 static VALUE
3267 rb_ary_fill(int argc, VALUE *argv, VALUE ary)
3269 VALUE item, arg1, arg2;
3271 VALUE *p, *pend;
3318 VALUE v;
3352 VALUE
3353 rb_ary_plus(VALUE x, VALUE y)
3355 VALUE z;
3361 MEMCPY(RARRAY_PTR(z), RARRAY_PTR(x), VALUE, RARRAY_LEN(x));
3362 MEMCPY(RARRAY_PTR(z) + RARRAY_LEN(x), RARRAY_PTR(y), VALUE, RARRAY_LEN(y));
3381 VALUE
3382 rb_ary_concat(VALUE x, VALUE y)
3410 static VALUE
3411 rb_ary_times(VALUE ary, VALUE times)
3413 VALUE ary2, tmp, *ptr, *ptr2;
3441 MEMCPY(ptr2, ptr, VALUE, t);
3443 MEMCPY(ptr2+t, ptr2, VALUE, t);
3447 MEMCPY(ptr2+t, ptr2, VALUE, len-t);
3476 VALUE
3477 rb_ary_assoc(VALUE ary, VALUE key)
3480 VALUE v;
3509 VALUE
3510 rb_ary_rassoc(VALUE ary, VALUE value)
3513 VALUE v;
3525 static VALUE
3526 recursive_equal(VALUE ary1, VALUE ary2, int recur)
3529 VALUE *p1, *p2;
3572 static VALUE
3573 rb_ary_equal(VALUE ary1, VALUE ary2)
3586 static VALUE
3587 recursive_eql(VALUE ary1, VALUE ary2, int recur)
3607 static VALUE
3608 rb_ary_eql(VALUE ary1, VALUE ary2)
3616 static VALUE
3617 recursive_hash(VALUE ary, VALUE dummy, int recur)
3621 VALUE n;
3647 static VALUE
3648 rb_ary_hash(VALUE ary)
3665 VALUE
3666 rb_ary_includes(VALUE ary, VALUE item)
3679 static VALUE
3680 recursive_cmp(VALUE ary1, VALUE ary2, int recur)
3690 VALUE v = rb_funcall(rb_ary_elt(ary1, i), id_cmp, 1, rb_ary_elt(ary2, i));
3723 VALUE
3724 rb_ary_cmp(VALUE ary1, VALUE ary2)
3727 VALUE v;
3740 static VALUE
3741 ary_add_hash(VALUE hash, VALUE ary)
3751 static inline VALUE
3754 VALUE hash = rb_hash_new();
3760 static VALUE
3761 ary_make_hash(VALUE ary)
3763 VALUE hash = ary_tmp_hash_new();
3767 static VALUE
3768 ary_add_hash_by(VALUE hash, VALUE ary)
3773 VALUE v = rb_ary_elt(ary, i), k = rb_yield(v);
3781 static VALUE
3782 ary_make_hash_by(VALUE ary)
3784 VALUE hash = ary_tmp_hash_new();
3789 ary_recycle_hash(VALUE hash)
3815 static VALUE
3816 rb_ary_diff(VALUE ary1, VALUE ary2)
3818 VALUE ary3;
3819 volatile VALUE hash;
3850 static VALUE
3851 rb_ary_and(VALUE ary1, VALUE ary2)
3853 VALUE hash, ary3, v;
3890 static VALUE
3891 rb_ary_or(VALUE ary1, VALUE ary2)
3893 VALUE hash, ary3, v;
3920 rb_ary_push((VALUE)ary, (VALUE)val);
3949 static VALUE
3950 rb_ary_uniq_bang(VALUE ary)
3952 VALUE hash, v;
4008 static VALUE
4009 rb_ary_uniq(VALUE ary)
4011 VALUE hash, uniq, v;
4048 static VALUE
4049 rb_ary_compact_bang(VALUE ary)
4051 VALUE *p, *t, *end;
4084 static VALUE
4085 rb_ary_compact(VALUE ary)
4113 static VALUE
4114 rb_ary_count(int argc, VALUE *argv, VALUE ary)
4119 VALUE v;
4130 VALUE obj;
4144 static VALUE
4145 flatten(VALUE ary, int level, int *modified)
4148 VALUE stack, result, tmp, elt;
4218 static VALUE
4219 rb_ary_flatten_bang(int argc, VALUE *argv, VALUE ary)
4222 VALUE result, lv;
4263 static VALUE
4264 rb_ary_flatten(int argc, VALUE *argv, VALUE ary)
4267 VALUE result, lv;
4281 static VALUE sym_random;
4295 static VALUE
4296 rb_ary_shuffle_bang(int argc, VALUE *argv, VALUE ary)
4298 VALUE *ptr, opts, *snap_ptr, randgen = rb_cRandom;
4312 VALUE tmp;
4339 static VALUE
4340 rb_ary_shuffle(int argc, VALUE *argv, VALUE ary)
4372 static VALUE
4373 rb_ary_sample(int argc, VALUE *argv, VALUE ary)
4375 VALUE nv, result, *ptr;
4376 VALUE opts, randgen = rb_cRandom;
4442 VALUE *ptr_result;
4461 VALUE *ptr_result;
4479 static VALUE
4480 rb_ary_cycle_size(VALUE self, VALUE args)
4483 VALUE n = Qnil;
4514 static VALUE
4515 rb_ary_cycle(int argc, VALUE *argv, VALUE ary)
4518 VALUE nv = Qnil;
4559 permute0(long n, long r, long *p, long index, char *used, VALUE values)
4575 VALUE result = rb_ary_new2(r);
4576 VALUE *result_array = RARRAY_PTR(result);
4577 const VALUE *values_array = RARRAY_PTR(values);
4594 static VALUE
4597 VALUE cnt = LONG2FIX(how_many >= 0);
4604 static VALUE
4616 static VALUE
4617 rb_ary_permutation_size(VALUE ary, VALUE args)
4653 static VALUE
4654 rb_ary_permutation(int argc, VALUE *argv, VALUE ary)
4656 VALUE num;
4676 volatile VALUE t0 = tmpbuf(n,sizeof(long));
4678 volatile VALUE t1 = tmpbuf(n,sizeof(char));
4680 VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */
4693 static VALUE
4694 rb_ary_combination_size(VALUE ary, VALUE args)
4727 static VALUE
4728 rb_ary_combination(VALUE ary, VALUE num)
4747 volatile VALUE t0 = tmpbuf(n+1, sizeof(long));
4749 volatile VALUE cc = tmpary(n);
4750 VALUE *chosen = RARRAY_PTR(cc);
4790 rpermute0(long n, long r, long *p, long index, VALUE values)
4802 VALUE result = rb_ary_new2(r);
4803 VALUE *result_array = RARRAY_PTR(result);
4804 const VALUE *values_array = RARRAY_PTR(values);
4816 static VALUE
4817 rb_ary_repeated_permutation_size(VALUE ary, VALUE args)
4852 static VALUE
4853 rb_ary_repeated_permutation(VALUE ary, VALUE num)
4873 volatile VALUE t0 = tmpbuf(r, sizeof(long));
4875 VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */
4886 rcombinate0(long n, long r, long *p, long index, long rest, VALUE values)
4896 VALUE result = rb_ary_new2(r);
4897 VALUE *result_array = RARRAY_PTR(result);
4898 const VALUE *values_array = RARRAY_PTR(values);
4909 static VALUE
4910 rb_ary_repeated_combination_size(VALUE ary, VALUE args)
4947 static VALUE
4948 rb_ary_repeated_combination(VALUE ary, VALUE num)
4970 volatile VALUE t0 = tmpbuf(n, sizeof(long));
4972 VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */
5003 static VALUE
5004 rb_ary_product(int argc, VALUE *argv, VALUE ary)
5007 volatile VALUE t0 = tmpary(n);
5008 volatile VALUE t1 = tmpbuf(n, sizeof(int));
5009 VALUE *arrays = RARRAY_PTR(t0); /* The arrays we're computing the product of */
5011 VALUE result = Qnil; /* The array we'll be returning, when no block given */
5052 VALUE subarray = rb_ary_new2(n);
5107 static VALUE
5108 rb_ary_take(VALUE obj, VALUE n)
5134 static VALUE
5135 rb_ary_take_while(VALUE ary)
5162 static VALUE
5163 rb_ary_drop(VALUE ary, VALUE n)
5165 VALUE result;
5194 static VALUE
5195 rb_ary_drop_while(VALUE ary)