Sign in
android
/
platform
/
external
/
musl
/
3da2b5cceae98f5098e62e7865fe6433c1e82775
/
.
/
src
/
math
/
i386
/
fmod.c
blob: ea0c58d9b422e6f821aa2953afe0fbd75822d44a [
file
] [
log
] [
blame
]
#include
<math.h>
double
fmod
(
double
x
,
double
y
)
{
unsigned
short
fpsr
;
// fprem does not introduce excess precision into x
do
__asm__
(
"fprem; fnstsw %%ax"
:
"+t"
(
x
),
"=a"
(
fpsr
)
:
"u"
(
y
));
while
(
fpsr
&
0x400
);
return
x
;
}