Search code examples
phpruntime-errordivide-by-zero

php - "Division by zero" with euler constant


I have this simple function:

enter image description here

And this is the code I wrote to implement it:

public function SimpleEquation($top, $bottom){
    $result = (-1/(1 + M_E^(2*M_E - 2*($top/$bottom)))) + 1.032; //this is line 123.
    $result = round($result, 2, PHP_ROUND_HALF_DOWN);
    return $result;
}

But when I execute it, it gives the error:

ErrorException in MyFile.php line 123: Division by zero

Basically I thought that there was something wrong with the incoming input, this is why I tried the equation with constant values that cause problem to the function instead of variables:

$result = (-1/(1 + M_E^(2*M_E - 2*(5.05/5.78)))) + 1.032;
echo "Result: ".$result."<br>";

This causes the same division by zero error as well. I tried rewriting the equation more than 4 times from scratch, and it works quite well with most of the values. I also tried to use a simple constant like $eulerConstant = 2.718 just in case there was an overflow or something with the system but it still gave me the same result.

I would be really happy with a help about why this does not work. Thank you very much.


Solution

  • Exponentiation is done with the pow function, not the ^ bitwise-XOR operator.