Deleted Added
full compact
flt_rounds.c (85518) flt_rounds.c (140424)
1/*
2 * Written by J.T. Conklin, Apr 10, 1995
3 * Public domain.
4 */
5
6#include <sys/cdefs.h>
1/*
2 * Written by J.T. Conklin, Apr 10, 1995
3 * Public domain.
4 */
5
6#include <sys/cdefs.h>
7__FBSDID("$FreeBSD: head/lib/libc/sparc64/gen/flt_rounds.c 85518 2001-10-26 05:40:07Z jake $");
7__FBSDID("$FreeBSD: head/lib/libc/sparc64/gen/flt_rounds.c 140424 2005-01-18 15:29:28Z das $");
8
9#include <sys/types.h>
10#include <machine/float.h>
11
12static const int map[] = {
13 1, /* round to nearest */
14 0, /* round to zero */
8
9#include <sys/types.h>
10#include <machine/float.h>
11
12static const int map[] = {
13 1, /* round to nearest */
14 0, /* round to zero */
15 3, /* round to negative infinity */
16 2 /* round to positive infinity */
15 2, /* round to positive infinity */
16 3 /* round to negative infinity */
17};
18
19int
20__flt_rounds()
21{
22 int x;
23
24 __asm("st %%fsr,%0" : "=m" (*&x));
25 return map[(x >> 30) & 0x03];
26}
17};
18
19int
20__flt_rounds()
21{
22 int x;
23
24 __asm("st %%fsr,%0" : "=m" (*&x));
25 return map[(x >> 30) & 0x03];
26}