mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
rb_memory_view_is_contiguous: convert into an inline function
This commit is contained in:
parent
ae94c5bf5d
commit
62ddbfe2b9
Notes:
git
2020-10-06 14:20:34 +09:00
1 changed files with 14 additions and 4 deletions
|
@ -118,10 +118,6 @@ RBIMPL_SYMBOL_EXPORT_BEGIN()
|
||||||
/* memory_view.c */
|
/* memory_view.c */
|
||||||
bool rb_memory_view_register(VALUE klass, const rb_memory_view_entry_t *entry);
|
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_row_major_contiguous(const rb_memory_view_t *view);
|
||||||
bool rb_memory_view_is_column_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);
|
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()
|
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 */
|
#endif /* RUBY_BUFFER_H */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue