Exemplo n.º 1
0
Arquivo: rat.c Projeto: ptigwe/gte
/* GSoC12: Tobenna Peter, Igwe (Edited) */
Rat ratreduce (Rat a)
{
    if (zero(a.num))
    {
        /*a.den = 1;*/
        itomp(1, a.den);
    }
    else
    {
        mp div;
        mp c;
        if (negative(a.den))
        {
            /*a.den = -a.den;*/
            changesign(a.den);
            /*a.num = -a.num;*/
            changesign(a.num);
        }
        /*div = ratgcd(a.den, a.num);*/
        ratgcd(a.den, a.num, div);
        /*a.num = a.num/div;*/
        divint(a.num, div, c);
        copy(a.num, c);
        /*a.den = a.den/div;*/
        divint(a.den, div, c);
        copy(a.den, c);
    }
    return a;
}
Exemplo n.º 2
0
Rat ratreduce (Rat a)
{
    if (a.num == 0)
        a.den = 1;
    else
        {
        int div;
        if (a.den < 0)
            {
            a.den = -a.den;
            a.num = -a.num;
            }
        div = ratgcd(a.den, a.num);
        a.num = a.num/div;
        a.den = a.den/div;
        }
    return a;
}