MathPHP\Algebra::factors PHP Method

factors() public static method

https://en.wikipedia.org/wiki/Integer_factorization Method: Iterate from 1 to √x If x mod i = 0, it is a factor Furthermore, x/i is a factor
public static factors ( integer $x ) : array
$x integer
return array of factors
    public static function factors(int $x) : array
    {
        // 0 has infinite factors
        if ($x === 0) {
            return [\INF];
        }
        $x = abs($x);
        $√x = floor(sqrt($x));
        $factors = [];
        for ($i = 1; $i <= $√x; $i++) {
            if ($x % $i === 0) {
                $factors[] = $i;
                if ($i !== $√x) {
                    $factors[] = $x / $i;
                }
            }
        }
        sort($factors);
        return $factors;
    }