array.c File Reference

#include "ruby/ruby.h"
#include "ruby/util.h"
#include "ruby/st.h"
#include <assert.h>
#include <stdarg.h>

Include dependency graph for array.c:

Go to the source code of this file.

Data Structures

struct  ary_sort_data

Defines

#define NDEBUG
#define ARY_DEFAULT_SIZE   16
#define ARY_MAX_SIZE   (LONG_MAX / (int)sizeof(VALUE))
#define ARY_SHARED_P(ary)
#define ARY_EMBED_P(ary)
#define ARY_HEAP_PTR(a)   (assert(!ARY_EMBED_P(a)), RARRAY(a)->as.heap.ptr)
#define ARY_HEAP_LEN(a)   (assert(!ARY_EMBED_P(a)), RARRAY(a)->as.heap.len)
#define ARY_EMBED_PTR(a)   (assert(ARY_EMBED_P(a)), RARRAY(a)->as.ary)
#define ARY_EMBED_LEN(a)
#define ARY_OWNS_HEAP_P(a)   (!FL_TEST(a, ELTS_SHARED|RARRAY_EMBED_FLAG))
#define FL_SET_EMBED(a)
#define FL_UNSET_EMBED(ary)   FL_UNSET(ary, RARRAY_EMBED_FLAG|RARRAY_EMBED_LEN_MASK)
#define FL_SET_SHARED(ary)
#define FL_UNSET_SHARED(ary)   FL_UNSET(ary, ELTS_SHARED)
#define ARY_SET_PTR(ary, p)
#define ARY_SET_EMBED_LEN(ary, n)
#define ARY_SET_HEAP_LEN(ary, n)
#define ARY_SET_LEN(ary, n)
#define ARY_INCREASE_PTR(ary, n)
#define ARY_INCREASE_LEN(ary, n)
#define ARY_CAPA(ary)
#define ARY_SET_CAPA(ary, n)
#define ARY_SHARED(ary)   (assert(ARY_SHARED_P(ary)), RARRAY(ary)->as.heap.aux.shared)
#define ARY_SET_SHARED(ary, value)
#define RARRAY_SHARED_ROOT_FLAG   FL_USER5
#define ARY_SHARED_ROOT_P(ary)   (FL_TEST(ary, RARRAY_SHARED_ROOT_FLAG))
#define ARY_SHARED_NUM(ary)   (assert(ARY_SHARED_ROOT_P(ary)), RARRAY(ary)->as.heap.aux.capa)
#define ARY_SET_SHARED_NUM(ary, value)
#define FL_SET_SHARED_ROOT(ary)
#define STRING_P(s)   (TYPE(s) == T_STRING && CLASS_OF(s) == rb_cString)
#define SORT_OPTIMIZABLE_BIT(type)   (1U << TOKEN_PASTE(sort_opt_,type))
#define SORT_OPTIMIZABLE(data, type)
#define tmpbuf(n, size)   rb_str_tmp_new((n)*(size))
#define tmpbuf_discard(s)   (rb_str_resize((s), 0L), RBASIC(s)->klass = rb_cString)
#define tmpary(n)   rb_ary_tmp_new(n)
#define tmpary_discard(a)   (ary_discard(a), RBASIC(a)->klass = rb_cArray)
#define rb_intern(str)   rb_intern_const(str)

Enumerations

enum  ary_take_pos_flags { ARY_TAKE_FIRST = 0, ARY_TAKE_LAST = 1 }
enum  { sort_opt_Fixnum, sort_opt_String, sort_optimizable_count }

Functions

