Hallo,
Folgendes Problem. Für ein bisschen Matheprogrammierung verwende ich aktuell PHP in Verbindung mit der gmplib. Nun habe ich eine Funktion geschrieben, mit der ich Potenzen ausrechnen kann:
Im Prinzip funktioniert diese Funktion auch gut. Sobald ich aber eine Dezimalzahl als Basis nehme, bekomme ich als Ergebnis immer "0" und das Logfile des Servers sagt mir:
Ganz offensichtlich kommt gmp_mul also nicht mit diesen Dezimalzahlen zurecht, es muss im GMP-Paket also eine andere Funktion für die Multiplikation von Dezimalzahlen geben. Eine Übersicht über die Funktionen gibt es hier. Oder mache ich einfach sonst irgendetwas falsch? Ich würde mich sehr über Hilfe freuen!
MfG
Folgendes Problem. Für ein bisschen Matheprogrammierung verwende ich aktuell PHP in Verbindung mit der gmplib. Nun habe ich eine Funktion geschrieben, mit der ich Potenzen ausrechnen kann:
Code:
function expon ($gz,$expn)
{
if ($expn != 0)
{
$erg = $gz;
for ($i=2;$i<=$expn;$i++)
{
$erg = gmp_mul($erg, $gz);
}
}
else
{
$erg = 1;
}
return $erg;
}
Im Prinzip funktioniert diese Funktion auch gut. Sobald ich aber eine Dezimalzahl als Basis nehme, bekomme ich als Ergebnis immer "0" und das Logfile des Servers sagt mir:
Code:
PHP Warning: gmp_mul(): Unable to convert variable to GMP - wrong type in $path/forward.php on line 5
Ganz offensichtlich kommt gmp_mul also nicht mit diesen Dezimalzahlen zurecht, es muss im GMP-Paket also eine andere Funktion für die Multiplikation von Dezimalzahlen geben. Eine Übersicht über die Funktionen gibt es hier. Oder mache ich einfach sonst irgendetwas falsch? Ich würde mich sehr über Hilfe freuen!
MfG