Пример #1
0
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);
}
Пример #2
0
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;
}
Пример #3
0
static int Bdigitsin(lua_State *L)		/** digitsin(x) */
{
 M_APM a=Bget(L,1);
 lua_pushinteger(L,m_apm_significant_digits(a));
 return 1;
}