void rb_mem_clear (register VALUE *mem, register long size)
static void memfill (register VALUE *mem, register long size, register VALUE val)
static void ary_resize_capa (VALUE ary, long capacity)
static void ary_double_capa (VALUE ary, long min)
static void rb_ary_decrement_share (VALUE shared)
static void rb_ary_unshare (VALUE ary)
static void rb_ary_unshare_safe (VALUE ary)
static VALUE rb_ary_increment_share (VALUE shared)
static void rb_ary_set_shared (VALUE ary, VALUE shared)
static void rb_ary_modify_check (VALUE ary)
static void rb_ary_modify (VALUE ary)
VALUE rb_ary_freeze (VALUE ary)
static VALUE rb_ary_frozen_p (VALUE ary)
static VALUE ary_alloc (VALUE klass)
static VALUE ary_new (VALUE klass, long capa)
VALUE rb_ary_new2 (long capa)
VALUE rb_ary_new (void)
VALUE rb_ary_new3 (long n,...)
VALUE rb_ary_new4 (long n, const VALUE *elts)
VALUE rb_ary_tmp_new (long capa)
void rb_ary_free (VALUE ary)
size_t rb_ary_memsize (VALUE ary)
static void ary_discard (VALUE ary)
static VALUE ary_make_shared (VALUE ary)
static VALUE ary_make_substitution (VALUE ary)
VALUE rb_assoc_new (VALUE car, VALUE cdr)
static VALUE to_ary (VALUE ary)
VALUE rb_check_array_type (VALUE ary)
static VALUE rb_ary_s_try_convert (VALUE dummy, VALUE ary)
static VALUE rb_ary_initialize (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_s_create (int argc, VALUE *argv, VALUE klass)
void rb_ary_store (VALUE ary, long idx, VALUE val)
static VALUE ary_make_partial (VALUE ary, VALUE klass, long offset, long len)
static VALUE ary_make_shared_copy (VALUE ary)
static VALUE ary_take_first_or_last (int argc, VALUE *argv, VALUE ary, enum ary_take_pos_flags last)
static VALUE rb_ary_push_1 (VALUE ary, VALUE item)
VALUE rb_ary_push (VALUE ary, VALUE item)
static VALUE rb_ary_push_m (int argc, VALUE *argv, VALUE ary)
VALUE rb_ary_pop (VALUE ary)
static VALUE rb_ary_pop_m (int argc, VALUE *argv, VALUE ary)
VALUE rb_ary_shift (VALUE ary)
static VALUE rb_ary_shift_m (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_unshift_m (int argc, VALUE *argv, VALUE ary)
VALUE rb_ary_unshift (VALUE ary, VALUE item)
static VALUE rb_ary_elt (VALUE ary, long offset)
VALUE rb_ary_entry (VALUE ary, long offset)
VALUE rb_ary_subseq (VALUE ary, long beg, long len)
VALUE rb_ary_aref (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_at (VALUE ary, VALUE pos)
static VALUE rb_ary_first (int argc, VALUE *argv, VALUE ary)
VALUE rb_ary_last (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_fetch (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_index (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_rindex (int argc, VALUE *argv, VALUE ary)
VALUE rb_ary_to_ary (VALUE obj)
static void rb_ary_splice (VALUE ary, long beg, long len, VALUE rpl)
static VALUE rb_ary_aset (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_insert (int argc, VALUE *argv, VALUE ary)
VALUE rb_ary_each (VALUE ary)
static VALUE rb_ary_each_index (VALUE ary)
static VALUE rb_ary_reverse_each (VALUE ary)
static VALUE rb_ary_length (VALUE ary)
static VALUE rb_ary_empty_p (VALUE ary)
static VALUE rb_ary_dup_setup (VALUE ary)
VALUE rb_ary_dup (VALUE ary)
VALUE rb_ary_resurrect (VALUE ary)
static void ary_join_1 (VALUE obj, VALUE ary, VALUE sep, long i, VALUE result)
static VALUE recursive_join (VALUE obj, VALUE argp, int recur)
static void ary_join_0 (VALUE ary, VALUE sep, long max, VALUE result)
VALUE rb_ary_join (VALUE ary, VALUE sep)
static VALUE rb_ary_join_m (int argc, VALUE *argv, VALUE ary)
static VALUE inspect_ary (VALUE ary, VALUE dummy, int recur)
static VALUE rb_ary_inspect (VALUE ary)
VALUE rb_ary_to_s (VALUE ary)
static VALUE rb_ary_to_a (VALUE ary)
static VALUE rb_ary_to_ary_m (VALUE ary)
static void ary_reverse (VALUE *p1, VALUE *p2)
VALUE rb_ary_reverse (VALUE ary)
static VALUE rb_ary_reverse_bang (VALUE ary)
static VALUE rb_ary_reverse_m (VALUE ary)
static long rotate_count (long cnt, long len)
VALUE rb_ary_rotate (VALUE ary, long cnt)
static VALUE rb_ary_rotate_bang (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_rotate_m (int argc, VALUE *argv, VALUE ary)
static VALUE sort_reentered (VALUE ary)
static int sort_1 (const void *ap, const void *bp, void *dummy)
static int sort_2 (const void *ap, const void *bp, void *dummy)
VALUE rb_ary_sort_bang (VALUE ary)
VALUE rb_ary_sort (VALUE ary)
static VALUE sort_by_i (VALUE i)
static VALUE rb_ary_sort_by_bang (VALUE ary)
static VALUE rb_ary_collect (VALUE ary)
static VALUE rb_ary_collect_bang (VALUE ary)
VALUE rb_get_values_at (VALUE obj, long olen, int argc, VALUE *argv, VALUE(*func)(VALUE, long))
static VALUE rb_ary_values_at (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_select (VALUE ary)
static VALUE rb_ary_select_bang (VALUE ary)
static VALUE rb_ary_keep_if (VALUE ary)
VALUE rb_ary_delete (VALUE ary, VALUE item)
VALUE rb_ary_delete_at (VALUE ary, long pos)
static VALUE rb_ary_delete_at_m (VALUE ary, VALUE pos)
static VALUE rb_ary_slice_bang (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_reject_bang (VALUE ary)
static VALUE rb_ary_reject (VALUE ary)
static VALUE rb_ary_delete_if (VALUE ary)
static VALUE take_i (VALUE val, VALUE *args, int argc, VALUE *argv)
static VALUE take_items (VALUE obj, long n)
static VALUE rb_ary_zip (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_transpose (VALUE ary)
VALUE rb_ary_replace (VALUE copy, VALUE orig)
VALUE rb_ary_clear (VALUE ary)
static VALUE rb_ary_fill (int argc, VALUE *argv, VALUE ary)
VALUE rb_ary_plus (VALUE x, VALUE y)
VALUE rb_ary_concat (VALUE x, VALUE y)
static VALUE rb_ary_times (VALUE ary, VALUE times)
VALUE rb_ary_assoc (VALUE ary, VALUE key)
VALUE rb_ary_rassoc (VALUE ary, VALUE value)
static VALUE recursive_equal (VALUE ary1, VALUE ary2, int recur)
static VALUE rb_ary_equal (VALUE ary1, VALUE ary2)
static VALUE recursive_eql (VALUE ary1, VALUE ary2, int recur)
static VALUE rb_ary_eql (VALUE ary1, VALUE ary2)
static VALUE recursive_hash (VALUE ary, VALUE dummy, int recur)
static VALUE rb_ary_hash (VALUE ary)
VALUE rb_ary_includes (VALUE ary, VALUE item)
static VALUE recursive_cmp (VALUE ary1, VALUE ary2, int recur)
VALUE rb_ary_cmp (VALUE ary1, VALUE ary2)
static VALUE ary_add_hash (VALUE hash, VALUE ary)
static VALUE ary_tmp_hash_new (void)
static VALUE ary_make_hash (VALUE ary)
static VALUE ary_add_hash_by (VALUE hash, VALUE ary)
static VALUE ary_make_hash_by (VALUE ary)
static void ary_recycle_hash (VALUE hash)
static VALUE rb_ary_diff (VALUE ary1, VALUE ary2)
static VALUE rb_ary_and (VALUE ary1, VALUE ary2)
static VALUE rb_ary_or (VALUE ary1, VALUE ary2)
static int push_value (st_data_t key, st_data_t val, st_data_t ary)
static VALUE rb_ary_uniq_bang (VALUE ary)
static VALUE rb_ary_uniq (VALUE ary)
static VALUE rb_ary_compact_bang (VALUE ary)
static VALUE rb_ary_compact (VALUE ary)
static VALUE rb_ary_count (int argc, VALUE *argv, VALUE ary)
static VALUE flatten (VALUE ary, int level, int *modified)
static VALUE rb_ary_flatten_bang (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_flatten (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_shuffle_bang (VALUE ary)
static VALUE rb_ary_shuffle (VALUE ary)
static VALUE rb_ary_sample (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_cycle (int argc, VALUE *argv, VALUE ary)
static void permute0 (long n, long r, long *p, long index, char *used, VALUE values)
static VALUE rb_ary_permutation (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_combination (VALUE ary, VALUE num)
static void rpermute0 (long n, long r, long *p, long index, VALUE values)
static VALUE rb_ary_repeated_permutation (VALUE ary, VALUE num)
static void rcombinate0 (long n, long r, long *p, long index, long rest, VALUE values)
static VALUE rb_ary_repeated_combination (VALUE ary, VALUE num)
static VALUE rb_ary_product (int argc, VALUE *argv, VALUE ary)
static VALUE rb_ary_take (VALUE obj, VALUE n)
static VALUE rb_ary_take_while (VALUE ary)
static VALUE rb_ary_drop (VALUE ary, VALUE n)
static VALUE rb_ary_drop_while (VALUE ary)
void Init_Array (void)

Variables

VALUE rb_cArray
static ID id_cmp
VALUE rb_output_fs


Define Documentation

#define ARY_CAPA ( ary   ) 

Value:

(ARY_EMBED_P(ary) ? RARRAY_EMBED_LEN_MAX : \
                       ARY_SHARED_ROOT_P(ary) ? RARRAY_LEN(ary) : RARRAY(ary)->as.heap.aux.capa)

Definition at line 114 of file array.c.

Referenced by ary_double_capa(), rb_ary_clear(), rb_ary_compact_bang(), rb_ary_delete(), rb_ary_fill(), rb_ary_pop(), rb_ary_push_1(), rb_ary_sort_bang(), rb_ary_splice(), rb_ary_store(), and rb_ary_unshift_m().

#define ARY_DEFAULT_SIZE   16

Definition at line 27 of file array.c.

Referenced by ary_double_capa(), flatten(), rb_ary_clear(), rb_ary_compact_bang(), rb_ary_delete(), rb_ary_pop(), and rb_ary_shift().

#define ARY_EMBED_LEN (  ) 

Value:

Definition at line 56 of file array.c.

Referenced by ary_resize_capa(), and rb_ary_sort_bang().

#define ARY_EMBED_P ( ary   ) 

Value:

Definition at line 49 of file array.c.

Referenced by ary_make_shared(), ary_resize_capa(), rb_ary_dup_setup(), rb_ary_flatten_bang(), rb_ary_shift(), rb_ary_sort_bang(), and rb_ary_unshare_safe().

#define ARY_EMBED_PTR (  )     (assert(ARY_EMBED_P(a)), RARRAY(a)->as.ary)

Definition at line 55 of file array.c.

Referenced by ary_make_partial(), ary_make_substitution(), ary_resize_capa(), rb_ary_modify(), and rb_ary_sort_bang().

#define ARY_HEAP_LEN (  )     (assert(!ARY_EMBED_P(a)), RARRAY(a)->as.heap.len)

Definition at line 54 of file array.c.

Referenced by ary_make_shared().

#define ARY_HEAP_PTR (  )     (assert(!ARY_EMBED_P(a)), RARRAY(a)->as.heap.ptr)

Definition at line 53 of file array.c.

Referenced by rb_ary_free(), rb_ary_modify(), and rb_ary_sort_bang().

#define ARY_INCREASE_LEN ( ary,
 ) 

Value:

do  { \
    assert(!OBJ_FROZEN(ary)); \
    if (ARY_EMBED_P(ary)) { \
        ARY_SET_EMBED_LEN(ary, RARRAY_LEN(ary)+n); \
    } \
    else { \
        RARRAY(ary)->as.heap.len += n; \
    } \
} while (0)

Definition at line 104 of file array.c.

Referenced by rb_ary_delete_at(), rb_ary_pop_m(), rb_ary_shift(), rb_ary_shift_m(), and rb_ary_unshift_m().

#define ARY_INCREASE_PTR ( ary,
 ) 

Value:

do  { \
    assert(!ARY_EMBED_P(ary)); \
    assert(!OBJ_FROZEN(ary)); \
    RARRAY(ary)->as.heap.ptr += n; \
} while (0)

Definition at line 99 of file array.c.

Referenced by ary_make_partial(), rb_ary_shift(), and rb_ary_shift_m().

#define ARY_MAX_SIZE   (LONG_MAX / (int)sizeof(VALUE))

Definition at line 28 of file array.c.

Referenced by ary_double_capa(), ary_new(), rb_ary_fill(), rb_ary_initialize(), rb_ary_splice(), rb_ary_store(), and rb_ary_times().

#define ARY_OWNS_HEAP_P (  )     (!FL_TEST(a, ELTS_SHARED|RARRAY_EMBED_FLAG))

Definition at line 61 of file array.c.

Referenced by rb_ary_free(), rb_ary_initialize(), rb_ary_memsize(), rb_ary_pop(), and rb_ary_replace().

#define ARY_SET_CAPA ( ary,
 ) 

Value:

do { \
    assert(!ARY_EMBED_P(ary)); \
    assert(!ARY_SHARED_P(ary)); \
    assert(!OBJ_FROZEN(ary)); \
    RARRAY(ary)->as.heap.aux.capa = (n); \
} while (0)

Definition at line 116 of file array.c.

Referenced by ary_new(), ary_resize_capa(), rb_ary_modify(), and rb_ary_sort_bang().

#define ARY_SET_EMBED_LEN ( ary,
 ) 

Value:

do { \
    long tmp_n = n; \
    assert(ARY_EMBED_P(ary)); \
    assert(!OBJ_FROZEN(ary)); \
    RBASIC(ary)->flags &= ~RARRAY_EMBED_LEN_MASK; \
    RBASIC(ary)->flags |= (tmp_n) << RARRAY_EMBED_LEN_SHIFT; \
} while (0)

Definition at line 79 of file array.c.

Referenced by ary_alloc(), ary_make_partial(), ary_make_substitution(), rb_ary_flatten_bang(), rb_ary_initialize(), rb_ary_modify(), and rb_ary_sort_bang().

#define ARY_SET_HEAP_LEN ( ary,
 ) 

Value:

do { \
    assert(!ARY_EMBED_P(ary)); \
    RARRAY(ary)->as.heap.len = n; \
} while (0)

Definition at line 86 of file array.c.

Referenced by ary_new(), ary_resize_capa(), and rb_ary_sort_bang().

#define ARY_SET_LEN ( ary,
 ) 

Value:

do { \
    if (ARY_EMBED_P(ary)) { \
        ARY_SET_EMBED_LEN(ary, n); \
    } \
    else { \
        ARY_SET_HEAP_LEN(ary, n); \
    } \
    assert(RARRAY_LEN(ary) == n); \
} while (0)

Definition at line 90 of file array.c.

Referenced by ary_make_partial(), ary_make_shared(), ary_resize_capa(), permute0(), rb_ary_clear(), rb_ary_compact_bang(), rb_ary_delete(), rb_ary_dup_setup(), rb_ary_fill(), rb_ary_initialize(), rb_ary_new3(), rb_ary_new4(), rb_ary_plus(), rb_ary_pop(), rb_ary_product(), rb_ary_push_1(), rb_ary_reject_bang(), rb_ary_replace(), rb_ary_s_create(), rb_ary_sample(), rb_ary_select_bang(), rb_ary_sort_bang(), rb_ary_splice(), rb_ary_store(), rb_ary_times(), rb_ary_uniq_bang(), rcombinate0(), and rpermute0().

#define ARY_SET_PTR ( ary,
 ) 

Value:

do { \
    assert(!ARY_EMBED_P(ary)); \
    assert(!OBJ_FROZEN(ary)); \
    RARRAY(ary)->as.heap.ptr = (p); \
} while (0)

Definition at line 74 of file array.c.

Referenced by ary_make_partial(), ary_make_shared(), ary_new(), ary_resize_capa(), rb_ary_modify(), rb_ary_replace(), and rb_ary_sort_bang().

#define ARY_SET_SHARED ( ary,
value   ) 

Value:

do { \
    assert(!ARY_EMBED_P(ary)); \
    assert(ARY_SHARED_P(ary)); \
    assert(ARY_SHARED_ROOT_P(value)); \
    RARRAY(ary)->as.heap.aux.shared = (value); \
} while (0)

Definition at line 124 of file array.c.

Referenced by ary_make_shared(), and rb_ary_set_shared().

#define ARY_SET_SHARED_NUM ( ary,
value   ) 

Value:

do { \
    assert(ARY_SHARED_ROOT_P(ary)); \
    RARRAY(ary)->as.heap.aux.capa = (value); \
} while (0)

Definition at line 134 of file array.c.

Referenced by ary_make_shared(), rb_ary_decrement_share(), and rb_ary_increment_share().

#define ARY_SHARED ( ary   )     (assert(ARY_SHARED_P(ary)), RARRAY(ary)->as.heap.aux.shared)

Definition at line 123 of file array.c.

Referenced by ary_make_shared(), rb_ary_modify(), rb_ary_replace(), rb_ary_shift(), and rb_ary_shift_m().

#define ARY_SHARED_NUM ( ary   )     (assert(ARY_SHARED_ROOT_P(ary)), RARRAY(ary)->as.heap.aux.capa)

Definition at line 132 of file array.c.

Referenced by rb_ary_decrement_share(), rb_ary_increment_share(), rb_ary_shift(), and rb_ary_shift_m().

#define ARY_SHARED_P ( ary   ) 

Value:

Definition at line 46 of file array.c.

Referenced by ary_make_shared(), ary_resize_capa(), rb_ary_modify(), rb_ary_replace(), rb_ary_shift(), rb_ary_shift_m(), rb_ary_sort_bang(), and rb_ary_unshare_safe().

#define ARY_SHARED_ROOT_P ( ary   )     (FL_TEST(ary, RARRAY_SHARED_ROOT_FLAG))

Definition at line 131 of file array.c.

Referenced by ary_make_shared().

#define FL_SET_EMBED (  ) 

Value:

do { \
    assert(!ARY_SHARED_P(a)); \
    assert(!OBJ_FROZEN(a)); \
    FL_SET(a, RARRAY_EMBED_FLAG); \
} while (0)

Definition at line 62 of file array.c.

Referenced by ary_alloc(), ary_resize_capa(), rb_ary_dup_setup(), rb_ary_initialize(), rb_ary_modify(), rb_ary_replace(), and rb_ary_sort_bang().

#define FL_SET_SHARED ( ary   ) 

Value:

do { \
    assert(!ARY_EMBED_P(ary)); \
    FL_SET(ary, ELTS_SHARED); \
} while (0)

Definition at line 68 of file array.c.

Referenced by ary_make_shared(), and rb_ary_set_shared().

#define FL_SET_SHARED_ROOT ( ary   ) 

Value:

do { \
    assert(!ARY_EMBED_P(ary)); \
    FL_SET(ary, RARRAY_SHARED_ROOT_FLAG); \
} while (0)

Definition at line 138 of file array.c.

Referenced by ary_make_shared().

#define FL_UNSET_EMBED ( ary   )     FL_UNSET(ary, RARRAY_EMBED_FLAG|RARRAY_EMBED_LEN_MASK)

Definition at line 67 of file array.c.

Referenced by ary_make_partial(), ary_make_shared(), ary_new(), ary_resize_capa(), rb_ary_replace(), and rb_ary_sort_bang().

#define FL_UNSET_SHARED ( ary   )     FL_UNSET(ary, ELTS_SHARED)

Definition at line 72 of file array.c.

Referenced by rb_ary_modify(), rb_ary_replace(), rb_ary_sort_bang(), and rb_ary_unshare().

#define NDEBUG

Definition at line 19 of file array.c.

#define RARRAY_SHARED_ROOT_FLAG   FL_USER5

Definition at line 130 of file array.c.

#define rb_intern ( str   )     rb_intern_const(str)

Referenced by argf_close(), argf_each_byte(), argf_each_char(), argf_each_line(), argf_getbyte(), argf_getc(), argf_getline(), argf_readchar(), argument_error(), asn1time_to_time(), big_op(), BigDecimal_div2(), BigDecimal_divmod(), BigDecimal_divremain(), BigDecimal_to_i(), BigDecimal_to_r(), BigDecimalCmp(), boot_defclass(), bsock_setsockopt(), callback(), cbsubst_def_attr_aliases(), cbsubst_get_subst_arg(), cbsubst_sym_to_subst(), cbsubst_table_setup(), check_exec_redirect(), check_exec_redirect_fd(), chunk_i(), chunk_ii(), cleanup_iseq_build(), cond0(), const_missing(), convert_type(), copy_stream_body(), count_nodes(), count_objects_size(), cState_from_state_s(), default_inspect(), define_final(), dir_initialize(), dir_inspect(), dir_open_dir(), DupConfigPtr(), each_attr_def(), ecerr_destination_encoding(), ecerr_destination_encoding_name(), ecerr_error_bytes(), ecerr_error_char(), ecerr_incomplete_input(), ecerr_readagain_bytes(), ecerr_source_encoding(), ecerr_source_encoding_name(), echild_status(), enum_chunk(), enum_find(), enum_slice_before(), error_print(), EVENTSINK_Invoke(), evs_length(), exc_message(), exc_to_s(), exit_status(), exit_success_p(), fdbm_replace(), fdbm_update(), fev_get_handler(), fev_set_handler(), fgdbm_replace(), fgdbm_update(), fix_cmp(), fix_divmod(), fix_fdiv(), fix_ge(), fix_idiv(), fix_le(), fix_pow(), flo_cmp(), flo_divmod(), flo_ge(), flo_le(), flo_pow(), fole_s_show_help(), folemethod_event(), folemethod_name(), foleparam_inspect(), foleparam_name(), foletype_name(), foletype_s_ole_classes(), foletypelib_s_typelibs(), folevariable_inspect(), folevariable_name(), folevariant_value(), frame_func_id(), fsdbm_replace(), fsdbm_update(), function_call(), gc_profile_record_get(), gc_profile_result(), generate_json(), generic_to_value(), get_backtrace(), get_eval_string_core(), get_exception_sym2type(), get_iconv_opt(), GetVpValue(), global_id(), hash_equal(), iconv_s_ctlmethods(), id2encidx(), id_hash_new(), Init_Array(), Init_bubblebabble(), Init_callback(), Init_class_hierarchy(), Init_Comparable(), Init_Complex(), Init_cparse(), Init_digest(), Init_dlcfunc(), Init_dlptr(), Init_Enumerable(), Init_Enumerator(), Init_eval_method(), Init_generator(), Init_Hash(), Init_iconv(), Init_IO(), Init_load(), Init_marshal(), Init_md5(), Init_Numeric(), Init_Object(), Init_objspace(), Init_openssl(), Init_ossl_asn1(), Init_ossl_pkcs12(), Init_ossl_pkcs7(), Init_ossl_pkey(), Init_ossl_ssl(), Init_ossl_x509ext(), Init_ossl_x509name(), Init_ossl_x509store(), Init_parser(), Init_prelude(), Init_Proc(), Init_psych_emitter(), Init_psych_parser(), Init_Range(), Init_Rational(), Init_readline(), Init_rmd160(), Init_sha1(), Init_sha2(), Init_signal(), Init_String(), Init_strscan(), Init_Struct(), Init_syck(), Init_tcltklib(), Init_Thread(), Init_Time(), Init_tkutil(), Init_transcode(), Init_vm_eval(), Init_win32ole(), Init_zlib(), insn_make_insn_table(), io_call_close(), ip_ruby_cmd(), ip_ruby_cmd_receiver_const_get(), iseq_data_to_ary(), iseq_load(), join_der(), make_econv_exception(), map_charset(), mktime_r(), mlambda(), mnew(), mproc(), name_err_name(), name_err_to_s(), next_i(), nometh_err_args(), num_abs(), num_div(), num_exact(), num_modulo(), num_nonzero_p(), ole_const_load(), ole_invoke(), ole_method_params(), ole_search_handler_method(), ole_typelib_from_itypeinfo(), ole_variables(), olemethod_set_member(), oleparam_ole_param_from_index(), oletype_set_member(), ossl_asn1_decode0(), ossl_asn1_get_asn1type(), ossl_call_client_cert_cb(), ossl_call_session_get_cb(), ossl_call_session_new_cb(), ossl_call_tmp_dh_callback(), ossl_call_verify_cb_proc(), ossl_config_copy(), ossl_config_set_section(), ossl_pkcs7_get_type(), ossl_pkcs7_set_certificates(), ossl_pkcs7_set_crls(), ossl_ssl_close(), ossl_ssl_initialize(), ossl_ssl_read_internal(), ossl_ssl_session_get_time(), ossl_ssl_write_internal(), ossl_sslctx_flush_sessions(), ossl_sslctx_get_session_cache_stats(), ossl_sslctx_setup(), ossl_x509attr_get_value(), ossl_x509attr_initialize(), ossl_x509ext_initialize(), ossl_x509name_initialize(), ossl_x509store_verify(), parser_yylex(), pipe_open(), private_iv_get(), process_options(), pst_pid(), raise_method_missing(), random_equal(), range_each(), range_eqq(), range_first(), range_initialize(), range_op(), range_step(), rb_ary_equal(), rb_ary_sort_by_bang(), rb_big_cmp(), rb_big_divmod(), rb_big_fdiv(), rb_big_idiv(), rb_big_pow(), rb_big_remainder(), rb_catch(), rb_cv_get(), rb_cv_set(), rb_define_alias(), rb_define_attr(), rb_define_class(), rb_define_class_under(), rb_define_class_variable(), rb_define_const(), rb_define_method(), rb_define_module(), rb_define_module_under(), rb_define_private_method(), rb_define_protected_method(), rb_enc_get_index(), rb_eval_cmd(), rb_exc_new(), rb_exc_new3(), rb_exec_arg_addopt(), rb_exec_arg_prepare(), rb_f_chomp(), rb_f_chop(), rb_f_exec(), rb_f_gets(), rb_f_gsub(), rb_f_putc(), rb_f_puts(), rb_f_readline(), rb_f_readlines(), rb_f_sub(), rb_hash_flatten(), rb_intern(), rb_io_init_copy(), rb_iv_get(), rb_iv_set(), rb_method_entry_make(), rb_mod_include(), rb_obj_basic_to_s_p(), rb_obj_extend(), rb_obj_inspect(), rb_parser_append_print(), rb_parser_while_loop(), rb_range_values(), rb_remove_method(), rb_str_cmp_m(), rb_str_equal(), rb_str_match(), rb_str_match_m(), rb_str_sum(), rb_str_upto(), rb_strftime_with_timespec(), rb_struct_define(), rb_struct_define_without_accessor(), rb_struct_iv_get(), rb_throw(), rb_undef_method(), rb_w32_conv_from_wchar(), readline_attempted_completion_function(), readline_s_set_completion_proc(), reg_compile_gen(), reg_named_capture_assign_gen(), reg_named_capture_assign_iter(), register_label(), rescue_callback(), save_env(), set_argv(), set_backtrace(), set_max_block_time(), set_option_encoding_once(), slicebefore_i(), slicebefore_ii(), sockopt_data(), sockopt_family_m(), sockopt_initialize(), sockopt_level(), sockopt_optname(), sockopt_unpack(), stop_result(), syserr_eqq(), syserr_errno(), syserr_initialize(), take_items(), time_cmp(), time_init_1(), vm_call_method(), vm_set_main_stack(), w_encoding(), w_obj_each(), yaml_org_handler(), and yyparse().

#define SORT_OPTIMIZABLE ( data,
type   ) 

Value:

((data->opt_inited & SORT_OPTIMIZABLE_BIT(type)) ? \
     (data->opt_methods & SORT_OPTIMIZABLE_BIT(type)) : \
     ((data->opt_inited |= SORT_OPTIMIZABLE_BIT(type)), \
      rb_method_basic_definition_p(TOKEN_PASTE(rb_c,type), id_cmp) && \
      (data->opt_methods |= SORT_OPTIMIZABLE_BIT(type))))

Definition at line 1953 of file array.c.

Referenced by sort_2().

#define SORT_OPTIMIZABLE_BIT ( type   )     (1U << TOKEN_PASTE(sort_opt_,type))

Definition at line 1952 of file array.c.

#define STRING_P (  )     (TYPE(s) == T_STRING && CLASS_OF(s) == rb_cString)

Definition at line 1950 of file array.c.

Referenced by sort_2().

#define tmpary (  )     rb_ary_tmp_new(n)

Definition at line 3907 of file array.c.

Referenced by rb_ary_combination(), and rb_ary_product().

#define tmpary_discard (  )     (ary_discard(a), RBASIC(a)->klass = rb_cArray)

Definition at line 3908 of file array.c.

Referenced by rb_ary_combination(), and rb_ary_product().

#define tmpbuf ( n,
size   )     rb_str_tmp_new((n)*(size))

Definition at line 3905 of file array.c.

Referenced by rb_ary_combination(), rb_ary_permutation(), rb_ary_product(), rb_ary_repeated_combination(), and rb_ary_repeated_permutation().

#define tmpbuf_discard (  )     (rb_str_resize((s), 0L), RBASIC(s)->klass = rb_cString)

Definition at line 3906 of file array.c.

Referenced by rb_ary_combination(), rb_ary_permutation(), rb_ary_product(), rb_ary_repeated_combination(), and rb_ary_repeated_permutation().


Enumeration Type Documentation

anonymous enum

Enumerator:
sort_opt_Fixnum 
sort_opt_String 
sort_optimizable_count 

Definition at line 1944 of file array.c.

enum ary_take_pos_flags

Enumerator:
ARY_TAKE_FIRST 
ARY_TAKE_LAST 

Definition at line 676 of file array.c.


Function Documentation

static VALUE ary_add_hash ( VALUE  hash,
VALUE  ary 
) [static]

Definition at line 3235 of file array.c.

References Qtrue, RARRAY_LEN, RARRAY_PTR, and rb_hash_aset().

Referenced by ary_make_hash(), and rb_ary_or().

static VALUE ary_add_hash_by ( VALUE  hash,
VALUE  ary 
) [static]

Definition at line 3262 of file array.c.

References Qundef, RARRAY_LEN, rb_ary_elt(), rb_hash_aset(), rb_hash_lookup2(), and rb_yield().

Referenced by ary_make_hash_by().

static VALUE ary_alloc ( VALUE  klass  )  [static]

Definition at line 295 of file array.c.

References ARY_SET_EMBED_LEN, FL_SET_EMBED, NEWOBJ, OBJSETUP, and T_ARRAY.

Referenced by ary_make_partial(), ary_new(), and Init_Array().

static void ary_discard ( VALUE  ary  )  [inline, static]

Definition at line 401 of file array.c.

References RARRAY_EMBED_FLAG, RARRAY_EMBED_LEN_MASK, rb_ary_free(), and RBASIC.

Referenced by rb_ary_flatten_bang().

static void ary_double_capa ( VALUE  ary,
long  min 
) [static]

Definition at line 177 of file array.c.

References ARY_CAPA, ARY_DEFAULT_SIZE, ARY_MAX_SIZE, and ary_resize_capa().

Referenced by rb_ary_push_1(), rb_ary_splice(), rb_ary_store(), and rb_ary_unshift_m().

static void ary_join_0 ( VALUE  ary,
VALUE  sep,
long  max,
VALUE  result 
) [static]

Definition at line 1575 of file array.c.

References NIL_P, OBJ_TAINT, OBJ_TAINTED, OBJ_UNTRUSTED, RARRAY_PTR, and rb_str_buf_append().

Referenced by rb_ary_join().

static void ary_join_1 ( VALUE  obj,
VALUE  ary,
VALUE  sep,
long  i,
VALUE  result 
) [static]

Definition at line 1591 of file array.c.

References NIL_P, RARRAY_LEN, RARRAY_PTR, rb_check_convert_type(), rb_check_string_type(), rb_eArgError, rb_exec_recursive(), rb_obj_as_string(), rb_raise(), rb_str_buf_append(), recursive_join(), T_ARRAY, T_STRING, and TYPE.

Referenced by rb_ary_join(), and recursive_join().

static VALUE ary_make_hash ( VALUE  ary  )  [static]

Definition at line 3255 of file array.c.

References ary_add_hash(), ary_tmp_hash_new(), and hash().

Referenced by rb_ary_and(), rb_ary_diff(), rb_ary_or(), rb_ary_uniq(), and rb_ary_uniq_bang().

static VALUE ary_make_hash_by ( VALUE  ary  )  [static]

Definition at line 3276 of file array.c.

References ary_add_hash_by(), ary_tmp_hash_new(), and hash().

Referenced by rb_ary_uniq(), and rb_ary_uniq_bang().

static VALUE ary_make_partial ( VALUE  ary,
VALUE  klass,
long  offset,
long  len 
) [static]

Definition at line 643 of file array.c.

References ary_alloc(), ARY_EMBED_PTR, ARY_INCREASE_PTR, ary_make_shared(), ARY_SET_EMBED_LEN, ARY_SET_LEN, ARY_SET_PTR, assert, FL_UNSET_EMBED, MEMCPY, RARRAY_EMBED_LEN_MAX, RARRAY_LEN, RARRAY_PTR, rb_ary_set_shared(), and result.

Referenced by ary_make_shared_copy(), ary_take_first_or_last(), and rb_ary_subseq().

static VALUE ary_make_shared ( VALUE  ary  )  [static]

Definition at line 409 of file array.c.

References ARY_EMBED_P, ARY_HEAP_LEN, ary_resize_capa(), ARY_SET_LEN, ARY_SET_PTR, ARY_SET_SHARED, ARY_SET_SHARED_NUM, ARY_SHARED, ARY_SHARED_P, ARY_SHARED_ROOT_P, assert, FL_SET_SHARED, FL_SET_SHARED_ROOT, FL_UNSET_EMBED, NEWOBJ, OBJ_FREEZE, OBJ_FROZEN, OBJSETUP, RARRAY_LEN, RARRAY_PTR, and T_ARRAY.

Referenced by ary_make_partial(), ary_make_substitution(), rb_ary_replace(), and rb_ary_shift().

static VALUE ary_make_shared_copy ( VALUE  ary  )  [static]

Definition at line 671 of file array.c.

References ary_make_partial(), RARRAY_LEN, and rb_obj_class().

Referenced by rb_ary_flatten(), rb_ary_permutation(), rb_ary_product(), rb_ary_repeated_combination(), and rb_ary_repeated_permutation().

static VALUE ary_make_substitution ( VALUE  ary  )  [static]

Definition at line 442 of file array.c.

References ARY_EMBED_PTR, ary_make_shared(), ARY_SET_EMBED_LEN, MEMCPY, RARRAY_EMBED_LEN_MAX, RARRAY_LEN, RARRAY_PTR, rb_ary_increment_share(), and rb_ary_new2().

Referenced by rb_ary_sort_bang().

static VALUE ary_new ( VALUE  klass,
long  capa 
) [static]

Definition at line 306 of file array.c.

References ALLOC_N, ary_alloc(), ARY_MAX_SIZE, ARY_SET_CAPA, ARY_SET_HEAP_LEN, ARY_SET_PTR, FL_UNSET_EMBED, RARRAY_EMBED_LEN_MAX, rb_eArgError, and rb_raise().

Referenced by flatten(), rb_ary_new2(), rb_ary_s_create(), rb_ary_subseq(), rb_ary_times(), rb_ary_tmp_new(), and rb_ary_uniq().

static void ary_recycle_hash ( VALUE  hash  )  [inline, static]

Definition at line 3283 of file array.c.

References RHASH, and st_free_table.

Referenced by rb_ary_and(), rb_ary_diff(), rb_ary_or(), rb_ary_uniq(), and rb_ary_uniq_bang().

static void ary_resize_capa ( VALUE  ary,
long  capacity 
) [static]

Definition at line 144 of file array.c.

References ALLOC_N, ARY_EMBED_LEN, ARY_EMBED_P, ARY_EMBED_PTR, ARY_SET_CAPA, ARY_SET_HEAP_LEN, ARY_SET_LEN, ARY_SET_PTR, ARY_SHARED_P, assert, FL_SET_EMBED, FL_UNSET_EMBED, len, MEMCPY, OBJ_FROZEN, RARRAY, RARRAY_EMBED_LEN_MAX, RARRAY_LEN, RARRAY_PTR, REALLOC_N, and xfree.

Referenced by ary_double_capa(), ary_make_shared(), rb_ary_clear(), rb_ary_compact_bang(), rb_ary_delete(), rb_ary_fill(), rb_ary_initialize(), rb_ary_pop(), and rb_ary_uniq_bang().

static void ary_reverse ( VALUE p1,
VALUE p2 
) [static]

Definition at line 1777 of file array.c.

Referenced by rb_ary_reverse(), and rb_ary_rotate().

static VALUE ary_take_first_or_last ( int  argc,
VALUE argv,
VALUE  ary,
enum ary_take_pos_flags  last 
) [static]

Definition at line 683 of file array.c.

References ary_make_partial(), NUM2LONG(), RARRAY_LEN, rb_cArray, rb_eArgError, rb_raise(), and rb_scan_args().

Referenced by rb_ary_first(), rb_ary_last(), rb_ary_pop_m(), and rb_ary_shift_m().

static VALUE ary_tmp_hash_new ( void   )  [inline, static]

Definition at line 3246 of file array.c.

References hash(), rb_hash_new(), and RBASIC.

Referenced by ary_make_hash(), and ary_make_hash_by().

static VALUE flatten ( VALUE  ary,
int  level,
int *  modified 
) [static]

Definition at line 3599 of file array.c.

References ARY_DEFAULT_SIZE, ary_new(), id, LONG2NUM, NIL_P, NUM2LONG(), Qtrue, RARRAY_LEN, RARRAY_PTR, rb_ary_pop(), rb_ary_push(), rb_check_array_type(), rb_class_of(), rb_eArgError, rb_eRuntimeError, rb_raise(), RBASIC, result, st_delete, st_free_table, st_init_numtable, st_insert, and st_lookup.

Referenced by rb_ary_flatten(), and rb_ary_flatten_bang().

void Init_Array ( void   ) 

Definition at line 4495 of file array.c.

References ary_alloc(), id_cmp, rb_ary_and(), rb_ary_aref(), rb_ary_aset(), rb_ary_assoc(), rb_ary_at(), rb_ary_clear(), rb_ary_cmp(), rb_ary_collect(), rb_ary_collect_bang(), rb_ary_combination(), rb_ary_compact(), rb_ary_compact_bang(), rb_ary_concat(), rb_ary_count(), rb_ary_cycle(), rb_ary_delete(), rb_ary_delete_at_m(), rb_ary_delete_if(), rb_ary_diff(), rb_ary_drop(), rb_ary_drop_while(), rb_ary_each(), rb_ary_each_index(), rb_ary_empty_p(), rb_ary_eql(), rb_ary_equal(), rb_ary_fetch(), rb_ary_fill(), rb_ary_first(), rb_ary_flatten(), rb_ary_flatten_bang(), rb_ary_frozen_p(), rb_ary_hash(), rb_ary_includes(), rb_ary_index(), rb_ary_initialize(), rb_ary_insert(), rb_ary_inspect(), rb_ary_join_m(), rb_ary_keep_if(), rb_ary_last(), rb_ary_length(), rb_ary_or(), rb_ary_permutation(), rb_ary_plus(), rb_ary_pop_m(), rb_ary_product(), rb_ary_push(), rb_ary_push_m(), rb_ary_rassoc(), rb_ary_reject(), rb_ary_reject_bang(), rb_ary_repeated_combination(), rb_ary_repeated_permutation(), rb_ary_replace(), rb_ary_reverse_bang(), rb_ary_reverse_each(), rb_ary_reverse_m(), rb_ary_rindex(), rb_ary_rotate_bang(), rb_ary_rotate_m(), rb_ary_s_create(), rb_ary_s_try_convert(), rb_ary_sample(), rb_ary_select(), rb_ary_select_bang(), rb_ary_shift_m(), rb_ary_shuffle(), rb_ary_shuffle_bang(), rb_ary_slice_bang(), rb_ary_sort(), rb_ary_sort_bang(), rb_ary_sort_by_bang(), rb_ary_take(), rb_ary_take_while(), rb_ary_times(), rb_ary_to_a(), rb_ary_to_ary_m(), rb_ary_transpose(), rb_ary_uniq(), rb_ary_uniq_bang(), rb_ary_unshift_m(), rb_ary_values_at(), rb_ary_zip(), rb_cArray, rb_cObject, rb_define_alias(), rb_define_alloc_func(), rb_define_class(), rb_define_method(), rb_define_singleton_method(), rb_include_module(), rb_intern, and rb_mEnumerable.

static VALUE inspect_ary ( VALUE  ary,
VALUE  dummy,
int  recur 
) [static]

Definition at line 1701 of file array.c.

References OBJ_TAINT, OBJ_TAINTED, OBJ_UNTRUST, OBJ_UNTRUSTED, RARRAY_LEN, RARRAY_PTR, rb_inspect(), rb_str_buf_append(), rb_str_buf_cat2(), rb_str_buf_new2, rb_tainted_str_new2, and TRUE.

Referenced by rb_ary_inspect().

static void memfill ( register VALUE mem,
register long  size,
register VALUE  val 
) [inline, static]

Definition at line 39 of file array.c.

Referenced by rb_ary_initialize().

static void permute0 ( long  n,
long  r,
long *  p,
long  index,
char *  used,
VALUE  values 
) [static]

Definition at line 3923 of file array.c.

References ARY_SET_LEN, RARRAY_PTR, rb_ary_new2(), rb_eRuntimeError, rb_raise(), rb_yield(), RBASIC, and result.

Referenced by rb_ary_permutation().

static int push_value ( st_data_t  key,
st_data_t  val,
st_data_t  ary 
) [static]

Definition at line 3397 of file array.c.

References rb_ary_push(), and ST_CONTINUE.

Referenced by rb_ary_uniq(), and rb_ary_uniq_bang().

static VALUE rb_ary_and ( VALUE  ary1,
VALUE  ary2 
) [static]

Definition at line 3334 of file array.c.

References ary_make_hash(), ary_recycle_hash(), hash(), RARRAY_LEN, rb_ary_elt(), rb_ary_new2(), rb_ary_push(), RHASH_EMPTY_P, RHASH_TBL, st_delete, and to_ary().

Referenced by Init_Array().

VALUE rb_ary_aref ( int  argc,
VALUE argv,
VALUE  ary 
)

Definition at line 993 of file array.c.

References FIX2LONG, FIXNUM_P, len, NUM2LONG(), Qfalse, Qnil, RARRAY_LEN, rb_ary_entry(), rb_ary_subseq(), rb_range_beg_len(), and rb_scan_args().

Referenced by Init_Array(), and match_aref().

static VALUE rb_ary_aset ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 1338 of file array.c.

References FIX2LONG, FIXNUM_P, len, NUM2LONG(), RARRAY_LEN, rb_ary_modify_check(), rb_ary_splice(), rb_ary_store(), rb_eArgError, rb_raise(), and rb_range_beg_len().

Referenced by Init_Array().

VALUE rb_ary_assoc ( VALUE  ary,
VALUE  key 
)

Definition at line 3001 of file array.c.

References NIL_P, Qnil, RARRAY_LEN, RARRAY_PTR, rb_check_array_type(), and rb_equal().

Referenced by Init_Array().

static VALUE rb_ary_at ( VALUE  ary,
VALUE  pos 
) [static]

Definition at line 1040 of file array.c.

References NUM2LONG(), and rb_ary_entry().

Referenced by Init_Array().

VALUE rb_ary_clear ( VALUE  ary  ) 

Definition at line 2773 of file array.c.

References ARY_CAPA, ARY_DEFAULT_SIZE, ary_resize_capa(), ARY_SET_LEN, and rb_ary_modify().

Referenced by Init_Array(), iseq_set_arguments(), method_missing(), open_key_args(), rb_io_s_popen(), ruby_set_argv(), and set_argv().

VALUE rb_ary_cmp ( VALUE  ary1,
VALUE  ary2 
)

Definition at line 3218 of file array.c.

References INT2FIX, len, NIL_P, Qnil, Qundef, RARRAY_LEN, rb_check_array_type(), rb_exec_recursive_paired(), and recursive_cmp().

Referenced by Init_Array().

static VALUE rb_ary_collect ( VALUE  ary  )  [static]

Definition at line 2158 of file array.c.

References RARRAY_LEN, RARRAY_PTR, rb_ary_new2(), rb_ary_push(), rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_Array().

static VALUE rb_ary_collect_bang ( VALUE  ary  )  [static]

Definition at line 2191 of file array.c.

References RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), rb_ary_store(), rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_Array().

static VALUE rb_ary_combination ( VALUE  ary,
VALUE  num 
) [static]

Definition at line 4045 of file array.c.

References len, MEMZERO, NUM2LONG(), RARRAY_LEN, RARRAY_PTR, rb_ary_new2(), rb_ary_new3(), rb_ary_new4(), rb_eRuntimeError, rb_raise(), rb_yield(), RBASIC, RETURN_ENUMERATOR, RSTRING_PTR, tmpary, tmpary_discard, tmpbuf, and tmpbuf_discard.

Referenced by Init_Array().

static VALUE rb_ary_compact ( VALUE  ary  )  [static]

Definition at line 3544 of file array.c.

References rb_ary_compact_bang(), and rb_ary_dup().

Referenced by Init_Array().

static VALUE rb_ary_compact_bang ( VALUE  ary  )  [static]

Definition at line 3508 of file array.c.

References ARY_CAPA, ARY_DEFAULT_SIZE, ary_resize_capa(), ARY_SET_LEN, NIL_P, Qnil, RARRAY_LEN, RARRAY_PTR, and rb_ary_modify().

Referenced by Init_Array(), and rb_ary_compact().

VALUE rb_ary_concat ( VALUE  x,
VALUE  y 
)

Definition at line 2915 of file array.c.

References RARRAY_LEN, rb_ary_modify_check(), rb_ary_splice(), and to_ary().

Referenced by flat_map_i(), hash2kv(), hash2kv_enc(), Init_Array(), ole_methods(), open_key_args(), and rb_str_associate().

static VALUE rb_ary_count ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 3569 of file array.c.

References LONG2NUM, RARRAY_LEN, RARRAY_PTR, rb_block_given_p(), rb_equal(), rb_scan_args(), rb_warn(), rb_yield(), and RTEST.

Referenced by Init_Array().

static VALUE rb_ary_cycle ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 3881 of file array.c.

References NIL_P, NUM2LONG(), Qnil, RARRAY_LEN, RARRAY_PTR, rb_scan_args(), rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_Array().

static void rb_ary_decrement_share ( VALUE  shared  )  [static]

Definition at line 192 of file array.c.

References ARY_SET_SHARED_NUM, ARY_SHARED_NUM, rb_ary_free(), and rb_gc_force_recycle().

Referenced by rb_ary_modify(), rb_ary_replace(), and rb_ary_unshare().

VALUE rb_ary_delete ( VALUE  ary,
VALUE  item 
)

Definition at line 2365 of file array.c.

References ARY_CAPA, ARY_DEFAULT_SIZE, ary_resize_capa(), ARY_SET_LEN, Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), rb_ary_store(), rb_block_given_p(), rb_equal(), and rb_yield().

Referenced by env_replace_i(), and Init_Array().

VALUE rb_ary_delete_at ( VALUE  ary,
long  pos 
)

Definition at line 2402 of file array.c.

References ARY_INCREASE_LEN, len, MEMMOVE, Qnil, RARRAY_LEN, RARRAY_PTR, and rb_ary_modify().

Referenced by ole_delete_event(), rb_ary_delete_at_m(), and rb_ary_slice_bang().

static VALUE rb_ary_delete_at_m ( VALUE  ary,
VALUE  pos 
) [static]

Definition at line 2437 of file array.c.

References NUM2LONG(), and rb_ary_delete_at().

Referenced by Init_Array().

static VALUE rb_ary_delete_if ( VALUE  ary  )  [static]

Definition at line 2586 of file array.c.

References rb_ary_reject_bang(), and RETURN_ENUMERATOR.

Referenced by Init_Array().

static VALUE rb_ary_diff ( VALUE  ary1,
VALUE  ary2 
) [static]

Definition at line 3305 of file array.c.

References ary_make_hash(), ary_recycle_hash(), hash(), RARRAY_LEN, RARRAY_PTR, rb_ary_elt(), rb_ary_new(), rb_ary_push(), RHASH_TBL, st_lookup, and to_ary().

Referenced by Init_Array().

static VALUE rb_ary_drop ( VALUE  ary,
VALUE  n 
) [static]

Definition at line 4444 of file array.c.

References NUM2LONG(), Qnil, RARRAY_LEN, rb_ary_new(), rb_ary_subseq(), rb_eArgError, rb_raise(), and result.

Referenced by Init_Array(), and rb_ary_drop_while().

static VALUE rb_ary_drop_while ( VALUE  ary  )  [static]

Definition at line 4474 of file array.c.

References LONG2FIX, RARRAY_LEN, RARRAY_PTR, rb_ary_drop(), rb_yield(), RETURN_ENUMERATOR, and RTEST.

Referenced by Init_Array().

VALUE rb_ary_dup ( VALUE  ary  ) 

Definition at line 1540 of file array.c.

References MEMCPY, RARRAY_LEN, RARRAY_PTR, and rb_ary_dup_setup().

Referenced by ary2sv(), each_cons_i(), enumerator_peek_values_m(), iseq_build_body(), rb_ary_compact(), rb_ary_reject(), rb_ary_shuffle(), rb_ary_sort(), rb_ary_transpose(), rb_ary_uniq(), rb_io_s_popen(), rb_method_location(), and save_env_i().

static VALUE rb_ary_dup_setup ( VALUE  ary  )  [static]

Definition at line 1529 of file array.c.

References ARY_EMBED_P, ARY_SET_LEN, DUPSETUP, FL_SET_EMBED, RARRAY_LEN, and rb_ary_new2().

Referenced by rb_ary_dup(), rb_ary_reverse_m(), and rb_ary_rotate_m().

VALUE rb_ary_each ( VALUE  ary  ) 

Definition at line 1421 of file array.c.

References RARRAY_LEN, RARRAY_PTR, rb_yield(), and RETURN_ENUMERATOR.

Referenced by dir_s_glob(), Init_Array(), and ossl_asn1cons_each().

static VALUE rb_ary_each_index ( VALUE  ary  )  [static]

Definition at line 1452 of file array.c.

References LONG2NUM, RARRAY_LEN, rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_Array().

static VALUE rb_ary_elt ( VALUE  ary,
long  offset 
) [inline, static]

Definition at line 925 of file array.c.

References Qnil, RARRAY_LEN, and RARRAY_PTR.

Referenced by ary_add_hash_by(), rb_ary_and(), rb_ary_diff(), rb_ary_entry(), rb_ary_or(), rb_ary_select(), rb_ary_transpose(), rb_ary_uniq(), rb_ary_uniq_bang(), rb_ary_zip(), recursive_cmp(), recursive_eql(), and recursive_equal().

static VALUE rb_ary_empty_p ( VALUE  ary  )  [static]

Definition at line 1521 of file array.c.

References Qfalse, Qtrue, and RARRAY_LEN.

Referenced by Init_Array().

VALUE rb_ary_entry ( VALUE  ary,
long  offset 
)

Definition at line 935 of file array.c.

References RARRAY_LEN, and rb_ary_elt().

Referenced by addrinfo_initialize(), addrinfo_ip_address(), addrinfo_ip_unpack(), addrinfo_mload(), ary2ptr_dispparams(), ary_len_of_dim(), ary_new_dim(), check_exec_fds(), check_exec_redirect(), dimension(), divmodv(), enc_register_at(), EVENTSINK_Invoke(), evs_entry(), foletypelib_initialize(), folevariant_initialize(), folevariant_s_array(), generate_json(), get_iconv_opt_i(), hash2named_arg(), iseq_build_body(), iseq_load(), iseq_set_sequence(), ole_ary_m_entry(), ole_invoke(), ole_invoke2(), ole_search_event(), ole_search_event_at(), oletypelib_search_registry2(), ossl_asn1_decode(), ossl_call_client_cert_cb(), ossl_call_session_get_cb(), ossl_call_session_new_cb(), ossl_sslctx_set_ciphers(), ossl_x509name_init_i(), pty_close_pty(), rb_ary_aref(), rb_ary_at(), rb_ary_product(), rb_ary_values_at(), rb_dl_callback_char_0_0_cdecl(), rb_dl_callback_char_0_1_cdecl(), rb_dl_callback_char_0_2_cdecl(), rb_dl_callback_char_0_3_cdecl(), rb_dl_callback_char_0_4_cdecl(), rb_dl_callback_char_10_0_cdecl(), rb_dl_callback_char_10_1_cdecl(), rb_dl_callback_char_10_2_cdecl(), rb_dl_callback_char_10_3_cdecl(), rb_dl_callback_char_10_4_cdecl(), rb_dl_callback_char_11_0_cdecl(), rb_dl_callback_char_11_1_cdecl(), rb_dl_callback_char_11_2_cdecl(), rb_dl_callback_char_11_3_cdecl(), rb_dl_callback_char_11_4_cdecl(), rb_dl_callback_char_12_0_cdecl(), rb_dl_callback_char_12_1_cdecl(), rb_dl_callback_char_12_2_cdecl(), rb_dl_callback_char_12_3_cdecl(), rb_dl_callback_char_12_4_cdecl(), rb_dl_callback_char_13_0_cdecl(), rb_dl_callback_char_13_1_cdecl(), rb_dl_callback_char_13_2_cdecl(), rb_dl_callback_char_13_3_cdecl(), rb_dl_callback_char_13_4_cdecl(), rb_dl_callback_char_14_0_cdecl(), rb_dl_callback_char_14_1_cdecl(), rb_dl_callback_char_14_2_cdecl(), rb_dl_callback_char_14_3_cdecl(), rb_dl_callback_char_14_4_cdecl(), rb_dl_callback_char_15_0_cdecl(), rb_dl_callback_char_15_1_cdecl(), rb_dl_callback_char_15_2_cdecl(), rb_dl_callback_char_15_3_cdecl(), rb_dl_callback_char_15_4_cdecl(), rb_dl_callback_char_16_0_cdecl(), rb_dl_callback_char_16_1_cdecl(), rb_dl_callback_char_16_2_cdecl(), rb_dl_callback_char_16_3_cdecl(), rb_dl_callback_char_16_4_cdecl(), rb_dl_callback_char_17_0_cdecl(), rb_dl_callback_char_17_1_cdecl(), rb_dl_callback_char_17_2_cdecl(), rb_dl_callback_char_17_3_cdecl(), rb_dl_callback_char_17_4_cdecl(), rb_dl_callback_char_18_0_cdecl(), rb_dl_callback_char_18_1_cdecl(), rb_dl_callback_char_18_2_cdecl(), rb_dl_callback_char_18_3_cdecl(), rb_dl_callback_char_18_4_cdecl(), rb_dl_callback_char_19_0_cdecl(), rb_dl_callback_char_19_1_cdecl(), rb_dl_callback_char_19_2_cdecl(), rb_dl_callback_char_19_3_cdecl(), rb_dl_callback_char_19_4_cdecl(), rb_dl_callback_char_1_0_cdecl(), rb_dl_callback_char_1_1_cdecl(), rb_dl_callback_char_1_2_cdecl(), rb_dl_callback_char_1_3_cdecl(), rb_dl_callback_char_1_4_cdecl(), rb_dl_callback_char_2_0_cdecl(), rb_dl_callback_char_2_1_cdecl(), rb_dl_callback_char_2_2_cdecl(), rb_dl_callback_char_2_3_cdecl(), rb_dl_callback_char_2_4_cdecl(), rb_dl_callback_char_3_0_cdecl(), rb_dl_callback_char_3_1_cdecl(), rb_dl_callback_char_3_2_cdecl(), rb_dl_callback_char_3_3_cdecl(), rb_dl_callback_char_3_4_cdecl(), rb_dl_callback_char_4_0_cdecl(), rb_dl_callback_char_4_1_cdecl(), rb_dl_callback_char_4_2_cdecl(), rb_dl_callback_char_4_3_cdecl(), rb_dl_callback_char_4_4_cdecl(), rb_dl_callback_char_5_0_cdecl(), rb_dl_callback_char_5_1_cdecl(), rb_dl_callback_char_5_2_cdecl(), rb_dl_callback_char_5_3_cdecl(), rb_dl_callback_char_5_4_cdecl(), rb_dl_callback_char_6_0_cdecl(), rb_dl_callback_char_6_1_cdecl(), rb_dl_callback_char_6_2_cdecl(), rb_dl_callback_char_6_3_cdecl(), rb_dl_callback_char_6_4_cdecl(), rb_dl_callback_char_7_0_cdecl(), rb_dl_callback_char_7_1_cdecl(), rb_dl_callback_char_7_2_cdecl(), rb_dl_callback_char_7_3_cdecl(), rb_dl_callback_char_7_4_cdecl(), rb_dl_callback_char_8_0_cdecl(), rb_dl_callback_char_8_1_cdecl(), rb_dl_callback_char_8_2_cdecl(), rb_dl_callback_char_8_3_cdecl(), rb_dl_callback_char_8_4_cdecl(), rb_dl_callback_char_9_0_cdecl(), rb_dl_callback_char_9_1_cdecl(), rb_dl_callback_char_9_2_cdecl(), rb_dl_callback_char_9_3_cdecl(), rb_dl_callback_char_9_4_cdecl(), rb_dl_callback_double_0_0_cdecl(), rb_dl_callback_double_0_1_cdecl(), rb_dl_callback_double_0_2_cdecl(), rb_dl_callback_double_0_3_cdecl(), rb_dl_callback_double_0_4_cdecl(), rb_dl_callback_double_10_0_cdecl(), rb_dl_callback_double_10_1_cdecl(), rb_dl_callback_double_10_2_cdecl(), rb_dl_callback_double_10_3_cdecl(), rb_dl_callback_double_10_4_cdecl(), rb_dl_callback_double_11_0_cdecl(), rb_dl_callback_double_11_1_cdecl(), rb_dl_callback_double_11_2_cdecl(), rb_dl_callback_double_11_3_cdecl(), rb_dl_callback_double_11_4_cdecl(), rb_dl_callback_double_12_0_cdecl(), rb_dl_callback_double_12_1_cdecl(), rb_dl_callback_double_12_2_cdecl(), rb_dl_callback_double_12_3_cdecl(), rb_dl_callback_double_12_4_cdecl(), rb_dl_callback_double_13_0_cdecl(), rb_dl_callback_double_13_1_cdecl(), rb_dl_callback_double_13_2_cdecl(), rb_dl_callback_double_13_3_cdecl(), rb_dl_callback_double_13_4_cdecl(), rb_dl_callback_double_14_0_cdecl(), rb_dl_callback_double_14_1_cdecl(), rb_dl_callback_double_14_2_cdecl(), rb_dl_callback_double_14_3_cdecl(), rb_dl_callback_double_14_4_cdecl(), rb_dl_callback_double_15_0_cdecl(), rb_dl_callback_double_15_1_cdecl(), rb_dl_callback_double_15_2_cdecl(), rb_dl_callback_double_15_3_cdecl(), rb_dl_callback_double_15_4_cdecl(), rb_dl_callback_double_16_0_cdecl(), rb_dl_callback_double_16_1_cdecl(), rb_dl_callback_double_16_2_cdecl(), rb_dl_callback_double_16_3_cdecl(), rb_dl_callback_double_16_4_cdecl(), rb_dl_callback_double_17_0_cdecl(), rb_dl_callback_double_17_1_cdecl(), rb_dl_callback_double_17_2_cdecl(), rb_dl_callback_double_17_3_cdecl(), rb_dl_callback_double_17_4_cdecl(), rb_dl_callback_double_18_0_cdecl(), rb_dl_callback_double_18_1_cdecl(), rb_dl_callback_double_18_2_cdecl(), rb_dl_callback_double_18_3_cdecl(), rb_dl_callback_double_18_4_cdecl(), rb_dl_callback_double_19_0_cdecl(), rb_dl_callback_double_19_1_cdecl(), rb_dl_callback_double_19_2_cdecl(), rb_dl_callback_double_19_3_cdecl(), rb_dl_callback_double_19_4_cdecl(), rb_dl_callback_double_1_0_cdecl(), rb_dl_callback_double_1_1_cdecl(), rb_dl_callback_double_1_2_cdecl(), rb_dl_callback_double_1_3_cdecl(), rb_dl_callback_double_1_4_cdecl(), rb_dl_callback_double_2_0_cdecl(), rb_dl_callback_double_2_1_cdecl(), rb_dl_callback_double_2_2_cdecl(), rb_dl_callback_double_2_3_cdecl(), rb_dl_callback_double_2_4_cdecl(), rb_dl_callback_double_3_0_cdecl(), rb_dl_callback_double_3_1_cdecl(), rb_dl_callback_double_3_2_cdecl(), rb_dl_callback_double_3_3_cdecl(), rb_dl_callback_double_3_4_cdecl(), rb_dl_callback_double_4_0_cdecl(), rb_dl_callback_double_4_1_cdecl(), rb_dl_callback_double_4_2_cdecl(), rb_dl_callback_double_4_3_cdecl(), rb_dl_callback_double_4_4_cdecl(), rb_dl_callback_double_5_0_cdecl(), rb_dl_callback_double_5_1_cdecl(), rb_dl_callback_double_5_2_cdecl(), rb_dl_callback_double_5_3_cdecl(), rb_dl_callback_double_5_4_cdecl(), rb_dl_callback_double_6_0_cdecl(), rb_dl_callback_double_6_1_cdecl(), rb_dl_callback_double_6_2_cdecl(), rb_dl_callback_double_6_3_cdecl(), rb_dl_callback_double_6_4_cdecl(), rb_dl_callback_double_7_0_cdecl(), rb_dl_callback_double_7_1_cdecl(), rb_dl_callback_double_7_2_cdecl(), rb_dl_callback_double_7_3_cdecl(), rb_dl_callback_double_7_4_cdecl(), rb_dl_callback_double_8_0_cdecl(), rb_dl_callback_double_8_1_cdecl(), rb_dl_callback_double_8_2_cdecl(), rb_dl_callback_double_8_3_cdecl(), rb_dl_callback_double_8_4_cdecl(), rb_dl_callback_double_9_0_cdecl(), rb_dl_callback_double_9_1_cdecl(), rb_dl_callback_double_9_2_cdecl(), rb_dl_callback_double_9_3_cdecl(), rb_dl_callback_double_9_4_cdecl(), rb_dl_callback_float_0_0_cdecl(), rb_dl_callback_float_0_1_cdecl(), rb_dl_callback_float_0_2_cdecl(), rb_dl_callback_float_0_3_cdecl(), rb_dl_callback_float_0_4_cdecl(), rb_dl_callback_float_10_0_cdecl(), rb_dl_callback_float_10_1_cdecl(), rb_dl_callback_float_10_2_cdecl(), rb_dl_callback_float_10_3_cdecl(), rb_dl_callback_float_10_4_cdecl(), rb_dl_callback_float_11_0_cdecl(), rb_dl_callback_float_11_1_cdecl(), rb_dl_callback_float_11_2_cdecl(), rb_dl_callback_float_11_3_cdecl(), rb_dl_callback_float_11_4_cdecl(), rb_dl_callback_float_12_0_cdecl(), rb_dl_callback_float_12_1_cdecl(), rb_dl_callback_float_12_2_cdecl(), rb_dl_callback_float_12_3_cdecl(), rb_dl_callback_float_12_4_cdecl(), rb_dl_callback_float_13_0_cdecl(), rb_dl_callback_float_13_1_cdecl(), rb_dl_callback_float_13_2_cdecl(), rb_dl_callback_float_13_3_cdecl(), rb_dl_callback_float_13_4_cdecl(), rb_dl_callback_float_14_0_cdecl(), rb_dl_callback_float_14_1_cdecl(), rb_dl_callback_float_14_2_cdecl(), rb_dl_callback_float_14_3_cdecl(), rb_dl_callback_float_14_4_cdecl(), rb_dl_callback_float_15_0_cdecl(), rb_dl_callback_float_15_1_cdecl(), rb_dl_callback_float_15_2_cdecl(), rb_dl_callback_float_15_3_cdecl(), rb_dl_callback_float_15_4_cdecl(), rb_dl_callback_float_16_0_cdecl(), rb_dl_callback_float_16_1_cdecl(), rb_dl_callback_float_16_2_cdecl(), rb_dl_callback_float_16_3_cdecl(), rb_dl_callback_float_16_4_cdecl(), rb_dl_callback_float_17_0_cdecl(), rb_dl_callback_float_17_1_cdecl(), rb_dl_callback_float_17_2_cdecl(), rb_dl_callback_float_17_3_cdecl(), rb_dl_callback_float_17_4_cdecl(), rb_dl_callback_float_18_0_cdecl(), rb_dl_callback_float_18_1_cdecl(), rb_dl_callback_float_18_2_cdecl(), rb_dl_callback_float_18_3_cdecl(), rb_dl_callback_float_18_4_cdecl(), rb_dl_callback_float_19_0_cdecl(), rb_dl_callback_float_19_1_cdecl(), rb_dl_callback_float_19_2_cdecl(), rb_dl_callback_float_19_3_cdecl(), rb_dl_callback_float_19_4_cdecl(), rb_dl_callback_float_1_0_cdecl(), rb_dl_callback_float_1_1_cdecl(), rb_dl_callback_float_1_2_cdecl(), rb_dl_callback_float_1_3_cdecl(), rb_dl_callback_float_1_4_cdecl(), rb_dl_callback_float_2_0_cdecl(), rb_dl_callback_float_2_1_cdecl(), rb_dl_callback_float_2_2_cdecl(), rb_dl_callback_float_2_3_cdecl(), rb_dl_callback_float_2_4_cdecl(), rb_dl_callback_float_3_0_cdecl(), rb_dl_callback_float_3_1_cdecl(), rb_dl_callback_float_3_2_cdecl(), rb_dl_callback_float_3_3_cdecl(), rb_dl_callback_float_3_4_cdecl(), rb_dl_callback_float_4_0_cdecl(), rb_dl_callback_float_4_1_cdecl(), rb_dl_callback_float_4_2_cdecl(), rb_dl_callback_float_4_3_cdecl(), rb_dl_callback_float_4_4_cdecl(), rb_dl_callback_float_5_0_cdecl(), rb_dl_callback_float_5_1_cdecl(), rb_dl_callback_float_5_2_cdecl(), rb_dl_callback_float_5_3_cdecl(), rb_dl_callback_float_5_4_cdecl(), rb_dl_callback_float_6_0_cdecl(), rb_dl_callback_float_6_1_cdecl(), rb_dl_callback_float_6_2_cdecl(), rb_dl_callback_float_6_3_cdecl(), rb_dl_callback_float_6_4_cdecl(), rb_dl_callback_float_7_0_cdecl(), rb_dl_callback_float_7_1_cdecl(), rb_dl_callback_float_7_2_cdecl(), rb_dl_callback_float_7_3_cdecl(), rb_dl_callback_float_7_4_cdecl(), rb_dl_callback_float_8_0_cdecl(), rb_dl_callback_float_8_1_cdecl(), rb_dl_callback_float_8_2_cdecl(), rb_dl_callback_float_8_3_cdecl(), rb_dl_callback_float_8_4_cdecl(), rb_dl_callback_float_9_0_cdecl(), rb_dl_callback_float_9_1_cdecl(), rb_dl_callback_float_9_2_cdecl(), rb_dl_callback_float_9_3_cdecl(), rb_dl_callback_float_9_4_cdecl(), rb_dl_callback_int_0_0_cdecl(), rb_dl_callback_int_0_1_cdecl(), rb_dl_callback_int_0_2_cdecl(), rb_dl_callback_int_0_3_cdecl(), rb_dl_callback_int_0_4_cdecl(), rb_dl_callback_int_10_0_cdecl(), rb_dl_callback_int_10_1_cdecl(), rb_dl_callback_int_10_2_cdecl(), rb_dl_callback_int_10_3_cdecl(), rb_dl_callback_int_10_4_cdecl(), rb_dl_callback_int_11_0_cdecl(), rb_dl_callback_int_11_1_cdecl(), rb_dl_callback_int_11_2_cdecl(), rb_dl_callback_int_11_3_cdecl(), rb_dl_callback_int_11_4_cdecl(), rb_dl_callback_int_12_0_cdecl(), rb_dl_callback_int_12_1_cdecl(), rb_dl_callback_int_12_2_cdecl(), rb_dl_callback_int_12_3_cdecl(), rb_dl_callback_int_12_4_cdecl(), rb_dl_callback_int_13_0_cdecl(), rb_dl_callback_int_13_1_cdecl(), rb_dl_callback_int_13_2_cdecl(), rb_dl_callback_int_13_3_cdecl(), rb_dl_callback_int_13_4_cdecl(), rb_dl_callback_int_14_0_cdecl(), rb_dl_callback_int_14_1_cdecl(), rb_dl_callback_int_14_2_cdecl(), rb_dl_callback_int_14_3_cdecl(), rb_dl_callback_int_14_4_cdecl(), rb_dl_callback_int_15_0_cdecl(), rb_dl_callback_int_15_1_cdecl(), rb_dl_callback_int_15_2_cdecl(), rb_dl_callback_int_15_3_cdecl(), rb_dl_callback_int_15_4_cdecl(), rb_dl_callback_int_16_0_cdecl(), rb_dl_callback_int_16_1_cdecl(), rb_dl_callback_int_16_2_cdecl(), rb_dl_callback_int_16_3_cdecl(), rb_dl_callback_int_16_4_cdecl(), rb_dl_callback_int_17_0_cdecl(), rb_dl_callback_int_17_1_cdecl(), rb_dl_callback_int_17_2_cdecl(), rb_dl_callback_int_17_3_cdecl(), rb_dl_callback_int_17_4_cdecl(), rb_dl_callback_int_18_0_cdecl(), rb_dl_callback_int_18_1_cdecl(), rb_dl_callback_int_18_2_cdecl(), rb_dl_callback_int_18_3_cdecl(), rb_dl_callback_int_18_4_cdecl(), rb_dl_callback_int_19_0_cdecl(), rb_dl_callback_int_19_1_cdecl(), rb_dl_callback_int_19_2_cdecl(), rb_dl_callback_int_19_3_cdecl(), rb_dl_callback_int_19_4_cdecl(), rb_dl_callback_int_1_0_cdecl(), rb_dl_callback_int_1_1_cdecl(), rb_dl_callback_int_1_2_cdecl(), rb_dl_callback_int_1_3_cdecl(), rb_dl_callback_int_1_4_cdecl(), rb_dl_callback_int_2_0_cdecl(), rb_dl_callback_int_2_1_cdecl(), rb_dl_callback_int_2_2_cdecl(), rb_dl_callback_int_2_3_cdecl(), rb_dl_callback_int_2_4_cdecl(), rb_dl_callback_int_3_0_cdecl(), rb_dl_callback_int_3_1_cdecl(), rb_dl_callback_int_3_2_cdecl(), rb_dl_callback_int_3_3_cdecl(), rb_dl_callback_int_3_4_cdecl(), rb_dl_callback_int_4_0_cdecl(), rb_dl_callback_int_4_1_cdecl(), rb_dl_callback_int_4_2_cdecl(), rb_dl_callback_int_4_3_cdecl(), rb_dl_callback_int_4_4_cdecl(), rb_dl_callback_int_5_0_cdecl(), rb_dl_callback_int_5_1_cdecl(), rb_dl_callback_int_5_2_cdecl(), rb_dl_callback_int_5_3_cdecl(), rb_dl_callback_int_5_4_cdecl(), rb_dl_callback_int_6_0_cdecl(), rb_dl_callback_int_6_1_cdecl(), rb_dl_callback_int_6_2_cdecl(), rb_dl_callback_int_6_3_cdecl(), rb_dl_callback_int_6_4_cdecl(), rb_dl_callback_int_7_0_cdecl(), rb_dl_callback_int_7_1_cdecl(), rb_dl_callback_int_7_2_cdecl(), rb_dl_callback_int_7_3_cdecl(), rb_dl_callback_int_7_4_cdecl(), rb_dl_callback_int_8_0_cdecl(), rb_dl_callback_int_8_1_cdecl(), rb_dl_callback_int_8_2_cdecl(), rb_dl_callback_int_8_3_cdecl(), rb_dl_callback_int_8_4_cdecl(), rb_dl_callback_int_9_0_cdecl(), rb_dl_callback_int_9_1_cdecl(), rb_dl_callback_int_9_2_cdecl(), rb_dl_callback_int_9_3_cdecl(), rb_dl_callback_int_9_4_cdecl(), rb_dl_callback_long_0_0_cdecl(), rb_dl_callback_long_0_1_cdecl(), rb_dl_callback_long_0_2_cdecl(), rb_dl_callback_long_0_3_cdecl(), rb_dl_callback_long_0_4_cdecl(), rb_dl_callback_long_10_0_cdecl(), rb_dl_callback_long_10_1_cdecl(), rb_dl_callback_long_10_2_cdecl(), rb_dl_callback_long_10_3_cdecl(), rb_dl_callback_long_10_4_cdecl(), rb_dl_callback_long_11_0_cdecl(), rb_dl_callback_long_11_1_cdecl(), rb_dl_callback_long_11_2_cdecl(), rb_dl_callback_long_11_3_cdecl(), rb_dl_callback_long_11_4_cdecl(), rb_dl_callback_long_12_0_cdecl(), rb_dl_callback_long_12_1_cdecl(), rb_dl_callback_long_12_2_cdecl(), rb_dl_callback_long_12_3_cdecl(), rb_dl_callback_long_12_4_cdecl(), rb_dl_callback_long_13_0_cdecl(), rb_dl_callback_long_13_1_cdecl(), rb_dl_callback_long_13_2_cdecl(), rb_dl_callback_long_13_3_cdecl(), rb_dl_callback_long_13_4_cdecl(), rb_dl_callback_long_14_0_cdecl(), rb_dl_callback_long_14_1_cdecl(), rb_dl_callback_long_14_2_cdecl(), rb_dl_callback_long_14_3_cdecl(), rb_dl_callback_long_14_4_cdecl(), rb_dl_callback_long_15_0_cdecl(), rb_dl_callback_long_15_1_cdecl(), rb_dl_callback_long_15_2_cdecl(), rb_dl_callback_long_15_3_cdecl(), rb_dl_callback_long_15_4_cdecl(), rb_dl_callback_long_16_0_cdecl(), rb_dl_callback_long_16_1_cdecl(), rb_dl_callback_long_16_2_cdecl(), rb_dl_callback_long_16_3_cdecl(), rb_dl_callback_long_16_4_cdecl(), rb_dl_callback_long_17_0_cdecl(), rb_dl_callback_long_17_1_cdecl(), rb_dl_callback_long_17_2_cdecl(), rb_dl_callback_long_17_3_cdecl(), rb_dl_callback_long_17_4_cdecl(), rb_dl_callback_long_18_0_cdecl(), rb_dl_callback_long_18_1_cdecl(), rb_dl_callback_long_18_2_cdecl(), rb_dl_callback_long_18_3_cdecl(), rb_dl_callback_long_18_4_cdecl(), rb_dl_callback_long_19_0_cdecl(), rb_dl_callback_long_19_1_cdecl(), rb_dl_callback_long_19_2_cdecl(), rb_dl_callback_long_19_3_cdecl(), rb_dl_callback_long_19_4_cdecl(), rb_dl_callback_long_1_0_cdecl(), rb_dl_callback_long_1_1_cdecl(), rb_dl_callback_long_1_2_cdecl(), rb_dl_callback_long_1_3_cdecl(), rb_dl_callback_long_1_4_cdecl(), rb_dl_callback_long_2_0_cdecl(), rb_dl_callback_long_2_1_cdecl(), rb_dl_callback_long_2_2_cdecl(), rb_dl_callback_long_2_3_cdecl(), rb_dl_callback_long_2_4_cdecl(), rb_dl_callback_long_3_0_cdecl(), rb_dl_callback_long_3_1_cdecl(), rb_dl_callback_long_3_2_cdecl(), rb_dl_callback_long_3_3_cdecl(), rb_dl_callback_long_3_4_cdecl(), rb_dl_callback_long_4_0_cdecl(), rb_dl_callback_long_4_1_cdecl(), rb_dl_callback_long_4_2_cdecl(), rb_dl_callback_long_4_3_cdecl(), rb_dl_callback_long_4_4_cdecl(), rb_dl_callback_long_5_0_cdecl(), rb_dl_callback_long_5_1_cdecl(), rb_dl_callback_long_5_2_cdecl(), rb_dl_callback_long_5_3_cdecl(), rb_dl_callback_long_5_4_cdecl(), rb_dl_callback_long_6_0_cdecl(), rb_dl_callback_long_6_1_cdecl(), rb_dl_callback_long_6_2_cdecl(), rb_dl_callback_long_6_3_cdecl(), rb_dl_callback_long_6_4_cdecl(), rb_dl_callback_long_7_0_cdecl(), rb_dl_callback_long_7_1_cdecl(), rb_dl_callback_long_7_2_cdecl(), rb_dl_callback_long_7_3_cdecl(), rb_dl_callback_long_7_4_cdecl(), rb_dl_callback_long_8_0_cdecl(), rb_dl_callback_long_8_1_cdecl(), rb_dl_callback_long_8_2_cdecl(), rb_dl_callback_long_8_3_cdecl(), rb_dl_callback_long_8_4_cdecl(), rb_dl_callback_long_9_0_cdecl(), rb_dl_callback_long_9_1_cdecl(), rb_dl_callback_long_9_2_cdecl(), rb_dl_callback_long_9_3_cdecl(), rb_dl_callback_long_9_4_cdecl(), rb_dl_callback_long_long_0_0_cdecl(), rb_dl_callback_long_long_0_1_cdecl(), rb_dl_callback_long_long_0_2_cdecl(), rb_dl_callback_long_long_0_3_cdecl(), rb_dl_callback_long_long_0_4_cdecl(), rb_dl_callback_long_long_10_0_cdecl(), rb_dl_callback_long_long_10_1_cdecl(), rb_dl_callback_long_long_10_2_cdecl(), rb_dl_callback_long_long_10_3_cdecl(), rb_dl_callback_long_long_10_4_cdecl(), rb_dl_callback_long_long_11_0_cdecl(), rb_dl_callback_long_long_11_1_cdecl(), rb_dl_callback_long_long_11_2_cdecl(), rb_dl_callback_long_long_11_3_cdecl(), rb_dl_callback_long_long_11_4_cdecl(), rb_dl_callback_long_long_12_0_cdecl(), rb_dl_callback_long_long_12_1_cdecl(), rb_dl_callback_long_long_12_2_cdecl(), rb_dl_callback_long_long_12_3_cdecl(), rb_dl_callback_long_long_12_4_cdecl(), rb_dl_callback_long_long_13_0_cdecl(), rb_dl_callback_long_long_13_1_cdecl(), rb_dl_callback_long_long_13_2_cdecl(), rb_dl_callback_long_long_13_3_cdecl(), rb_dl_callback_long_long_13_4_cdecl(), rb_dl_callback_long_long_14_0_cdecl(), rb_dl_callback_long_long_14_1_cdecl(), rb_dl_callback_long_long_14_2_cdecl(), rb_dl_callback_long_long_14_3_cdecl(), rb_dl_callback_long_long_14_4_cdecl(), rb_dl_callback_long_long_15_0_cdecl(), rb_dl_callback_long_long_15_1_cdecl(), rb_dl_callback_long_long_15_2_cdecl(), rb_dl_callback_long_long_15_3_cdecl(), rb_dl_callback_long_long_15_4_cdecl(), rb_dl_callback_long_long_16_0_cdecl(), rb_dl_callback_long_long_16_1_cdecl(), rb_dl_callback_long_long_16_2_cdecl(), rb_dl_callback_long_long_16_3_cdecl(), rb_dl_callback_long_long_16_4_cdecl(), rb_dl_callback_long_long_17_0_cdecl(), rb_dl_callback_long_long_17_1_cdecl(), rb_dl_callback_long_long_17_2_cdecl(), rb_dl_callback_long_long_17_3_cdecl(), rb_dl_callback_long_long_17_4_cdecl(), rb_dl_callback_long_long_18_0_cdecl(), rb_dl_callback_long_long_18_1_cdecl(), rb_dl_callback_long_long_18_2_cdecl(), rb_dl_callback_long_long_18_3_cdecl(), rb_dl_callback_long_long_18_4_cdecl(), rb_dl_callback_long_long_19_0_cdecl(), rb_dl_callback_long_long_19_1_cdecl(), rb_dl_callback_long_long_19_2_cdecl(), rb_dl_callback_long_long_19_3_cdecl(), rb_dl_callback_long_long_19_4_cdecl(), rb_dl_callback_long_long_1_0_cdecl(), rb_dl_callback_long_long_1_1_cdecl(), rb_dl_callback_long_long_1_2_cdecl(), rb_dl_callback_long_long_1_3_cdecl(), rb_dl_callback_long_long_1_4_cdecl(), rb_dl_callback_long_long_2_0_cdecl(), rb_dl_callback_long_long_2_1_cdecl(), rb_dl_callback_long_long_2_2_cdecl(), rb_dl_callback_long_long_2_3_cdecl(), rb_dl_callback_long_long_2_4_cdecl(), rb_dl_callback_long_long_3_0_cdecl(), rb_dl_callback_long_long_3_1_cdecl(), rb_dl_callback_long_long_3_2_cdecl(), rb_dl_callback_long_long_3_3_cdecl(), rb_dl_callback_long_long_3_4_cdecl(), rb_dl_callback_long_long_4_0_cdecl(), rb_dl_callback_long_long_4_1_cdecl(), rb_dl_callback_long_long_4_2_cdecl(), rb_dl_callback_long_long_4_3_cdecl(), rb_dl_callback_long_long_4_4_cdecl(), rb_dl_callback_long_long_5_0_cdecl(), rb_dl_callback_long_long_5_1_cdecl(), rb_dl_callback_long_long_5_2_cdecl(), rb_dl_callback_long_long_5_3_cdecl(), rb_dl_callback_long_long_5_4_cdecl(), rb_dl_callback_long_long_6_0_cdecl(), rb_dl_callback_long_long_6_1_cdecl(), rb_dl_callback_long_long_6_2_cdecl(), rb_dl_callback_long_long_6_3_cdecl(), rb_dl_callback_long_long_6_4_cdecl(), rb_dl_callback_long_long_7_0_cdecl(), rb_dl_callback_long_long_7_1_cdecl(), rb_dl_callback_long_long_7_2_cdecl(), rb_dl_callback_long_long_7_3_cdecl(), rb_dl_callback_long_long_7_4_cdecl(), rb_dl_callback_long_long_8_0_cdecl(), rb_dl_callback_long_long_8_1_cdecl(), rb_dl_callback_long_long_8_2_cdecl(), rb_dl_callback_long_long_8_3_cdecl(), rb_dl_callback_long_long_8_4_cdecl(), rb_dl_callback_long_long_9_0_cdecl(), rb_dl_callback_long_long_9_1_cdecl(), rb_dl_callback_long_long_9_2_cdecl(), rb_dl_callback_long_long_9_3_cdecl(), rb_dl_callback_long_long_9_4_cdecl(), rb_dl_callback_ptr_0_0_cdecl(), rb_dl_callback_ptr_0_1_cdecl(), rb_dl_callback_ptr_0_2_cdecl(), rb_dl_callback_ptr_0_3_cdecl(), rb_dl_callback_ptr_0_4_cdecl(), rb_dl_callback_ptr_10_0_cdecl(), rb_dl_callback_ptr_10_1_cdecl(), rb_dl_callback_ptr_10_2_cdecl(), rb_dl_callback_ptr_10_3_cdecl(), rb_dl_callback_ptr_10_4_cdecl(), rb_dl_callback_ptr_11_0_cdecl(), rb_dl_callback_ptr_11_1_cdecl(), rb_dl_callback_ptr_11_2_cdecl(), rb_dl_callback_ptr_11_3_cdecl(), rb_dl_callback_ptr_11_4_cdecl(), rb_dl_callback_ptr_12_0_cdecl(), rb_dl_callback_ptr_12_1_cdecl(), rb_dl_callback_ptr_12_2_cdecl(), rb_dl_callback_ptr_12_3_cdecl(), rb_dl_callback_ptr_12_4_cdecl(), rb_dl_callback_ptr_13_0_cdecl(), rb_dl_callback_ptr_13_1_cdecl(), rb_dl_callback_ptr_13_2_cdecl(), rb_dl_callback_ptr_13_3_cdecl(), rb_dl_callback_ptr_13_4_cdecl(), rb_dl_callback_ptr_14_0_cdecl(), rb_dl_callback_ptr_14_1_cdecl(), rb_dl_callback_ptr_14_2_cdecl(), rb_dl_callback_ptr_14_3_cdecl(), rb_dl_callback_ptr_14_4_cdecl(), rb_dl_callback_ptr_15_0_cdecl(), rb_dl_callback_ptr_15_1_cdecl(), rb_dl_callback_ptr_15_2_cdecl(), rb_dl_callback_ptr_15_3_cdecl(), rb_dl_callback_ptr_15_4_cdecl(), rb_dl_callback_ptr_16_0_cdecl(), rb_dl_callback_ptr_16_1_cdecl(), rb_dl_callback_ptr_16_2_cdecl(), rb_dl_callback_ptr_16_3_cdecl(), rb_dl_callback_ptr_16_4_cdecl(), rb_dl_callback_ptr_17_0_cdecl(), rb_dl_callback_ptr_17_1_cdecl(), rb_dl_callback_ptr_17_2_cdecl(), rb_dl_callback_ptr_17_3_cdecl(), rb_dl_callback_ptr_17_4_cdecl(), rb_dl_callback_ptr_18_0_cdecl(), rb_dl_callback_ptr_18_1_cdecl(), rb_dl_callback_ptr_18_2_cdecl(), rb_dl_callback_ptr_18_3_cdecl(), rb_dl_callback_ptr_18_4_cdecl(), rb_dl_callback_ptr_19_0_cdecl(), rb_dl_callback_ptr_19_1_cdecl(), rb_dl_callback_ptr_19_2_cdecl(), rb_dl_callback_ptr_19_3_cdecl(), rb_dl_callback_ptr_19_4_cdecl(), rb_dl_callback_ptr_1_0_cdecl(), rb_dl_callback_ptr_1_1_cdecl(), rb_dl_callback_ptr_1_2_cdecl(), rb_dl_callback_ptr_1_3_cdecl(), rb_dl_callback_ptr_1_4_cdecl(), rb_dl_callback_ptr_2_0_cdecl(), rb_dl_callback_ptr_2_1_cdecl(), rb_dl_callback_ptr_2_2_cdecl(), rb_dl_callback_ptr_2_3_cdecl(), rb_dl_callback_ptr_2_4_cdecl(), rb_dl_callback_ptr_3_0_cdecl(), rb_dl_callback_ptr_3_1_cdecl(), rb_dl_callback_ptr_3_2_cdecl(), rb_dl_callback_ptr_3_3_cdecl(), rb_dl_callback_ptr_3_4_cdecl(), rb_dl_callback_ptr_4_0_cdecl(), rb_dl_callback_ptr_4_1_cdecl(), rb_dl_callback_ptr_4_2_cdecl(), rb_dl_callback_ptr_4_3_cdecl(), rb_dl_callback_ptr_4_4_cdecl(), rb_dl_callback_ptr_5_0_cdecl(), rb_dl_callback_ptr_5_1_cdecl(), rb_dl_callback_ptr_5_2_cdecl(), rb_dl_callback_ptr_5_3_cdecl(), rb_dl_callback_ptr_5_4_cdecl(), rb_dl_callback_ptr_6_0_cdecl(), rb_dl_callback_ptr_6_1_cdecl(), rb_dl_callback_ptr_6_2_cdecl(), rb_dl_callback_ptr_6_3_cdecl(), rb_dl_callback_ptr_6_4_cdecl(), rb_dl_callback_ptr_7_0_cdecl(), rb_dl_callback_ptr_7_1_cdecl(), rb_dl_callback_ptr_7_2_cdecl(), rb_dl_callback_ptr_7_3_cdecl(), rb_dl_callback_ptr_7_4_cdecl(), rb_dl_callback_ptr_8_0_cdecl(), rb_dl_callback_ptr_8_1_cdecl(), rb_dl_callback_ptr_8_2_cdecl(), rb_dl_callback_ptr_8_3_cdecl(), rb_dl_callback_ptr_8_4_cdecl(), rb_dl_callback_ptr_9_0_cdecl(), rb_dl_callback_ptr_9_1_cdecl(), rb_dl_callback_ptr_9_2_cdecl(), rb_dl_callback_ptr_9_3_cdecl(), rb_dl_callback_ptr_9_4_cdecl(), rb_dl_callback_short_0_0_cdecl(), rb_dl_callback_short_0_1_cdecl(), rb_dl_callback_short_0_2_cdecl(), rb_dl_callback_short_0_3_cdecl(), rb_dl_callback_short_0_4_cdecl(), rb_dl_callback_short_10_0_cdecl(), rb_dl_callback_short_10_1_cdecl(), rb_dl_callback_short_10_2_cdecl(), rb_dl_callback_short_10_3_cdecl(), rb_dl_callback_short_10_4_cdecl(), rb_dl_callback_short_11_0_cdecl(), rb_dl_callback_short_11_1_cdecl(), rb_dl_callback_short_11_2_cdecl(), rb_dl_callback_short_11_3_cdecl(), rb_dl_callback_short_11_4_cdecl(), rb_dl_callback_short_12_0_cdecl(), rb_dl_callback_short_12_1_cdecl(), rb_dl_callback_short_12_2_cdecl(), rb_dl_callback_short_12_3_cdecl(), rb_dl_callback_short_12_4_cdecl(), rb_dl_callback_short_13_0_cdecl(), rb_dl_callback_short_13_1_cdecl(), rb_dl_callback_short_13_2_cdecl(), rb_dl_callback_short_13_3_cdecl(), rb_dl_callback_short_13_4_cdecl(), rb_dl_callback_short_14_0_cdecl(), rb_dl_callback_short_14_1_cdecl(), rb_dl_callback_short_14_2_cdecl(), rb_dl_callback_short_14_3_cdecl(), rb_dl_callback_short_14_4_cdecl(), rb_dl_callback_short_15_0_cdecl(), rb_dl_callback_short_15_1_cdecl(), rb_dl_callback_short_15_2_cdecl(), rb_dl_callback_short_15_3_cdecl(), rb_dl_callback_short_15_4_cdecl(), rb_dl_callback_short_16_0_cdecl(), rb_dl_callback_short_16_1_cdecl(), rb_dl_callback_short_16_2_cdecl(), rb_dl_callback_short_16_3_cdecl(), rb_dl_callback_short_16_4_cdecl(), rb_dl_callback_short_17_0_cdecl(), rb_dl_callback_short_17_1_cdecl(), rb_dl_callback_short_17_2_cdecl(), rb_dl_callback_short_17_3_cdecl(), rb_dl_callback_short_17_4_cdecl(), rb_dl_callback_short_18_0_cdecl(), rb_dl_callback_short_18_1_cdecl(), rb_dl_callback_short_18_2_cdecl(), rb_dl_callback_short_18_3_cdecl(), rb_dl_callback_short_18_4_cdecl(), rb_dl_callback_short_19_0_cdecl(), rb_dl_callback_short_19_1_cdecl(), rb_dl_callback_short_19_2_cdecl(), rb_dl_callback_short_19_3_cdecl(), rb_dl_callback_short_19_4_cdecl(), rb_dl_callback_short_1_0_cdecl(), rb_dl_callback_short_1_1_cdecl(), rb_dl_callback_short_1_2_cdecl(), rb_dl_callback_short_1_3_cdecl(), rb_dl_callback_short_1_4_cdecl(), rb_dl_callback_short_2_0_cdecl(), rb_dl_callback_short_2_1_cdecl(), rb_dl_callback_short_2_2_cdecl(), rb_dl_callback_short_2_3_cdecl(), rb_dl_callback_short_2_4_cdecl(), rb_dl_callback_short_3_0_cdecl(), rb_dl_callback_short_3_1_cdecl(), rb_dl_callback_short_3_2_cdecl(), rb_dl_callback_short_3_3_cdecl(), rb_dl_callback_short_3_4_cdecl(), rb_dl_callback_short_4_0_cdecl(), rb_dl_callback_short_4_1_cdecl(), rb_dl_callback_short_4_2_cdecl(), rb_dl_callback_short_4_3_cdecl(), rb_dl_callback_short_4_4_cdecl(), rb_dl_callback_short_5_0_cdecl(), rb_dl_callback_short_5_1_cdecl(), rb_dl_callback_short_5_2_cdecl(), rb_dl_callback_short_5_3_cdecl(), rb_dl_callback_short_5_4_cdecl(), rb_dl_callback_short_6_0_cdecl(), rb_dl_callback_short_6_1_cdecl(), rb_dl_callback_short_6_2_cdecl(), rb_dl_callback_short_6_3_cdecl(), rb_dl_callback_short_6_4_cdecl(), rb_dl_callback_short_7_0_cdecl(), rb_dl_callback_short_7_1_cdecl(), rb_dl_callback_short_7_2_cdecl(), rb_dl_callback_short_7_3_cdecl(), rb_dl_callback_short_7_4_cdecl(), rb_dl_callback_short_8_0_cdecl(), rb_dl_callback_short_8_1_cdecl(), rb_dl_callback_short_8_2_cdecl(), rb_dl_callback_short_8_3_cdecl(), rb_dl_callback_short_8_4_cdecl(), rb_dl_callback_short_9_0_cdecl(), rb_dl_callback_short_9_1_cdecl(), rb_dl_callback_short_9_2_cdecl(), rb_dl_callback_short_9_3_cdecl(), rb_dl_callback_short_9_4_cdecl(), rb_dl_callback_void_0_0_cdecl(), rb_dl_callback_void_0_1_cdecl(), rb_dl_callback_void_0_2_cdecl(), rb_dl_callback_void_0_3_cdecl(), rb_dl_callback_void_0_4_cdecl(), rb_dl_callback_void_10_0_cdecl(), rb_dl_callback_void_10_1_cdecl(), rb_dl_callback_void_10_2_cdecl(), rb_dl_callback_void_10_3_cdecl(), rb_dl_callback_void_10_4_cdecl(), rb_dl_callback_void_11_0_cdecl(), rb_dl_callback_void_11_1_cdecl(), rb_dl_callback_void_11_2_cdecl(), rb_dl_callback_void_11_3_cdecl(), rb_dl_callback_void_11_4_cdecl(), rb_dl_callback_void_12_0_cdecl(), rb_dl_callback_void_12_1_cdecl(), rb_dl_callback_void_12_2_cdecl(), rb_dl_callback_void_12_3_cdecl(), rb_dl_callback_void_12_4_cdecl(), rb_dl_callback_void_13_0_cdecl(), rb_dl_callback_void_13_1_cdecl(), rb_dl_callback_void_13_2_cdecl(), rb_dl_callback_void_13_3_cdecl(), rb_dl_callback_void_13_4_cdecl(), rb_dl_callback_void_14_0_cdecl(), rb_dl_callback_void_14_1_cdecl(), rb_dl_callback_void_14_2_cdecl(), rb_dl_callback_void_14_3_cdecl(), rb_dl_callback_void_14_4_cdecl(), rb_dl_callback_void_15_0_cdecl(), rb_dl_callback_void_15_1_cdecl(), rb_dl_callback_void_15_2_cdecl(), rb_dl_callback_void_15_3_cdecl(), rb_dl_callback_void_15_4_cdecl(), rb_dl_callback_void_16_0_cdecl(), rb_dl_callback_void_16_1_cdecl(), rb_dl_callback_void_16_2_cdecl(), rb_dl_callback_void_16_3_cdecl(), rb_dl_callback_void_16_4_cdecl(), rb_dl_callback_void_17_0_cdecl(), rb_dl_callback_void_17_1_cdecl(), rb_dl_callback_void_17_2_cdecl(), rb_dl_callback_void_17_3_cdecl(), rb_dl_callback_void_17_4_cdecl(), rb_dl_callback_void_18_0_cdecl(), rb_dl_callback_void_18_1_cdecl(), rb_dl_callback_void_18_2_cdecl(), rb_dl_callback_void_18_3_cdecl(), rb_dl_callback_void_18_4_cdecl(), rb_dl_callback_void_19_0_cdecl(), rb_dl_callback_void_19_1_cdecl(), rb_dl_callback_void_19_2_cdecl(), rb_dl_callback_void_19_3_cdecl(), rb_dl_callback_void_19_4_cdecl(), rb_dl_callback_void_1_0_cdecl(), rb_dl_callback_void_1_1_cdecl(), rb_dl_callback_void_1_2_cdecl(), rb_dl_callback_void_1_3_cdecl(), rb_dl_callback_void_1_4_cdecl(), rb_dl_callback_void_2_0_cdecl(), rb_dl_callback_void_2_1_cdecl(), rb_dl_callback_void_2_2_cdecl(), rb_dl_callback_void_2_3_cdecl(), rb_dl_callback_void_2_4_cdecl(), rb_dl_callback_void_3_0_cdecl(), rb_dl_callback_void_3_1_cdecl(), rb_dl_callback_void_3_2_cdecl(), rb_dl_callback_void_3_3_cdecl(), rb_dl_callback_void_3_4_cdecl(), rb_dl_callback_void_4_0_cdecl(), rb_dl_callback_void_4_1_cdecl(), rb_dl_callback_void_4_2_cdecl(), rb_dl_callback_void_4_3_cdecl(), rb_dl_callback_void_4_4_cdecl(), rb_dl_callback_void_5_0_cdecl(), rb_dl_callback_void_5_1_cdecl(), rb_dl_callback_void_5_2_cdecl(), rb_dl_callback_void_5_3_cdecl(), rb_dl_callback_void_5_4_cdecl(), rb_dl_callback_void_6_0_cdecl(), rb_dl_callback_void_6_1_cdecl(), rb_dl_callback_void_6_2_cdecl(), rb_dl_callback_void_6_3_cdecl(), rb_dl_callback_void_6_4_cdecl(), rb_dl_callback_void_7_0_cdecl(), rb_dl_callback_void_7_1_cdecl(), rb_dl_callback_void_7_2_cdecl(), rb_dl_callback_void_7_3_cdecl(), rb_dl_callback_void_7_4_cdecl(), rb_dl_callback_void_8_0_cdecl(), rb_dl_callback_void_8_1_cdecl(), rb_dl_callback_void_8_2_cdecl(), rb_dl_callback_void_8_3_cdecl(), rb_dl_callback_void_8_4_cdecl(), rb_dl_callback_void_9_0_cdecl(), rb_dl_callback_void_9_1_cdecl(), rb_dl_callback_void_9_2_cdecl(), rb_dl_callback_void_9_3_cdecl(), rb_dl_callback_void_9_4_cdecl(), rb_econv_init_by_convpath(), rb_enc_aliases_enc_i(), rb_enc_from_encoding_index(), rb_exec_arg_addopt(), rb_exec_arg_prepare(), rb_f_exec(), rb_iseq_build_from_ary(), rb_reg_s_union(), rb_reg_s_union_m(), rb_run_exec_options_err(), rb_struct_each_pair(), rescue_callback(), run_exec_rlimit(), save_env(), save_redirect_fd(), select_internal(), set_conf_section_i(), STACK_OF(), start_document(), syck_const_find(), syck_map_initialize(), syck_map_value_set(), syck_seq_value_set(), syck_set_ivars(), time_timespec(), and wdivmod().

static VALUE rb_ary_eql ( VALUE  ary1,
VALUE  ary2 
) [static]

Definition at line 3108 of file array.c.

References Qfalse, Qtrue, RARRAY_LEN, rb_exec_recursive_paired(), recursive_eql(), T_ARRAY, and TYPE.

Referenced by Init_Array().

static VALUE rb_ary_equal ( VALUE  ary1,
VALUE  ary2 
) [static]

Definition at line 3073 of file array.c.

References Qfalse, Qtrue, RARRAY_LEN, rb_equal(), rb_exec_recursive_paired(), rb_intern, rb_respond_to(), recursive_equal(), T_ARRAY, and TYPE.

Referenced by Init_Array().

static VALUE rb_ary_fetch ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 1117 of file array.c.

References NUM2LONG(), RARRAY_LEN, RARRAY_PTR, rb_block_given_p(), rb_eIndexError, rb_raise(), rb_scan_args(), rb_warn(), and rb_yield().

Referenced by Init_Array().

static VALUE rb_ary_fill ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 2809 of file array.c.

References ARY_CAPA, ARY_MAX_SIZE, ary_resize_capa(), ARY_SET_LEN, FALSE, len, LONG2NUM, NIL_P, NUM2LONG(), RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), rb_block_given_p(), rb_eArgError, rb_mem_clear(), rb_raise(), rb_range_beg_len(), rb_scan_args(), rb_yield(), and TRUE.

Referenced by Init_Array().

static VALUE rb_ary_first ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 1060 of file array.c.

References ARY_TAKE_FIRST, ary_take_first_or_last(), Qnil, RARRAY_LEN, and RARRAY_PTR.

Referenced by Init_Array().

static VALUE rb_ary_flatten ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 3712 of file array.c.

References ary_make_shared_copy(), flatten(), mod, NIL_P, NUM2INT, OBJ_INFECT, rb_scan_args(), and result.

Referenced by Init_Array().

static VALUE rb_ary_flatten_bang ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 3671 of file array.c.

References ary_discard(), ARY_EMBED_P, ARY_SET_EMBED_LEN, flatten(), mod, NIL_P, NUM2INT, Qnil, rb_ary_modify_check(), rb_ary_replace(), rb_obj_freeze(), rb_scan_args(), and result.

Referenced by Init_Array().

void rb_ary_free ( VALUE  ary  ) 

Definition at line 382 of file array.c.

References ARY_HEAP_PTR, ARY_OWNS_HEAP_P, and xfree.

Referenced by ary_discard(), obj_free(), and rb_ary_decrement_share().

VALUE rb_ary_freeze ( VALUE  ary  ) 

Definition at line 274 of file array.c.

References rb_obj_freeze().

Referenced by coverage_result_i(), curry(), make_curry_proc(), and rb_add_method().

static VALUE rb_ary_frozen_p ( VALUE  ary  )  [static]

Definition at line 288 of file array.c.

References OBJ_FROZEN, Qfalse, and Qtrue.

Referenced by Init_Array().

static VALUE rb_ary_hash ( VALUE  ary  )  [static]

Definition at line 3146 of file array.c.

References rb_exec_recursive_outer(), and recursive_hash().

Referenced by Init_Array().

VALUE rb_ary_includes ( VALUE  ary,
VALUE  item 
)

Definition at line 3165 of file array.c.

References Qfalse, Qtrue, RARRAY_LEN, RARRAY_PTR, and rb_equal().

Referenced by cv_i(), env_replace_i(), and Init_Array().

static VALUE rb_ary_increment_share ( VALUE  shared  )  [static]

Definition at line 223 of file array.c.

References ARY_SET_SHARED_NUM, and ARY_SHARED_NUM.

Referenced by ary_make_substitution(), and rb_ary_set_shared().

static VALUE rb_ary_index ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 1167 of file array.c.

References LONG2NUM, Qnil, RARRAY_LEN, RARRAY_PTR, rb_block_given_p(), rb_equal(), rb_scan_args(), rb_warn(), rb_yield(), RETURN_ENUMERATOR, and RTEST.

Referenced by Init_Array().

static VALUE rb_ary_initialize ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 538 of file array.c.

References ARY_MAX_SIZE, ARY_OWNS_HEAP_P, ary_resize_capa(), ARY_SET_EMBED_LEN, ARY_SET_LEN, FIXNUM_P, FL_SET_EMBED, len, LONG2NUM, memfill(), NIL_P, NUM2LONG(), RARRAY_PTR, rb_ary_modify(), rb_ary_replace(), rb_ary_store(), rb_ary_unshare_safe(), rb_block_given_p(), rb_check_array_type(), rb_eArgError, rb_raise(), rb_scan_args(), rb_warn(), rb_warning(), rb_yield(), size, and xfree.

Referenced by Init_Array().

static VALUE rb_ary_insert ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 1382 of file array.c.

References NUM2LONG(), RARRAY_LEN, rb_ary_modify_check(), rb_ary_new4(), rb_ary_splice(), rb_eArgError, and rb_raise().

Referenced by Init_Array().

static VALUE rb_ary_inspect ( VALUE  ary  )  [static]

Definition at line 1732 of file array.c.

References inspect_ary(), RARRAY_LEN, rb_exec_recursive(), and rb_usascii_str_new2.

Referenced by Init_Array(), and rb_ary_to_s().

VALUE rb_ary_join ( VALUE  ary,
VALUE  sep 
)

Definition at line 1639 of file array.c.

References ary_join_0(), ary_join_1(), FALSE, len, NIL_P, OBJ_TAINT, OBJ_TAINTED, OBJ_UNTRUST, OBJ_UNTRUSTED, RARRAY_LEN, RARRAY_PTR, rb_check_string_type(), rb_str_buf_new(), rb_usascii_str_new(), result, RSTRING_LEN, StringValue, and TRUE.

Referenced by pipe_open(), rb_ary_join_m(), rb_ary_times(), rb_spawn_process(), syck_resolver_transfer(), and tcl_protect_core().

static VALUE rb_ary_join_m ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 1690 of file array.c.

References NIL_P, rb_ary_join(), rb_output_fs, and rb_scan_args().

Referenced by Init_Array().

static VALUE rb_ary_keep_if ( VALUE  ary  )  [static]

Definition at line 2338 of file array.c.

References rb_ary_select_bang(), and RETURN_ENUMERATOR.

Referenced by Init_Array().

VALUE rb_ary_last ( int  argc,
VALUE argv,
VALUE  ary 
)

Definition at line 1085 of file array.c.

References ary_take_first_or_last(), ARY_TAKE_LAST, Qnil, RARRAY_LEN, and RARRAY_PTR.

Referenced by Init_Array(), and range_last().

static VALUE rb_ary_length ( VALUE  ary  )  [static]

Definition at line 1505 of file array.c.

References len, LONG2NUM, and RARRAY_LEN.

Referenced by Init_Array().

size_t rb_ary_memsize ( VALUE  ary  ) 

Definition at line 390 of file array.c.

References ARY_OWNS_HEAP_P, and RARRAY.

Referenced by memsize_of().

static void rb_ary_modify ( VALUE  ary  )  [static]

Definition at line 249 of file array.c.

References ALLOC_N, ARY_EMBED_PTR, ARY_HEAP_PTR, ARY_SET_CAPA, ARY_SET_EMBED_LEN, ARY_SET_PTR, ARY_SHARED, ARY_SHARED_P, FL_SET_EMBED, FL_UNSET_SHARED, len, MEMCPY, RARRAY_EMBED_LEN_MAX, RARRAY_LEN, RARRAY_PTR, rb_ary_decrement_share(), rb_ary_modify_check(), and rb_ary_unshare().

Referenced by rb_ary_clear(), rb_ary_collect_bang(), rb_ary_compact_bang(), rb_ary_delete(), rb_ary_delete_at(), rb_ary_fill(), rb_ary_initialize(), rb_ary_push(), rb_ary_push_m(), rb_ary_reject_bang(), rb_ary_reverse(), rb_ary_rotate(), rb_ary_select_bang(), rb_ary_shuffle_bang(), rb_ary_sort_bang(), rb_ary_sort_by_bang(), rb_ary_splice(), rb_ary_store(), and rb_ary_unshift_m().

static void rb_ary_modify_check ( VALUE  ary  )  [inline, static]

Definition at line 241 of file array.c.

References OBJ_FROZEN, OBJ_UNTRUSTED, rb_error_frozen(), rb_eSecurityError, rb_raise(), and rb_safe_level.

Referenced by rb_ary_aset(), rb_ary_concat(), rb_ary_flatten_bang(), rb_ary_insert(), rb_ary_modify(), rb_ary_pop(), rb_ary_pop_m(), rb_ary_replace(), rb_ary_shift(), rb_ary_shift_m(), rb_ary_slice_bang(), and rb_ary_uniq_bang().

VALUE rb_ary_new ( void   ) 

Definition at line 335 of file array.c.

References RARRAY_EMBED_LEN_MAX, and rb_ary_new2().

Referenced by add_event_call_back(), add_modules(), addrinfo_list_new(), argf_readlines(), ary_new_dim(), cbsubst_get_extra_args_tbl(), cbsubst_table_setup(), check_exec_redirect(), class_instance_method_list(), debug_lines(), dir_globs(), econv_convpath(), enum_collect(), enum_cycle(), enum_drop(), enum_drop_while(), enum_find_all(), enum_flat_map(), enum_grep(), enum_partition(), enum_reject(), enum_sort_by(), enum_take(), enum_take_while(), enum_to_a(), enum_zip(), env_each_pair(), env_keys(), env_to_a(), env_values(), env_values_at(), EVENTSINK_Invoke(), fdbm_delete_if(), fdbm_keys(), fdbm_select(), fdbm_to_a(), fdbm_values(), fev_initialize(), fgdbm_delete_if(), fgdbm_keys(), fgdbm_select(), fgdbm_to_a(), fgdbm_values(), filename_completion_proc_call(), foletype_s_progids(), foletypelib_ole_types(), foletypelib_s_typelibs(), fsdbm_delete_if(), fsdbm_keys(), fsdbm_select(), fsdbm_to_a(), fsdbm_values(), gc_profile_record_get(), iconv_s_ctlmethods(), Init_callback(), Init_load(), Init_ossl_asn1(), Init_VM(), Init_win32ole(), iseq_data_to_ary(), JSON_parse_array(), make_addrinfo(), make_hostent_internal(), nsdr(), ole_method_params(), ole_method_return_type_detail(), ole_methods(), ole_methods_from_typeinfo(), ole_param_ole_type_detail(), ole_type_impl_ole_types(), ole_variable_ole_type_detail(), ole_variables(), ole_variant2val(), ossl_asn1_decode0(), ossl_config_get_sections(), ossl_get_errors(), ossl_pkcs7_get_recipient(), ossl_pkcs7_get_signer(), ossl_sslctx_get_ciphers(), ossl_x509_get_extensions(), ossl_x509crl_get_extensions(), ossl_x509crl_get_revoked(), ossl_x509name_to_a(), ossl_x509req_get_attributes(), ossl_x509revoked_get_extensions(), ossl_x509stctx_get_chain(), pack_pack(), pack_unpack(), parse(), prepare_iseq_build(), proc_curry(), proc_waitall(), rb_ary_diff(), rb_ary_drop(), rb_call_end_proc(), rb_check_exec_env(), rb_enc_aliases(), rb_exec_arg_addopt(), rb_exec_fillarg(), rb_f_global_variables(), rb_f_local_variables(), rb_f_untrace_var(), rb_gzreader_readlines(), rb_hash_keys(), rb_hash_to_a(), rb_hash_values(), rb_insns_name_array(), rb_io_readlines(), rb_iseq_disasm(), rb_mod_ancestors(), rb_mod_class_variables(), rb_mod_included_modules(), rb_mod_nesting(), rb_obj_instance_variables(), rb_obj_singleton_methods(), rb_push_glob(), rb_reg_names(), rb_run_exec_options_err(), rb_scan_args(), rb_str_scan(), rb_str_split_m(), rb_struct_define(), rb_struct_select(), rb_thread_keys(), rb_thread_list(), reduce0(), run_exec_rlimit(), save_env(), save_redirect_fd(), search_convpath_i(), select_internal(), sock_s_gethostbyaddr(), strio_readlines(), syck_out_seq(), syck_resolver_transfer(), thgroup_list(), tk_hash_kv(), username_completion_proc_call(), vm_backtrace(), vm_backtrace_alloc(), and vm_expandarray().

VALUE rb_ary_new2 ( long  capa  ) 

Definition at line 328 of file array.c.

References ary_new(), and rb_cArray.

Referenced by ary2list(), ary2list2(), ary_make_substitution(), assoc2kv(), assoc2kv_enc(), BigDecimal_split(), cbsubst_scan_args(), coverage(), each_slice_i(), econv_primitive_errinfo(), enc_list(), enc_names(), enum_each_cons(), enum_each_slice(), enum_first(), enum_sort_by(), enum_take(), fdbm_values_at(), fgdbm_values_at(), fsdbm_values_at(), hash2kv(), hash2kv_enc(), iconv_s_iconv(), Init_Encoding(), Init_ossl_ssl(), Init_tcltklib(), ip_ruby_cmd(), lib_split_tklist_core(), make_hostent_internal(), match_array(), nil_to_a(), ossl_generate_cb(), ossl_pkcs7_get_recipient(), ossl_pkcs7_get_signer(), ossl_ssl_cipher_to_ary(), ossl_ssl_get_peer_cert_chain(), ossl_sslctx_get_ciphers(), ossl_sslctx_session_get_cb(), ossl_sslctx_session_new_cb(), ossl_sslctx_session_remove_cb(), ossl_x509_get_extensions(), ossl_x509crl_get_extensions(), ossl_x509crl_get_revoked(), ossl_x509name_to_a(), ossl_x509req_get_attributes(), ossl_x509revoked_get_extensions(), ossl_x509stctx_get_chain(), permute0(), pty_getpty(), r_object0(), random_dump(), range_first(), rb_ary_and(), rb_ary_collect(), rb_ary_combination(), rb_ary_dup_setup(), rb_ary_new(), rb_ary_new3(), rb_ary_new4(), rb_ary_or(), rb_ary_permutation(), rb_ary_plus(), rb_ary_product(), rb_ary_repeated_combination(), rb_ary_repeated_permutation(), rb_ary_sample(), rb_ary_select(), rb_ary_slice_bang(), rb_ary_to_a(), rb_ary_transpose(), rb_ary_zip(), rb_const_list(), rb_enc_name_list(), rb_get_expanded_load_path(), rb_get_values_at(), rb_hash_values_at(), rb_iseq_parameters(), rb_str_split_m(), rb_struct_define_without_accessor(), rb_struct_s_members_m(), rb_sym_all_symbols(), rb_zlib_crc_table(), rcombinate0(), reg_named_captures_iter(), rpermute0(), scan_once(), select_internal(), syck_genericresolver_node_import(), syck_resolver_node_import(), take_items(), tk_conv_args(), unnamed_parameters(), yaml_org_handler(), zip_ary(), and zip_i().

VALUE rb_ary_new3 ( long  n,
  ... 
)

Definition at line 343 of file array.c.

References ARY_SET_LEN, RARRAY_PTR, and rb_ary_new2().

Referenced by addrinfo_mdump(), bmcall(), check_exec_redirect(), chunk_ii(), define_final(), enum_minmax(), ev_on_event(), generator_each(), get_eventloop_weight(), group_by_i(), hash2kv(), hash2kv_enc(), iconv_create(), ip_eval(), ip_invoke_with_position(), lib_getversion(), make_curry_proc(), ossl_x509name_initialize(), ossl_x509name_to_a(), parse(), rb_add_method(), rb_Array(), rb_ary_combination(), rb_ary_permutation(), rb_ary_repeated_combination(), rb_ary_repeated_permutation(), rb_ary_sample(), rb_ary_to_ary(), rb_assoc_new(), rb_check_backtrace(), rb_dl_init_callbacks_0(), rb_dl_init_callbacks_1(), rb_dl_init_callbacks_2(), rb_dl_init_callbacks_3(), rb_dl_init_callbacks_4(), rb_dl_init_callbacks_5(), rb_dl_init_callbacks_6(), rb_dl_init_callbacks_7(), rb_dl_init_callbacks_8(), rb_exec_arg_addopt(), rb_f_untrace_var(), rb_str_partition(), rb_str_rpartition(), rb_str_split_m(), rb_trace_eval(), rsock_ipaddr(), run_exec_rlimit(), run_finalizer(), set_eventloop_weight(), setup_exception(), signal_exec(), slicebefore_ii(), time_to_a(), tk_funcall(), unnamed_parameters(), and yyparse().

VALUE rb_ary_new4 ( long  n,
const VALUE elts 
)

Definition at line 362 of file array.c.

References ARY_SET_LEN, MEMCPY, RARRAY_PTR, and rb_ary_new2().

Referenced by call_cfunc(), check_funcall_exec(), curry(), enum_values_pack(), enum_zip(), enumerator_init(), enumerator_with_index_i(), enumerator_with_object_i(), get_stack_tail(), iconv_fail(), iseq_location(), libyaml_version(), make_passing_arg(), next_ii(), pipe_open(), raise_method_missing(), rb_ary_combination(), rb_ary_insert(), rb_ary_resurrect(), rb_ary_sample(), rb_ary_slice_bang(), rb_f_p(), rb_mod_module_exec(), rb_obj_instance_exec(), rb_scan_args(), rb_spawn_process(), rb_struct_to_a(), take_i(), vm_call0(), vm_callee_setup_arg_complex(), vm_expandarray(), vm_yield_setup_block_args_complex(), and vm_yield_with_cfunc().

static VALUE rb_ary_or ( VALUE  ary1,
VALUE  ary2 
) [static]

Definition at line 3370 of file array.c.

References ary_add_hash(), ary_make_hash(), ary_recycle_hash(), hash(), RARRAY_LEN, rb_ary_elt(), rb_ary_new2(), rb_ary_push(), RHASH_TBL, st_delete, and to_ary().

Referenced by Init_Array().

static VALUE rb_ary_permutation ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 3981 of file array.c.

References ary_make_shared_copy(), MEMZERO, NIL_P, NUM2LONG(), permute0(), RARRAY_LEN, RARRAY_PTR, rb_ary_new2(), rb_ary_new3(), rb_cArray, rb_scan_args(), rb_yield(), RBASIC, RETURN_ENUMERATOR, RSTRING_PTR, tmpbuf, and tmpbuf_discard.

Referenced by Init_Array().

VALUE rb_ary_plus ( VALUE  x,
VALUE  y 
)

Definition at line 2890 of file array.c.

References ARY_SET_LEN, len, MEMCPY, RARRAY_LEN, RARRAY_PTR, rb_ary_new2(), and to_ary().

Referenced by assoc2kv(), assoc2kv_enc(), curry(), Init_Array(), and tk_conv_args().

VALUE rb_ary_pop ( VALUE  ary  ) 

Definition at line 762 of file array.c.

References ARY_CAPA, ARY_DEFAULT_SIZE, ARY_OWNS_HEAP_P, ary_resize_capa(), ARY_SET_LEN, Qnil, RARRAY_LEN, RARRAY_PTR, and rb_ary_modify_check().

Referenced by cut_stack_tail(), flatten(), lib_eventloop_ensure(), r_object0(), rb_ary_pop_m(), rb_str_split_m(), syck_resolver_node_import(), syck_resolver_transfer(), and yaml_org_handler().

static VALUE rb_ary_pop_m ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 796 of file array.c.

References ARY_INCREASE_LEN, ary_take_first_or_last(), ARY_TAKE_LAST, RARRAY_LEN, rb_ary_modify_check(), rb_ary_pop(), and result.

Referenced by Init_Array().

static VALUE rb_ary_product ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 4294 of file array.c.

References ary_make_shared_copy(), ARY_SET_LEN, FL_SET, FL_TEST, FL_UNSET, FL_USER5, NIL_P, Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_entry(), rb_ary_new2(), rb_ary_push(), rb_block_given_p(), rb_eRangeError, rb_eRuntimeError, rb_raise(), rb_yield(), RBASIC, result, RSTRING_PTR, tmpary, tmpary_discard, tmpbuf, tmpbuf_discard, and to_ary().

Referenced by Init_Array().

VALUE rb_ary_push ( VALUE  ary,
VALUE  item 
)

Definition at line 719 of file array.c.

References rb_ary_modify(), and rb_ary_push_1().

Referenced by add_event_call_back(), add_modules(), addrinfo_list_new(), argf_readlines(), ary2list(), ary2list2(), assoc2kv(), assoc2kv_enc(), BigDecimal_split(), cbsubst_scan_args(), cdhash_each(), check_exec_env_i(), check_exec_redirect(), chunk_ii(), collect_all(), collect_i(), collect_local_variables_in_iseq(), compile_array_(), cv_i(), cycle_i(), define_final(), drop_i(), drop_while_i(), each_cons_i(), each_slice_i(), econv_convpath(), enc_names_i(), env_each_pair(), env_keys(), env_to_a(), env_values(), env_values_at(), EVENTSINK_Invoke(), evs_push(), fdbm_delete_if(), fdbm_keys(), fdbm_select(), fdbm_to_a(), fdbm_values(), fdbm_values_at(), fgdbm_delete_if(), fgdbm_keys(), fgdbm_select(), fgdbm_to_a(), fgdbm_values(), fgdbm_values_at(), filename_completion_proc_call(), find_all_i(), first_i(), flat_map_i(), flatten(), foletype_s_progids(), foletypelib_s_typelibs(), fsdbm_delete_if(), fsdbm_keys(), fsdbm_select(), fsdbm_to_a(), fsdbm_values(), fsdbm_values_at(), gc_profile_record_get(), grep_i(), grep_iter_i(), group_by_i(), gvar_i(), iconv_s_ctlmethods(), iconv_s_iconv(), Init_Array(), Init_Encoding(), Init_ossl_ssl(), Init_VM(), ins_methods_push(), insn_operand_intern(), ip_ruby_cmd(), iseq_add_mark_object(), iseq_add_mark_object_compile_time(), iseq_data_to_ary(), iseq_set_arguments(), ivar_i(), JSON_parse_array(), keys_i(), lex_getline(), lib_eventloop_launcher(), lib_split_tklist_core(), list_i(), make_addrinfo(), make_hostent_internal(), match_array(), nsdr(), ole_method_params(), ole_methods_sub(), ole_type_impl_ole_types(), ole_typedesc2val(), ole_types_from_typelib(), ole_usertype2val(), ole_variables(), open_key_args(), ossl_asn1_decode0(), ossl_get_errors(), ossl_pkcs7_get_recipient(), ossl_pkcs7_get_signer(), ossl_ssl_cipher_to_ary(), ossl_ssl_get_peer_cert_chain(), ossl_sslctx_get_ciphers(), ossl_sslctx_session_get_cb(), ossl_sslctx_session_new_cb(), ossl_sslctx_session_remove_cb(), ossl_x509_get_extensions(), ossl_x509crl_get_extensions(), ossl_x509crl_get_revoked(), ossl_x509name_to_a(), ossl_x509req_get_attributes(), ossl_x509revoked_get_extensions(), ossl_x509stctx_get_chain(), pack_pack(), parse(), partition_i(), proc_waitall(), push_include(), push_kv(), push_kv_enc(), push_pattern(), push_value(), r_object0(), random_dump(), rb_ary_and(), rb_ary_collect(), rb_ary_diff(), rb_ary_or(), rb_ary_product(), rb_ary_select(), rb_ary_uniq(), rb_ary_zip(), rb_dl_init_callbacks_0(), rb_dl_init_callbacks_1(), rb_dl_init_callbacks_2(), rb_dl_init_callbacks_3(), rb_dl_init_callbacks_4(), rb_dl_init_callbacks_5(), rb_dl_init_callbacks_6(), rb_dl_init_callbacks_7(), rb_dl_init_callbacks_8(), rb_enc_name_list_i(), rb_exec_arg_addopt(), rb_f_global_variables(), rb_f_local_variables(), rb_f_untrace_var(), rb_gc_register_mark_object(), rb_get_expanded_load_path(), rb_get_values_at(), rb_gzreader_readlines(), rb_hash_values_at(), rb_insns_name_array(), rb_io_readlines(), rb_iseq_parameters(), rb_mod_ancestors(), rb_mod_included_modules(), rb_mod_nesting(), rb_provide_feature(), rb_require_safe(), rb_str_scan(), rb_str_split_m(), rb_struct_define(), rb_struct_define_without_accessor(), rb_struct_s_members_m(), rb_struct_select(), rb_zlib_crc_table(), reg_names_iter(), reject_i(), ruby_init_loadpath_safe(), ruby_set_argv(), run_exec_rlimit(), save_env_i(), save_redirect_fd(), scan_once(), select_internal(), set_argv(), slicebefore_ii(), sock_s_gethostbyaddr(), sort_by_i(), strio_readlines(), syck_resolver_node_import(), syck_seq_add_m(), symbols_i(), take_i(), take_while_i(), thgroup_list_i(), thread_keys_i(), thread_list_i(), tk_conv_args(), to_a_i(), unnamed_parameters(), username_completion_proc_call(), values_i(), vm_backtrace_push(), waitall_each(), when_vals(), yaml_org_handler(), yycompile0(), yyparse(), zip_ary(), and zip_i().

static VALUE rb_ary_push_1 ( VALUE  ary,
VALUE  item 
) [static]

Definition at line 726 of file array.c.

References ARY_CAPA, ary_double_capa(), ARY_SET_LEN, RARRAY_LEN, and RARRAY_PTR.

Referenced by rb_ary_push(), and rb_ary_push_m().

static VALUE rb_ary_push_m ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 752 of file array.c.

References rb_ary_modify(), and rb_ary_push_1().

Referenced by Init_Array().

VALUE rb_ary_rassoc ( VALUE  ary,
VALUE  value 
)

Definition at line 3030 of file array.c.

References Qnil, RARRAY_LEN, RARRAY_PTR, rb_equal(), T_ARRAY, and TYPE.

Referenced by Init_Array().

static VALUE rb_ary_reject ( VALUE  ary  )  [static]

Definition at line 2562 of file array.c.

References rb_ary_dup(), rb_ary_reject_bang(), and RETURN_ENUMERATOR.

Referenced by Init_Array().

static VALUE rb_ary_reject_bang ( VALUE  ary  )  [static]

Definition at line 2527 of file array.c.

References ARY_SET_LEN, Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), rb_ary_store(), rb_yield(), RETURN_ENUMERATOR, and RTEST.

