int m_apm_significant_digits_mt(M_APM m) { int i; m_apm_enter(); i=m_apm_significant_digits(m); m_apm_leave(); return(i); }
static int Btostring(lua_State *L) /** tostring(x,[n,exp]) */ { char *s; M_APM a=Bget(L,1); int n=luaL_optint(L,2,DIGITS); if (lua_toboolean(L,3)) { int m=(n<0) ? m_apm_significant_digits(a) : n; s=malloc(m+16); if (s!=NULL) m_apm_to_string(s,n,a); } else s=m_apm_to_fixpt_stringexp(n,a,'.',0,0); lua_pushstring(L,s); if (s!=NULL) free(s); return 1; }
static int Bdigitsin(lua_State *L) /** digitsin(x) */ { M_APM a=Bget(L,1); lua_pushinteger(L,m_apm_significant_digits(a)); return 1; }