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}
|