/*	Copyright (c) 1984, 1986, 1987, 1988 AT&T	*/
/*	  All Rights Reserved  	*/

/*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*/
/*	The copyright notice above does not evidence any   	*/
/*	actual or intended publication of such source code.	*/

#ident	"@(#)libc-i386:libc-i386/gen/fpsetrnd.c	1.2"

#include <sys/fp.h>

static int m;

/* fpsetrnd( new_rounding_mode )
 * sets the 80[23]87 coprocessor's rounding mode to new_rounding_mode
 * and returns the old rounding mode.
 */
int
fpsetrnd(rnd)
int rnd;
{
    int save;

    asm("    fstcw  m");
    save = m;
    m = (m & (~FPRC)) | (rnd & FPRC);
    asm("    fldcw  m");
    return save & FPRC;
}