Referenced by Init_Array(), rb_ary_delete_if(), and rb_ary_reject().

static VALUE rb_ary_repeated_combination ( VALUE  ary,
VALUE  num 
) [static]

Definition at line 4239 of file array.c.

References ary_make_shared_copy(), len, NUM2LONG(), RARRAY_LEN, RARRAY_PTR, rb_ary_new2(), rb_ary_new3(), rb_cArray, rb_yield(), RBASIC, rcombinate0(), RETURN_ENUMERATOR, RSTRING_PTR, tmpbuf, and tmpbuf_discard.

Referenced by Init_Array().

static VALUE rb_ary_repeated_permutation ( VALUE  ary,
VALUE  num 
) [static]

Definition at line 4155 of file array.c.

References ary_make_shared_copy(), NUM2LONG(), RARRAY_LEN, RARRAY_PTR, rb_ary_new2(), rb_ary_new3(), rb_cArray, rb_yield(), RBASIC, RETURN_ENUMERATOR, rpermute0(), RSTRING_PTR, tmpbuf, and tmpbuf_discard.

Referenced by Init_Array().

VALUE rb_ary_replace ( VALUE  copy,
VALUE  orig 
)

Definition at line 2721 of file array.c.

References ary_make_shared(), ARY_OWNS_HEAP_P, ARY_SET_LEN, ARY_SET_PTR, ARY_SHARED, ARY_SHARED_P, FL_SET_EMBED, FL_UNSET_EMBED, FL_UNSET_SHARED, MEMCPY, RARRAY_EMBED_LEN_MAX, RARRAY_LEN, RARRAY_PTR, rb_ary_decrement_share(), rb_ary_modify_check(), rb_ary_set_shared(), rb_ary_unshare_safe(), to_ary(), and xfree.

