/* singleton method:
NArray.to_na( string, type, size1,size2,...,sizeN )
NArray.to_na( array )
*/
static VALUE
na_s_to_na(int argc, VALUE *argv, VALUE klass)
{
if (argc < 1) {
rb_raise(rb_eArgError, "Argument is required");
}
if (TYPE(argv[0]) == T_STRING) {
return na_str_to_na(argc-1,argv+1,argv[0]);
}
if (argc > 1) {
rb_raise(rb_eArgError, "Only one array argument must be provided");
}
if (TYPE(argv[0]) == T_ARRAY) {
return na_ary_to_nary( argv[0], klass );
}
if (NA_IsNArray(argv[0])) {
return argv[0];
}
rb_raise(rb_eTypeError, "Argument must be Array or String (or NArray)");
return Qnil;
}