| 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.
 1.8.17
 1.8.17