/* method: flatten! */ static VALUE na_flatten_bang(VALUE self) { struct NARRAY *ary; GetNArray(self,ary); if (ary->total==0 || ary->rank==0) rb_raise(rb_eRuntimeError, "cannot reshape empty array"); ary->shape[0] = ary->total; ary->rank = 1; return self; }