/* method: to_binary -- convert the data contents to a BYTE type NArray */ static VALUE na_to_binary(VALUE self) { struct NARRAY *a1, *a2; int i, *shape, rank; VALUE v; GetNArray(self,a1); rank = a1->rank+1; shape = ALLOCA_N(int,rank); shape[0] = na_sizeof[a1->type]; for (i=1; i<rank; ++i) shape[i] = a1->shape[i-1]; v = na_make_object( NA_BYTE, rank, shape, cNArray ); GetNArray(v,a2); MEMCPY(a2->ptr,a1->ptr,char,a2->total); return v; }