diff options
author | Kenta Murata <mrkn@users.noreply.github.com> | 2020-10-02 08:04:25 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-02 08:04:25 +0900 |
commit | c827cacde155c7b0a2d5e632c983cb38049f68e2 (patch) | |
tree | 63299614ca9ebcdaf4584380c37d6c8e52fb97ed | |
parent | 8dd9a2369331f594de8b8541faf90c461813eb77 (diff) | |
download | ruby-c827cacde155c7b0a2d5e632c983cb38049f68e2.tar.gz |
memory_view.c: Use ssize_t for ndim in memory_view (#3615)
* memory_view.c: Use ssize_t for ndim in memory_view
* include/ruby/memory_view.h: Fix the type of item_size argument
-rw-r--r-- | ext/-test-/memory_view/memory_view.c | 2 | ||||
-rw-r--r-- | include/ruby/memory_view.h | 4 | ||||
-rw-r--r-- | memory_view.c | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/ext/-test-/memory_view/memory_view.c b/ext/-test-/memory_view/memory_view.c index 116f4ce5e3..ba7cbd9825 100644 --- a/ext/-test-/memory_view/memory_view.c +++ b/ext/-test-/memory_view/memory_view.c @@ -185,7 +185,7 @@ memory_view_get_memory_view_info(VALUE mod, VALUE obj) static VALUE memory_view_fill_contiguous_strides(VALUE mod, VALUE ndim_v, VALUE item_size_v, VALUE shape_v, VALUE row_major_p) { - int i, ndim = FIX2INT(ndim_v); + ssize_t i, ndim = NUM2SSIZET(ndim_v); Check_Type(shape_v, T_ARRAY); ssize_t *shape = ALLOC_N(ssize_t, ndim); diff --git a/include/ruby/memory_view.h b/include/ruby/memory_view.h index 5d48c359c1..f9348f5e2e 100644 --- a/include/ruby/memory_view.h +++ b/include/ruby/memory_view.h @@ -85,7 +85,7 @@ typedef struct { } item_desc; /* The number of dimension. */ - int ndim; + ssize_t ndim; /* ndim size array indicating the number of elements in each dimension. * This can be NULL when ndim == 1. */ @@ -124,7 +124,7 @@ bool rb_memory_view_register(VALUE klass, const rb_memory_view_entry_t *entry); int rb_memory_view_is_row_major_contiguous(const rb_memory_view_t *view); int rb_memory_view_is_column_major_contiguous(const rb_memory_view_t *view); -void rb_memory_view_fill_contiguous_strides(const int ndim, const int item_size, const ssize_t *const shape, const int row_major_p, ssize_t *const strides); +void rb_memory_view_fill_contiguous_strides(const ssize_t ndim, const ssize_t item_size, const ssize_t *const shape, const int row_major_p, ssize_t *const strides); int rb_memory_view_init_as_byte_array(rb_memory_view_t *view, VALUE obj, void *data, const ssize_t len, const int readonly); ssize_t rb_memory_view_parse_item_format(const char *format, rb_memory_view_item_component_t **members, diff --git a/memory_view.c b/memory_view.c index 6d75b9de1b..ea503c3c7b 100644 --- a/memory_view.c +++ b/memory_view.c @@ -78,7 +78,7 @@ rb_memory_view_is_column_major_contiguous(const rb_memory_view_t *view) /* Initialize strides array to represent the specified contiguous array. */ void -rb_memory_view_fill_contiguous_strides(const int ndim, const int item_size, const ssize_t *const shape, const int row_major_p, ssize_t *const strides) +rb_memory_view_fill_contiguous_strides(const ssize_t ndim, const ssize_t item_size, const ssize_t *const shape, const int row_major_p, ssize_t *const strides) { ssize_t i, n = item_size; if (row_major_p) { @@ -414,7 +414,7 @@ rb_memory_view_get_item_pointer(rb_memory_view_t *view, const ssize_t *indices) assert(view->shape != NULL); - int i; + ssize_t i; if (view->strides == NULL) { // row-major contiguous array ssize_t stride = view->item_size; |