diff options
Diffstat (limited to 'include/ruby/memory_view.h')
-rw-r--r-- | include/ruby/memory_view.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/include/ruby/memory_view.h b/include/ruby/memory_view.h index 58db2a961b..b88784815c 100644 --- a/include/ruby/memory_view.h +++ b/include/ruby/memory_view.h @@ -118,10 +118,6 @@ RBIMPL_SYMBOL_EXPORT_BEGIN() /* memory_view.c */ bool rb_memory_view_register(VALUE klass, const rb_memory_view_entry_t *entry); -#define rb_memory_view_is_contiguous(view) ( \ - rb_memory_view_is_row_major_contiguous(view) \ - || rb_memory_view_is_column_major_contiguous(view)) - bool rb_memory_view_is_row_major_contiguous(const rb_memory_view_t *view); bool rb_memory_view_is_column_major_contiguous(const rb_memory_view_t *view); 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); @@ -138,4 +134,18 @@ int rb_memory_view_release(rb_memory_view_t* memory_view); RBIMPL_SYMBOL_EXPORT_END() +static inline bool +rb_memory_view_is_contiguous(const rb_memory_view_t *view) +{ + if (rb_memory_view_is_row_major_contiguous(view)) { + return true; + } + else if (rb_memory_view_is_column_major_contiguous(view)) { + return true; + } + else { + return false; + } +} + #endif /* RUBY_BUFFER_H */ |