y = floorl( x/PIO4L ); /* integer part of x/PIO4 */
/* strip high bits of integer part to prevent integer overflow */
z = ldexpl( y, -4 );
z = floorl(z); /* integer part of y/8 */
z = y - ldexpl( z, 4 ); /* y - 16 * (y/16) */
j = z; /* convert to integer for tests on the phase angle */ /* map zeros to origin */ if( j & 1 )
{
j += 1;
y += 1.0L;
}
j = j & 07; /* octant modulo 360 degrees */ /* reflect in x axis */ if( j > 3)
{
sign = -sign;
j -= 4;
}
/* Extended precision modular arithmetic */
z = ((x - y * DP1) - y * DP2) - y * DP3;
zz = z * z; if( (j==1) || (j==2) )
{
y = 1.0L - ldexpl(zz,-1) + zz * zz * polevll( zz, coscof, 6 );
} else
{
y = z + z * (zz * polevll( zz, sincof, 6 ));
}
if(sign < 0)
y = -y;
return(y);
}
longdouble cosl(x) longdouble x;
{ longdouble y, z, zz; long i; int j, sign;
y = floorl( x/PIO4L );
z = ldexpl( y, -4 );
z = floorl(z); /* integer part of y/8 */
z = y - ldexpl( z, 4 ); /* y - 16 * (y/16) */
/* integer and fractional part modulo one octant */
i = z; if( i & 1 ) /* map zeros to origin */
{
i += 1;
y += 1.0L;
}
j = i & 07; if( j > 3)
{
j -=4;
sign = -sign;
}
if( j > 1 )
sign = -sign;
/* Extended precision modular arithmetic */
z = ((x - y * DP1) - y * DP2) - y * DP3;
zz = z * z; if( (j==1) || (j==2) )
{
y = z + z * (zz * polevll( zz, sincof, 6 ));
} else
{
y = 1.0L - ldexpl(zz,-1) + zz * zz * polevll( zz, coscof, 6 );
}
if(sign < 0)
y = -y;
return(y);
}
Messung V0.5 in Prozent
¤ 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.0.14Bemerkung:
(vorverarbeitet am 2026-06-14)
¤
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.