summaryrefslogblamecommitdiff
path: root/src/math/x86_64/fmodl.c
blob: 3daeab060002c79fd96a1c4123890e559f1e8b3b (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                                         
#include <math.h>

long double fmodl(long double x, long double y)
{
	unsigned short fpsr;
	do __asm__ ("fprem; fnstsw %%ax" : "+t"(x), "=a"(fpsr) : "u"(y));
	while (fpsr & 0x400);
	return x;
}