#ifdef ANSIC float ellief( float phia, float ma ) #else float ellief( phia, ma ) double phia, ma; #endif
{ float phi, m, a, b, c, e, temp; float lphi, t; int d, mod;
phi = phia;
m = ma; if( m == 0.0 ) return( phi ); if( m == 1.0 ) return( sinf(phi) );
lphi = phi; if( lphi < 0.0 )
lphi = -lphi;
a = 1.0;
b = 1.0 - m;
b = sqrtf(b);
c = sqrtf(m);
d = 1;
e = 0.0;
t = tanf( lphi );
mod = (lphi + PIO2F)/PIF;
while( fabsf(c/a) > MACHEPF )
{
temp = b/a;
lphi = lphi + atanf(t*temp) + mod * PIF;
mod = (lphi + PIO2F)/PIF;
t = t * ( 1.0 + temp )/( 1.0 - temp * t * t );
c = 0.5 * ( a - b );
temp = sqrtf( a * b );
a = 0.5 * ( a + b );
b = temp;
d += d;
e += c * sinf(lphi);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.