Referenced by enc_list(), Init_Array(), rb_ary_flatten_bang(), rb_ary_initialize(), rb_ary_sort_by_bang(), and rb_ary_to_a().

VALUE rb_ary_resurrect ( VALUE  ary  ) 

Definition at line 1548 of file array.c.

References RARRAY_LEN, RARRAY_PTR, and rb_ary_new4().

Referenced by obj_resurrect().

VALUE rb_ary_reverse ( VALUE  ary  ) 

Definition at line 1788 of file array.c.

References ary_reverse(), RARRAY_LEN, RARRAY_PTR, and rb_ary_modify().

Referenced by rb_ary_reverse_bang(), syck_resolver_node_import(), vm_backtrace(), and yaml_org_handler().

static VALUE rb_ary_reverse_bang ( VALUE  ary  )  [static]

Definition at line 1813 of file array.c.

References rb_ary_reverse().

Referenced by Init_Array().

static VALUE rb_ary_reverse_each ( VALUE  ary  )  [static]

Definition at line 1480 of file array.c.

References len, RARRAY_LEN, RARRAY_PTR, rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_Array().

static VALUE rb_ary_reverse_m ( VALUE  ary  )  [static]

Definition at line 1829 of file array.c.

References len, RARRAY_LEN, RARRAY_PTR, and rb_ary_dup_setup().

