remainderl.c raw

   1  #include <math.h>
   2  
   3  long double remainderl(long double x, long double y)
   4  {
   5  	unsigned short fpsr;
   6  	do __asm__ ("fprem1; fnstsw %%ax" : "+t"(x), "=a"(fpsr) : "u"(y));
   7  	while (fpsr & 0x400);
   8  	return x;
   9  }
  10