Ruby
3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
|
#include "internal.h"
#include "internal/hash.h"
#include "internal/variable.h"
#include "ruby/memory_view.h"
#include "ruby/util.h"
#include "vm_sync.h"
Go to the source code of this file.
Macros | |
#define | INTPTR2NUM LL2NUM |
#define | UINTPTR2NUM ULL2NUM |
#define | STRUCT_ALIGNOF(T, result) |
Enumerations | |
enum | endianness_t { ENDIANNESS_NATIVE, ENDIANNESS_LITTLE, ENDIANNESS_BIG } |
Variables | |
VALUE | rb_memory_view_exported_object_registry = Qundef |
const rb_data_type_t | rb_memory_view_exported_object_registry_data_type |
#define INTPTR2NUM LL2NUM |
Definition at line 17 of file memory_view.c.
#define STRUCT_ALIGNOF | ( | T, | |
result | |||
) |
Definition at line 28 of file memory_view.c.
#define UINTPTR2NUM ULL2NUM |
Definition at line 18 of file memory_view.c.
enum endianness_t |
Enumerator | |
---|---|
ENDIANNESS_NATIVE | |
ENDIANNESS_LITTLE | |
ENDIANNESS_BIG |
Definition at line 225 of file memory_view.c.
void Init_MemoryView | ( | void | ) |
Definition at line 858 of file memory_view.c.
Definition at line 802 of file memory_view.c.
References CLASS_OF.
VALUE rb_memory_view_extract_item_member | ( | const void * | ptr, |
const rb_memory_view_item_component_t * | member, | ||
const size_t | i | ||
) |
Definition at line 713 of file memory_view.c.
References NULL, ptr, Qnil, and rb_memory_view_item_component_t::repeat.
Referenced by rb_memory_view_extract_item_members().
VALUE rb_memory_view_extract_item_members | ( | const void * | ptr, |
const rb_memory_view_item_component_t * | members, | ||
const size_t | n_members | ||
) |
Definition at line 726 of file memory_view.c.
References NULL, ptr, Qnil, rb_ary_new(), rb_memory_view_extract_item_member(), and rb_memory_view_item_component_t::repeat.
Referenced by rb_memory_view_get_item().
void rb_memory_view_fill_contiguous_strides | ( | const ssize_t | ndim, |
const ssize_t | item_size, | ||
const ssize_t *const | shape, | ||
const bool | row_major_p, | ||
ssize_t *const | strides | ||
) |
Definition at line 180 of file memory_view.c.
bool rb_memory_view_get | ( | VALUE | obj, |
rb_memory_view_t * | view, | ||
int | flags | ||
) |
Definition at line 814 of file memory_view.c.
References CLASS_OF.
VALUE rb_memory_view_get_item | ( | rb_memory_view_t * | view, |
const ssize_t * | indices | ||
) |
Definition at line 766 of file memory_view.c.
References rb_memory_view_t::components, rb_memory_view_t::format, INT2FIX, rb_memory_view_t::item_desc, rb_memory_view_t::length, NULL, ptr, rb_memory_view_extract_item_members(), rb_memory_view_get_item_pointer(), and rb_memory_view_prepare_item_desc().
void* rb_memory_view_get_item_pointer | ( | rb_memory_view_t * | view, |
const ssize_t * | indices | ||
) |
Definition at line 512 of file memory_view.c.
References assert, rb_memory_view_t::data, rb_memory_view_t::item_size, rb_memory_view_t::ndim, NULL, ptr, rb_memory_view_t::shape, rb_memory_view_t::strides, rb_memory_view_t::sub_offsets, and memview_data::view.
Referenced by rb_memory_view_get_item().
bool rb_memory_view_init_as_byte_array | ( | rb_memory_view_t * | view, |
VALUE | obj, | ||
void * | data, | ||
const ssize_t | len, | ||
const bool | readonly | ||
) |
Definition at line 199 of file memory_view.c.
References rb_memory_view_t::byte_size, rb_memory_view_t::components, rb_memory_view_t::data, rb_memory_view_t::format, rb_memory_view_t::item_desc, rb_memory_view_t::item_size, len, rb_memory_view_t::length, rb_memory_view_t::ndim, NULL, rb_memory_view_t::obj, rb_memory_view_t::private_data, rb_memory_view_t::readonly, rb_memory_view_t::shape, rb_memory_view_t::strides, rb_memory_view_t::sub_offsets, and memview_data::view.
bool rb_memory_view_is_column_major_contiguous | ( | const rb_memory_view_t * | view | ) |
Definition at line 164 of file memory_view.c.
References rb_memory_view_t::item_size, rb_memory_view_t::ndim, rb_memory_view_t::shape, rb_memory_view_t::strides, and memview_data::view.
bool rb_memory_view_is_row_major_contiguous | ( | const rb_memory_view_t * | view | ) |
Definition at line 148 of file memory_view.c.
References rb_memory_view_t::item_size, rb_memory_view_t::ndim, rb_memory_view_t::shape, rb_memory_view_t::strides, and memview_data::view.
Definition at line 505 of file memory_view.c.
References err, NULL, and rb_memory_view_parse_item_format().
ssize_t rb_memory_view_parse_item_format | ( | const char * | format, |
rb_memory_view_item_component_t ** | members, | ||
size_t * | n_members, | ||
const char ** | err | ||
) |
Definition at line 388 of file memory_view.c.
References count, ENDIANNESS_NATIVE, ISSPACE, len, NULL, Qnil, and size.
Referenced by rb_memory_view_item_size_from_format(), and rb_memory_view_prepare_item_desc().
void rb_memory_view_prepare_item_desc | ( | rb_memory_view_t * | view | ) |
Definition at line 749 of file memory_view.c.
References rb_memory_view_t::components, err, rb_memory_view_t::format, rb_memory_view_t::item_desc, rb_memory_view_t::length, NULL, PRIdSIZE, rb_eRuntimeError, rb_memory_view_parse_item_format(), and rb_raise().
Referenced by rb_memory_view_get_item().
bool rb_memory_view_register | ( | VALUE | klass, |
const rb_memory_view_entry_t * | entry | ||
) |
Definition at line 131 of file memory_view.c.
bool rb_memory_view_release | ( | rb_memory_view_t * | view | ) |
Definition at line 835 of file memory_view.c.
References CLASS_OF, and rb_memory_view_t::obj.
Definition at line 35 of file memory_view.c.
const rb_data_type_t rb_memory_view_exported_object_registry_data_type |
Definition at line 61 of file memory_view.c.