Hi Leute,
ich hab da ein spezielles Problem. Und zwar würde ich
gerne eine aus einem C-Source stammende Funktion
in PHP umwandeln. Leider werden als Funktionsparameter
Zeiger übergeben:
function Interp(ym, y0, yp, *xe, *ye, *z1, *z2, *nz) {
*nz = 0;
a = 0.5 * (ym + yp) - y0;
b = 0.5 * (yp - ym);
c = y0;
*xe = -b / (2.0 * a);
*ye = (a * (*xe) + b) * (*xe) + c;
d = b * b - 4.0 * a * c;
if (d >= 0) {
dx = 0.5 * sqrt(d) / abs(a);
*z1 = *xe - dx;
*z2 = *xe + dx;
if (abs(*z1) <= 1.0)
*nz += 1;
if (abs(*z2) <= 1.0)
*nz += 1;
if (*z1 < -1.0)
*z1 = *z2;
}
return (0);
}
Wie kann ich das denn lösen, denn sowas wie Pointer (*)
gibts ja in PHP nicht.
Vielen Dank für jeden Tipp!!!
Viele Grüße
Soezkan
ich hab da ein spezielles Problem. Und zwar würde ich
gerne eine aus einem C-Source stammende Funktion
in PHP umwandeln. Leider werden als Funktionsparameter
Zeiger übergeben:
function Interp(ym, y0, yp, *xe, *ye, *z1, *z2, *nz) {
*nz = 0;
a = 0.5 * (ym + yp) - y0;
b = 0.5 * (yp - ym);
c = y0;
*xe = -b / (2.0 * a);
*ye = (a * (*xe) + b) * (*xe) + c;
d = b * b - 4.0 * a * c;
if (d >= 0) {
dx = 0.5 * sqrt(d) / abs(a);
*z1 = *xe - dx;
*z2 = *xe + dx;
if (abs(*z1) <= 1.0)
*nz += 1;
if (abs(*z2) <= 1.0)
*nz += 1;
if (*z1 < -1.0)
*z1 = *z2;
}
return (0);
}
Wie kann ich das denn lösen, denn sowas wie Pointer (*)
gibts ja in PHP nicht.
Vielen Dank für jeden Tipp!!!
Viele Grüße
Soezkan
Kommentar