/* method: indgen!([start,[step]]) */ VALUE na_indgen(int argc, VALUE *argv, VALUE self) { int start=0, step=1; struct NARRAY *ary; if (argc>0) { start = NUM2INT(argv[0]); if (argc==2) step = NUM2INT(argv[1]); else if (argc>2) rb_raise(rb_eArgError, "wrong # of arguments (%d for <= 2)", argc); } GetNArray(self,ary); IndGenFuncs[ary->type]( ary->total, ary->ptr, na_sizeof[ary->type], start, step ); return self; }