Referenced by Init_Array().

static VALUE rb_ary_rindex ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 1213 of file array.c.

References LONG2NUM, Qnil, RARRAY_LEN, RARRAY_PTR, rb_block_given_p(), rb_equal(), rb_scan_args(), rb_warn(), rb_yield(), RETURN_ENUMERATOR, and RTEST.

Referenced by Init_Array().

VALUE rb_ary_rotate ( VALUE  ary,
long  cnt 
)

Definition at line 1849 of file array.c.

References ary_reverse(), len, Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), and rotate_count().

Referenced by rb_ary_rotate_bang().

static VALUE rb_ary_rotate_bang ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 1885 of file array.c.

References NULL, NUM2LONG(), rb_ary_rotate(), and rb_scan_args().

Referenced by Init_Array().

static VALUE rb_ary_rotate_m ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 1914 of file array.c.

References cnt, len, MEMCPY, NULL, NUM2LONG(), RARRAY_LEN, RARRAY_PTR, rb_ary_dup_setup(), rb_scan_args(), and rotate_count().

Referenced by Init_Array().

static VALUE rb_ary_s_create ( int  argc,
VALUE argv,
VALUE  klass 
) [static]

Definition at line 602 of file array.c.

References ary_new(), ARY_SET_LEN, MEMCPY, and RARRAY_PTR.

