MAPM MAPM::operator--() { // m_apm_enter(); MAPM ret; m_apm_subtract_mt(ret.val(),cval(),MM_One); *this = ret; // m_apm_leave(); return *this; }
MAPM MAPM::operator++() { // m_apm_enter(); MAPM ret; m_apm_add_mt(ret.val(),cval(),MM_One); *this = ret; // m_apm_leave(); return *this; }
MAPM MAPM::floor(void) const { MAPM ret; m_apm_floor_mt(ret.val(),cval()); return ret; }
MAPM MAPM::random(void) { MAPM ret; m_apm_get_random_mt(ret.val()); return ret; }
MAPM MAPM::lcm(const MAPM &m) const { MAPM ret; m_apm_lcm_mt(ret.val(),cval(),m.cval()); return ret; }
MAPM MAPM::gcd(const MAPM &m) const { MAPM ret; m_apm_gcd_mt(ret.val(),cval(),m.cval()); return ret; }
MAPM MAPM::integer_divide(const MAPM &denom) const { MAPM ret; m_apm_integer_divide_mt(ret.val(),cval(),denom.cval()); return ret; }
MAPM MAPM::ipow_nr(int p) const { MAPM ret; m_apm_integer_pow_nr_mt(ret.val(),cval(),p); return ret; }
MAPM MAPM::round(int toDigits) const { MAPM ret; m_apm_round_mt(ret.val(),toDigits,cval()); return ret; }
MAPM MAPM::neg(void) const { MAPM ret; m_apm_negate(ret.val(),cval()); return ret; }
MAPM MAPM::abs(void) const { MAPM ret; m_apm_absolute_value(ret.val(),cval()); return ret; }
MAPM MAPM::divide(const MAPM &m,int toDigits) const { MAPM ret; m_apm_divide_mt(ret.val(),toDigits,cval(),m.cval()); return ret; }
MAPM operator*(const MAPM &a,const MAPM &b) { MAPM ret; m_apm_multiply_mt(ret.val(),a.cval(),b.cval()); return ret; }
MAPM operator-(const MAPM &a,const MAPM &b) { MAPM ret; m_apm_subtract_mt(ret.val(),a.cval(),b.cval()); return ret; }
MAPM operator+(const MAPM &a,const MAPM &b) { MAPM ret; m_apm_add_mt(ret.val(),a.cval(),b.cval()); return ret; }
MAPM MAPM::ceil(void) const { MAPM ret; m_apm_ceil_mt(ret.val(),cval()); return ret; }
MAPM MAPM::factorial(void) const { MAPM ret; m_apm_factorial_mt(ret.val(),cval()); return ret; }
void MAPM::sincos(MAPM &sinR,MAPM &cosR,int toDigits) { m_apm_sin_cos_mt(sinR.val(),cosR.val(),toDigits,cval()); }
MAPM MAPM::ipow(int p,int toDigits) const { MAPM ret; m_apm_integer_pow_mt(ret.val(),toDigits,cval(),p); return ret; }
MAPM MAPM::pow(const MAPM &m,int toDigits) const { MAPM ret; m_apm_pow_mt(ret.val(),toDigits,cval(), m.cval()); return ret; }
void MAPM::integer_div_rem(const MAPM &denom,MAPM ",MAPM &rem) const { m_apm_integer_div_rem_mt(quot.val(),rem.val(),cval(),denom.cval()); }
MAPM MAPM::atan2(const MAPM &x,int toDigits) const { MAPM ret; m_apm_arctan2_mt(ret.val(),toDigits,cval(),x.cval()); return ret; }