181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
|
# File 'ext/fiddle/memory_view.c', line 181
static VALUE
rb_fiddle_memview_get_shape(VALUE obj)
{
struct memview_data *data;
TypedData_Get_Struct(obj, struct memview_data, &fiddle_memview_data_type, data);
if (NIL_P(data->view.obj)) return Qnil;
if (data->view.shape == NULL) return Qnil;
const ssize_t ndim = data->view.ndim;
VALUE shape = rb_ary_new_capa(ndim);
ssize_t i;
for (i = 0; i < ndim; ++i) {
rb_ary_push(shape, SSIZET2NUM(data->view.shape[i]));
}
return shape;
}
|