Referenced by Init_Array().

static VALUE rb_ary_s_try_convert ( VALUE  dummy,
VALUE  ary 
) [static]

Definition at line 494 of file array.c.

References rb_check_array_type().

Referenced by Init_Array().

static VALUE rb_ary_sample ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 3787 of file array.c.

References ARY_SET_LEN, len, memmove(), NUM2LONG(), Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_new2(), rb_ary_new3(), rb_ary_new4(), rb_eArgError, RB_GC_GUARD, rb_genrand_real(), rb_raise(), rb_scan_args(), and result.

Referenced by Init_Array().

static VALUE rb_ary_select ( VALUE  ary  )  [static]

Definition at line 2270 of file array.c.

References RARRAY_LEN, RARRAY_PTR, rb_ary_elt(), rb_ary_new2(), rb_ary_push(), rb_yield(), result, RETURN_ENUMERATOR, and RTEST.

Referenced by Init_Array().

static VALUE rb_ary_select_bang ( VALUE  ary  )  [static]

Definition at line 2301 of file array.c.

References ARY_SET_LEN, Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), rb_ary_store(), rb_yield(), RETURN_ENUMERATOR, and RTEST.

Referenced by Init_Array(), and rb_ary_keep_if().

static void rb_ary_set_shared ( VALUE  ary,
VALUE  shared 
) [static]

