mailing list of musl libc
 help / color / mirror / code / Atom feed
81991b5ff9307e7f1f54358cde99a010fcca6143 blob 372 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)) return x;
	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 81991b5f ...
found 81991b5f in https://inbox.vuxu.org/musl/20240612151413.306650-1-mzh@mzh.io/

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

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

index at:
100644 81991b5ff9307e7f1f54358cde99a010fcca6143	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).