22 lines
513 B
C
22 lines
513 B
C
|
/**
|
||
|
* This file has no copyright assigned and is placed in the Public Domain.
|
||
|
* This file is part of the mingw-w64 runtime package.
|
||
|
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
*/
|
||
|
double fmod (double x, double y);
|
||
|
|
||
|
double
|
||
|
fmod (double x, double y)
|
||
|
{
|
||
|
double res = 0.0;
|
||
|
|
||
|
asm volatile (
|
||
|
"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;
|
||
|
}
|