Definition at line 233 of file array.c.

References ARY_SET_SHARED, FL_SET_SHARED, and rb_ary_increment_share().

Referenced by ary_make_partial(), and rb_ary_replace().

VALUE rb_ary_shift ( VALUE  ary  ) 

Definition at line 811 of file array.c.

References ARY_DEFAULT_SIZE, ARY_EMBED_P, ARY_INCREASE_LEN, ARY_INCREASE_PTR, ary_make_shared(), ARY_SHARED, ARY_SHARED_NUM, ARY_SHARED_P, assert, MEMMOVE, Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_modify_check(), and top.

Referenced by argf_next_argv(), each_cons_i(), filename_completion_proc_call(), process_sflag(), rb_ary_shift_m(), require_libraries(), syck_resolver_transfer(), username_completion_proc_call(), and yaml_org_handler().

static VALUE rb_ary_shift_m ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 860 of file array.c.

References ARY_INCREASE_LEN, ARY_INCREASE_PTR, ARY_SHARED, ARY_SHARED_NUM, ARY_SHARED_P, ARY_TAKE_FIRST, ary_take_first_or_last(), MEMMOVE, RARRAY_LEN, RARRAY_PTR, rb_ary_modify_check(), rb_ary_shift(), rb_mem_clear(), and result.

