예제 #1
0
파일: mapm_gcd.c 프로젝트: kanbang/Colt
void	m_apm_lcm(M_APM r, M_APM u, M_APM v)
{
M_APM   tmpN, tmpG;

tmpN = M_get_stack_var();
tmpG = M_get_stack_var();

m_apm_multiply(tmpN, u, v);
m_apm_gcd(tmpG, u, v);
m_apm_integer_divide(r, tmpN, tmpG);

M_restore_stack(2);
}
예제 #2
0
파일: mapm_gcd.cpp 프로젝트: gasparfm/MAPM
void	m_apm_lcm(M_APM r, M_APM u, M_APM v)
{
M_APM   tmpN, tmpG;
 if (u->m_apm_error || v->m_apm_error)
   {
     M_set_to_error(r);
     return;
   }

tmpN = M_get_stack_var();
tmpG = M_get_stack_var();

m_apm_multiply(tmpN, u, v);
m_apm_gcd(tmpG, u, v);
m_apm_integer_divide(r, tmpN, tmpG);

M_restore_stack(2);
}
예제 #3
0
파일: mapm_mt.c 프로젝트: alyst/zorba
void	m_apm_gcd_mt(M_APM r, M_APM u, M_APM v)
{
	m_apm_enter();
	m_apm_gcd(r,u,v);
	m_apm_leave();
}