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