Exemple #1
0
/**
 * Rend la factorisation plus compacte et peut-être jolie
 * @param  Polynome	$P1	Le facteur 1
 * @param  Polynome	$P2	Le facteur 2
 * @param  Polynome	$P3	Le facteur 3
 * @return string		La représentation factorisée du polynome
 */
function prettyFactors($P1, $P2, $P3)
{
    // echo $P1."<br/>".$P2."<br/>".$P3."<br/>";
    if ($P1->equals($P2) && $P1->equals($P3)) {
        return prettyPolynome($P1) . "&sup3;";
    } elseif ($P1->equals($P2) && $P2->equals($P3->multNumber(-1))) {
        return "- " . prettyPolynome($P1) . "&sup3;";
    } elseif ($P1->equals($P2->multNumber(-1)) && $P1->equals($P3)) {
        return "- " . prettyPolynome($P1) . "&sup3;";
    } elseif ($P1->equals($P2->multNumber(-1)) && $P2->equals($P3)) {
        return prettyPolynome($P1) . "&sup3;";
    } elseif ($P1->equals($P2) && !$P1->equals($P3)) {
        return prettyPolynome($P1) . "&sup2;" . prettyPolynome($P3);
    } elseif (!$P1->equals($P2) && $P1->equals($P3)) {
        return prettyPolynome($P1) . "&sup2;" . prettyPolynome($P2);
    } elseif ($P1->equals($P2->multNumber(-1)) && !$P1->equals($P3) && !$P2->equals($P3)) {
        return "- " . prettyPolynome($P1) . "&sup2;" . prettyPolynome($P3);
    } elseif ($P2->equals($P3->multNumber(-1)) && !$P1->equals($P3) && !$P1->equals($P2)) {
        return "- " . prettyPolynome($P3) . "&sup2;" . prettyPolynome($P1);
    }
    return prettyPolynome($P1) . prettyPolynome($P2) . prettyPolynome($P3);
}