mailing list of musl libc
 help / color / mirror / code / Atom feed
619df056f623281e61ae36506396a05e0634fc7b blob 443 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
 
#include "libm.h"

double sqrt(double x)
{
	union ldshape ux;
	unsigned fpsr;
	__asm__ ("fsqrt; fnstsw %%ax": "=t"(ux.f), "=a"(fpsr) : "0"(x));
	if ((ux.i.m & 0x7ff) != 0x400)
		return (double)ux.f;
	/* Rounding to double would have encountered an exact halfway case.
	   Adjust mantissa downwards if fsqrt rounded up, else upwards.
	   (result of fsqrt could not have been exact) */
	ux.i.m ^= (fpsr & 0x200) + 0x200;
	return (double)ux.f;
}
debug log:

solving 619df056 ...
found 619df056 in https://inbox.vuxu.org/musl/20200107130605.7618-1-amonakov@ispras.ru/

applying [1/1] https://inbox.vuxu.org/musl/20200107130605.7618-1-amonakov@ispras.ru/
diff --git a/src/math/i386/sqrt.c b/src/math/i386/sqrt.c
new file mode 100644
index 00000000..619df056

Checking patch src/math/i386/sqrt.c...
Applied patch src/math/i386/sqrt.c cleanly.

index at:
100644 619df056f623281e61ae36506396a05e0634fc7b	src/math/i386/sqrt.c

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).