23 lines
444 B
C
23 lines
444 B
C
|
/*
|
||
|
* Written by J.T. Conklin <jtc@netbsd.org>.
|
||
|
* Public domain.
|
||
|
*
|
||
|
* Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
|
||
|
*/
|
||
|
|
||
|
#include <math.h>
|
||
|
|
||
|
long double
|
||
|
fmodl (long double x, long double y)
|
||
|
{
|
||
|
long double res;
|
||
|
|
||
|
asm ("1:\tfprem\n\t"
|
||
|
"fstsw %%ax\n\t"
|
||
|
"sahf\n\t"
|
||
|
"jp 1b\n\t"
|
||
|
"fstp %%st(1)"
|
||
|
: "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
|
||
|
return res;
|
||
|
}
|