/* 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;
}