Referenced by Init_Array().

static VALUE rb_ary_shuffle ( VALUE  ary  )  [static]

Definition at line 3764 of file array.c.

References rb_ary_dup(), and rb_ary_shuffle_bang().

Referenced by Init_Array().

static VALUE rb_ary_shuffle_bang ( VALUE  ary  )  [static]

Definition at line 3736 of file array.c.

References RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), and rb_genrand_real().

Referenced by Init_Array(), and rb_ary_shuffle().

static VALUE rb_ary_slice_bang ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 2462 of file array.c.

References FIXNUM_P, len, NULL, NUM2LONG(), Qnil, Qtrue, Qundef, RARRAY_LEN, RARRAY_PTR, rb_ary_delete_at(), rb_ary_modify_check(), rb_ary_new2(), rb_ary_new4(), rb_ary_splice(), rb_obj_class(), rb_range_beg_len(), rb_scan_args(), and RBASIC.

Referenced by Init_Array().

VALUE rb_ary_sort ( VALUE  ary  ) 

Definition at line 2100 of file array.c.

References rb_ary_dup(), and rb_ary_sort_bang().

Referenced by enum_sort(), and Init_Array().

VALUE rb_ary_sort_bang ( VALUE  ary  ) 

Definition at line 2024 of file array.c.

References ary_sort_data::ary, ARY_CAPA, ARY_EMBED_LEN, ARY_EMBED_P, ARY_EMBED_PTR, ARY_HEAP_PTR, ary_make_substitution(), ARY_SET_CAPA, ARY_SET_EMBED_LEN, ARY_SET_HEAP_LEN, ARY_SET_LEN, ARY_SET_PTR, ARY_SHARED_P, assert, FL_FREEZE, FL_SET, FL_SET_EMBED, FL_UNSET, FL_UNSET_EMBED, FL_UNSET_SHARED, MEMCPY, ary_sort_data::opt_inited, ary_sort_data::opt_methods, RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), rb_ary_unshare(), rb_block_given_p(), rb_cArray, RBASIC, ruby_qsort(), sort_1(), sort_2(), and xfree.

Referenced by Init_Array(), and rb_ary_sort().

static VALUE rb_ary_sort_by_bang ( VALUE  ary  )  [static]

Definition at line 2127 of file array.c.

References rb_ary_modify(), rb_ary_replace(), rb_block_call, rb_intern, RETURN_ENUMERATOR, and sort_by_i().

Referenced by Init_Array().

static void rb_ary_splice ( VALUE  ary,
long  beg,
long  len,
VALUE  rpl 
) [static]

Definition at line 1252 of file array.c.

References ARY_CAPA, ary_double_capa(), ARY_MAX_SIZE, ARY_SET_LEN, MEMCPY, MEMMOVE, Qundef, RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), rb_ary_to_ary(), rb_eIndexError, rb_mem_clear(), and rb_raise().

Referenced by rb_ary_aset(), rb_ary_concat(), rb_ary_insert(), and rb_ary_slice_bang().

void rb_ary_store ( VALUE  ary,
long  idx,
VALUE  val 
)

Definition at line 614 of file array.c.

References ARY_CAPA, ary_double_capa(), ARY_MAX_SIZE, ARY_SET_LEN, RARRAY_LEN, RARRAY_PTR, rb_ary_modify(), rb_eIndexError, rb_mem_clear(), and rb_raise().

Referenced by addrinfo_ip_unpack(), ary_new_dim(), ary_store_dim(), check_exec_fds(), check_exec_redirect(), decorate_convpath(), econv_primitive_errinfo(), enc_register_at(), enum_minmax(), evs_delete(), Init_ossl_asn1(), iseq_build_body(), ossl_generate_cb(), pty_getpty(), rb_ary_aset(), rb_ary_collect_bang(), rb_ary_delete(), rb_ary_initialize(), rb_ary_reject_bang(), rb_ary_select_bang(), rb_ary_transpose(), rb_ary_uniq_bang(), rb_enc_aliases_enc_i(), rb_exec_arg_addopt(), rb_exec_fillarg(), rb_run_exec_options_err(), reg_named_captures_iter(), run_exec_rlimit(), save_env(), save_redirect_fd(), search_convpath_i(), syck_genericresolver_node_import(), syck_resolver_node_import(), sym_to_proc(), unnamed_parameters(), yaml_org_handler(), zip_ary(), and zip_i().

VALUE rb_ary_subseq ( VALUE  ary,
long  beg,
long  len 
)

Definition at line 944 of file array.c.

References ary_make_partial(), ary_new(), Qnil, RARRAY_LEN, and rb_obj_class().

Referenced by rb_ary_aref(), rb_ary_drop(), rb_ary_take(), and take_items().

static VALUE rb_ary_take ( VALUE  obj,
VALUE  n 
) [static]

Definition at line 4395 of file array.c.

References NUM2LONG(), rb_ary_subseq(), rb_eArgError, and rb_raise().

Referenced by Init_Array(), and rb_ary_take_while().

static VALUE rb_ary_take_while ( VALUE  ary  )  [static]

Definition at line 4420 of file array.c.

References LONG2FIX, RARRAY_LEN, RARRAY_PTR, rb_ary_take(), rb_yield(), RETURN_ENUMERATOR, and RTEST.

Referenced by Init_Array().

static VALUE rb_ary_times ( VALUE  ary,
VALUE  times 
) [static]

Definition at line 2942 of file array.c.

References ARY_MAX_SIZE, ary_new(), ARY_SET_LEN, len, MEMCPY, NIL_P, NUM2LONG(), OBJ_INFECT, RARRAY_LEN, RARRAY_PTR, rb_ary_join(), rb_check_string_type(), rb_eArgError, rb_obj_class(), and rb_raise().

Referenced by Init_Array().

VALUE rb_ary_tmp_new ( long  capa  ) 

Definition at line 376 of file array.c.

References ary_new().

Referenced by compile_array_(), Init_top_self(), iseq_compile_each(), iseq_set_arguments(), method_missing(), open_key_args(), prepare_iseq_build(), rb_iseq_build_for_ruby2cext(), rb_struct_new(), and sym_to_proc().

static VALUE rb_ary_to_a ( VALUE  ary  )  [static]

Definition at line 1753 of file array.c.

References RARRAY_LEN, rb_ary_new2(), rb_ary_replace(), rb_cArray, and rb_obj_class().

Referenced by Init_Array().

VALUE rb_ary_to_ary ( VALUE  obj  ) 

Definition at line 1243 of file array.c.

References NIL_P, rb_ary_new3(), and rb_check_array_type().

Referenced by rb_ary_splice(), and vm_expandarray().

static VALUE rb_ary_to_ary_m ( VALUE  ary  )  [static]

Definition at line 1771 of file array.c.

Referenced by Init_Array().

VALUE rb_ary_to_s ( VALUE  ary  ) 

Definition at line 1739 of file array.c.

References rb_ary_inspect().

static VALUE rb_ary_transpose ( VALUE  ary  )  [static]

Definition at line 2681 of file array.c.

References RARRAY_LEN, rb_ary_dup(), rb_ary_elt(), rb_ary_new2(), rb_ary_store(), rb_eIndexError, rb_raise(), result, and to_ary().

Referenced by Init_Array().

static VALUE rb_ary_uniq ( VALUE  ary  )  [static]

Definition at line 3468 of file array.c.

References ary_make_hash(), ary_make_hash_by(), ary_new(), ary_recycle_hash(), hash(), push_value(), RARRAY_LEN, rb_ary_dup(), rb_ary_elt(), rb_ary_push(), rb_block_given_p(), rb_obj_class(), RHASH_SIZE, RHASH_TBL, st_delete, and st_foreach.

Referenced by Init_Array().

static VALUE rb_ary_uniq_bang ( VALUE  ary  )  [static]

Definition at line 3420 of file array.c.

References ary_make_hash(), ary_make_hash_by(), ary_recycle_hash(), ary_resize_capa(), ARY_SET_LEN, hash(), push_value(), Qnil, RARRAY_LEN, rb_ary_elt(), rb_ary_modify_check(), rb_ary_store(), rb_block_given_p(), RHASH_SIZE, RHASH_TBL, st_delete, and st_foreach.

Referenced by Init_Array().

static void rb_ary_unshare ( VALUE  ary  )  [static]

Definition at line 207 of file array.c.

References FL_UNSET_SHARED, RARRAY, and rb_ary_decrement_share().

Referenced by rb_ary_modify(), rb_ary_sort_bang(), and rb_ary_unshare_safe().

static void rb_ary_unshare_safe ( VALUE  ary  )  [inline, static]

Definition at line 215 of file array.c.

References ARY_EMBED_P, ARY_SHARED_P, and rb_ary_unshare().

Referenced by rb_ary_initialize(), and rb_ary_replace().

VALUE rb_ary_unshift ( VALUE  ary,
VALUE  item 
)

Definition at line 918 of file array.c.

References rb_ary_unshift_m().

Referenced by check_funcall_exec(), ole_invoke(), parser_set_encode(), rb_struct_s_def(), syck_resolver_transfer(), and vm_call0().

static VALUE rb_ary_unshift_m ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 899 of file array.c.

References ARY_CAPA, ary_double_capa(), ARY_INCREASE_LEN, len, MEMCPY, MEMMOVE, RARRAY_LEN, RARRAY_PTR, and rb_ary_modify().

Referenced by Init_Array(), and rb_ary_unshift().

static VALUE rb_ary_values_at ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 2248 of file array.c.

References RARRAY_LEN, rb_ary_entry(), and rb_get_values_at().

Referenced by Init_Array().

static VALUE rb_ary_zip ( int  argc,
VALUE argv,
VALUE  ary 
) [static]

Definition at line 2638 of file array.c.

References len, NIL_P, Qnil, RARRAY_LEN, rb_ary_elt(), rb_ary_new2(), rb_ary_push(), rb_block_given_p(), rb_yield(), result, and take_items().

Referenced by Init_Array().

VALUE rb_assoc_new ( VALUE  car,
VALUE  cdr 
)

Definition at line 456 of file array.c.

References rb_ary_new3().

Referenced by addrinfo_getnameinfo(), addrinfo_mdump(), assoc_i(), BigDecimal_coerce(), BigDecimal_divmod(), BigDecimal_prec(), check_exec_env_i(), check_exec_redirect(), chunk_i(), chunk_ii(), each_pair_i(), econv_convpath(), enum_minmax_by(), enum_partition(), env_assoc(), env_each_pair(), env_rassoc(), env_shift(), env_to_a(), fdbm_delete_if(), fdbm_each_pair(), fdbm_select(), fdbm_shift(), fdbm_to_a(), fgdbm_delete_if(), fgdbm_each_pair(), fgdbm_select(), fgdbm_shift(), fgdbm_to_a(), fix_divmod(), flo_coerce(), flo_divmod(), fsdbm_delete_if(), fsdbm_each_pair(), fsdbm_select(), fsdbm_shift(), fsdbm_to_a(), match_offset(), math_frexp(), math_lgamma(), nucomp_coerce(), nucomp_marshal_dump(), nucomp_polar(), nucomp_rect(), num_coerce(), num_divmod(), numeric_polar(), numeric_rect(), nurat_coerce(), nurat_marshal_dump(), ossl_bn_coerce(), proc_wait2(), proc_waitall(), pty_open(), rassoc_i(), rb_big_coerce(), rb_big_divmod(), rb_file_s_split(), rb_gcdlcm(), rb_hash_shift(), rb_io_s_pipe(), rsock_s_recvfrom(), rsock_s_recvfrom_nonblock(), save_redirect_fd(), search_convpath_i(), sock_accept(), sock_accept_nonblock(), sock_s_getnameinfo(), sock_s_unpack_sockaddr_in(), sock_sysaccept(), sockopt_linger(), string_to_c_internal(), string_to_r_internal(), to_a_i(), and waitall_each().

VALUE rb_check_array_type ( VALUE  ary  ) 

Definition at line 468 of file array.c.

References rb_check_convert_type(), and T_ARRAY.

Referenced by addrinfo_initialize(), dir_s_glob(), divmodv(), econv_init(), enum_zip(), flat_map_i(), flatten(), ossl_x509name_initialize(), rb_Array(), rb_ary_assoc(), rb_ary_cmp(), rb_ary_initialize(), rb_ary_s_try_convert(), rb_ary_to_ary(), rb_check_argv(), rb_econv_init_by_convpath(), rb_exec_arg_addopt(), rb_hash_s_create(), rb_io_puts(), rb_io_s_popen(), rb_reg_s_union_m(), rb_str_format_m(), rb_yield_splat(), sock_s_getnameinfo(), syck_seq_value_set(), take_items(), time_timespec(), vm_yield_setup_block_args(), wdivmod(), and yaml_org_handler().

VALUE rb_get_values_at ( VALUE  obj,
long  olen,
int  argc,
VALUE argv,
VALUE(*)(VALUE, long)  func 
)

Definition at line 2204 of file array.c.

References FIX2LONG, FIXNUM_P, len, NUM2LONG(), Qfalse, Qnil, rb_ary_new2(), rb_ary_push(), rb_range_beg_len(), and result.

Referenced by match_values_at(), rb_ary_values_at(), and rb_struct_values_at().

void rb_mem_clear ( register VALUE mem,
register long  size 
)

Definition at line 31 of file array.c.

References Qnil.

Referenced by rb_ary_fill(), rb_ary_shift_m(), rb_ary_splice(), rb_ary_store(), rb_struct_initialize_m(), and struct_alloc().

static void rcombinate0 ( long  n,
long  r,
long *  p,
long  index,
long  rest,
VALUE  values 
) [static]

Definition at line 4188 of file array.c.

References ARY_SET_LEN, RARRAY_PTR, rb_ary_new2(), rb_eRuntimeError, rb_raise(), rb_yield(), RBASIC, and result.

Referenced by rb_ary_repeated_combination().

static VALUE recursive_cmp ( VALUE  ary1,
VALUE  ary2,
int  recur 
) [static]

Definition at line 3179 of file array.c.

References id_cmp, INT2FIX, len, Qundef, RARRAY_LEN, rb_ary_elt(), and rb_funcall().

Referenced by rb_ary_cmp().

static VALUE recursive_eql ( VALUE  ary1,
VALUE  ary2,
int  recur 
) [static]

Definition at line 3087 of file array.c.

References Qfalse, Qtrue, RARRAY_LEN, rb_ary_elt(), and rb_eql().

Referenced by hash_equal(), range_eql(), rb_ary_eql(), and rb_struct_eql().

static VALUE recursive_equal ( VALUE  ary1,
VALUE  ary2,
int  recur 
) [static]

Definition at line 3046 of file array.c.

References Qfalse, Qtrue, RARRAY_LEN, rb_ary_elt(), and rb_equal().

Referenced by range_eq(), rb_ary_equal(), and rb_struct_equal().

static VALUE recursive_hash ( VALUE  ary,
VALUE  dummy,
int  recur 
) [static]

Definition at line 3117 of file array.c.

References LONG2FIX, NUM2LONG(), RARRAY_LEN, RARRAY_PTR, rb_cArray, rb_hash(), rb_hash_end, rb_hash_start(), and rb_hash_uint.

Referenced by range_hash(), rb_ary_hash(), rb_hash_hash(), and rb_struct_hash().

static VALUE recursive_join ( VALUE  obj,
VALUE  argp,
int  recur 
) [static]

Definition at line 1558 of file array.c.

References ary_join_1(), Qnil, rb_eArgError, rb_raise(), and result.

Referenced by ary_join_1().

static long rotate_count ( long  cnt,
long  len 
) [inline, static]

Definition at line 1843 of file array.c.

Referenced by rb_ary_rotate(), and rb_ary_rotate_m().

static void rpermute0 ( long  n,
long  r,
long *  p,
long  index,
VALUE  values 
) [static]

Definition at line 4106 of file array.c.

References ARY_SET_LEN, RARRAY_PTR, rb_ary_new2(), rb_eRuntimeError, rb_raise(), rb_yield(), RBASIC, and result.

Referenced by rb_ary_repeated_permutation().

static int sort_1 ( const void *  ap,
const void *  bp,
void *  dummy 
) [static]

Definition at line 1970 of file array.c.

References a(), ary_sort_data::ary, b(), rb_cmpint(), rb_yield_values(), and sort_reentered().

Referenced by rb_ary_sort_bang().

static int sort_2 ( const void *  ap,
const void *  bp,
void *  dummy 
) [static]

Definition at line 1984 of file array.c.

References a(), ary_sort_data::ary, b(), FIXNUM_P, id_cmp, rb_cmpint(), rb_funcall(), rb_str_cmp(), SORT_OPTIMIZABLE, sort_reentered(), and STRING_P.

Referenced by rb_ary_sort_bang().

static VALUE sort_by_i ( VALUE  i  )  [static]

Definition at line 2109 of file array.c.

References rb_yield().

Referenced by enum_sort_by(), and rb_ary_sort_by_bang().

static VALUE sort_reentered ( VALUE  ary  )  [static]

Definition at line 1961 of file array.c.

References Qnil, rb_eRuntimeError, rb_raise(), and RBASIC.

Referenced by sort_1(), and sort_2().

static VALUE take_i ( VALUE  val,
VALUE args,
int  argc,
VALUE argv 
) [static]

Definition at line 2594 of file array.c.

References Qnil, rb_ary_new4(), rb_ary_push(), and rb_iter_break().

Referenced by enum_take(), and take_items().

static VALUE take_items ( VALUE  obj,
long  n 
) [static]

Definition at line 2603 of file array.c.

References NIL_P, rb_ary_new2(), rb_ary_subseq(), rb_block_call, rb_check_array_type(), rb_intern, result, and take_i().

Referenced by rb_ary_zip().

static VALUE to_ary ( VALUE  ary  )  [static]

Definition at line 462 of file array.c.

References rb_convert_type(), and T_ARRAY.

Referenced by rb_ary_and(), rb_ary_concat(), rb_ary_diff(), rb_ary_or(), rb_ary_plus(), rb_ary_product(), rb_ary_replace(), and rb_ary_transpose().


Variable Documentation

ID id_cmp [static]

Definition at line 25 of file array.c.

Referenced by cmp(), f_cmp(), Init_Array(), Init_Complex(), Init_Enumerable(), Init_Range(), Init_Rational(), Init_Time(), max_by_i(), max_i(), min_by_i(), min_i(), minmax_by_i(), minmax_by_i_update(), minmax_i(), minmax_i_update(), nurat_cmp(), r_le(), r_lt(), range_check(), range_max(), range_min(), recursive_cmp(), sort_2(), sort_by_cmp(), and wcmp().

VALUE rb_cArray

Definition at line 23 of file array.c.

Referenced by ary_take_first_or_last(), bmcall(), coverage_result_i(), enum_sort_by(), Init_Array(), Init_pack(), ossl_asn1_decode0(), ossl_asn1data_to_der(), rb_ary_new2(), rb_ary_permutation(), rb_ary_repeated_combination(), rb_ary_repeated_permutation(), rb_ary_sort_bang(), rb_ary_to_a(), recursive_hash(), syck_resolver_node_import(), w_object(), and yyparse().

VALUE rb_output_fs

Definition at line 414 of file intern.h.

Referenced by Init_IO(), rb_ary_join_m(), and rb_io_print().


Generated on Wed Aug 10 09:17:20 2011 for Ruby by  doxygen 1.4.7