/* class method: sfloat(size1,size2,...,sizeN) */ static VALUE na_s_new_sfloat(int argc, VALUE *argv, VALUE klass) { return na_new2(argc, argv, NA_SFLOAT, klass); } /* class method: float(size1,size2,...,sizeN) */ static VALUE na_s_new_float(int argc, VALUE *argv, VALUE klass) { return na_new2(argc, argv, NA_DFLOAT, klass); } /* class method: scomplex(size1,size2,...,sizeN) */ static VALUE na_s_new_scomplex(int argc, VALUE *argv, VALUE klass) { return na_new2(argc, argv, NA_SCOMPLEX, klass); } /* class method: complex(size1,size2,...,sizeN) */ static VALUE na_s_new_complex(int argc, VALUE *argv, VALUE klass) { return na_new2(argc, argv, NA_DCOMPLEX, klass); } /* class method: object(size1,size2,...,sizeN) */ static VALUE na_s_new_object(int argc, VALUE *argv, VALUE klass) { return na_new2(argc, argv, NA_ROBJ, klass); } /* method: dup() */ VALUE na_clone(VALUE self) { struct NARRAY *org, *cpy; GetNArray(self,org); cpy = na_alloc_struct(org->type,org->rank,org->shape); memcpy(cpy->ptr, org->ptr, na_sizeof[org->type] * org->total); return na_wrap_struct(cpy,self); }