aboutsummaryrefslogtreecommitdiffstats
path: root/include/ruby/memory_view.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ruby/memory_view.h')
-rw-r--r--include/ruby/memory_view.h18
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 */