xref: /netbsd/lib/libc/arch/mips/gen/flt_rounds.c (revision bf9ec67e)
1 /*	$NetBSD: flt_rounds.c,v 1.3 1997/10/18 02:43:06 jonathan Exp $	*/
2 
3 /*
4  * Written by J.T. Conklin, Apr 11, 1995
5  * Public domain.
6  */
7 
8 #include <machine/float.h>
9 
10 static const int map[] = {
11 	1,	/* round to nearest */
12 	0,	/* round to zero */
13 	2,	/* round to positive infinity */
14 	3	/* round to negative infinity */
15 };
16 
17 int
18 __flt_rounds()
19 {
20 	int x;
21 
22 	__asm__("cfc1 %0,$31" : "=r" (x));
23 	return map[x & 0x03];
24 }
25