mailing list of musl libc
 help / color / mirror / code / Atom feed
28d05aede80476f0395d9ed7f0ee13d226ce8f99 blob 400 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
 
#include <math.h>

#if __riscv_flen >= 64

double round(double x)
{
	if (isnan(x + x)) return x; // if x is +-inf or nan
	if (fabs(x) >= 0x1p54) return x;
	double tmp;
	long long n;
	__asm__ ("fcvt.l.d %0, %1, rmm" : "=r"(n) : "f"(x));
	__asm__ ("fcvt.d.l %0, %1" : "=f"(tmp) : "r"(n));
	__asm__ ("fsgnj.d %0, %1, %2" : "=f"(x) : "f"(tmp), "f"(x));
	return x;
}

#else

#include "../round.c"

#endif
debug log:

solving 28d05aed ...
found 28d05aed in https://inbox.vuxu.org/musl/20240612153105.335451-1-mzh@mzh.io/

applying [1/1] https://inbox.vuxu.org/musl/20240612153105.335451-1-mzh@mzh.io/
diff --git a/src/math/riscv64/round.c b/src/math/riscv64/round.c
new file mode 100644
index 00000000..28d05aed

Checking patch src/math/riscv64/round.c...
Applied patch src/math/riscv64/round.c cleanly.

index at:
100644 28d05aede80476f0395d9ed7f0ee13d226ce8f99	src/math/riscv64/round.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).