static VALUE BigDecimal_global_new(int argc, VALUE *argv, VALUE self) { ENTER(5); Real *pv; S_LONG mf; VALUE nFig; VALUE iniValue; if(rb_scan_args(argc,argv,"11",&iniValue,&nFig)==1) { mf = 0; } else { mf = GetPositiveInt(nFig); } SafeStringValue(iniValue); GUARD_OBJ(pv,VpCreateRbObject(mf, RSTRING_PTR(iniValue))); return ToValue(pv); }