1 /* $OpenBSD: round.c,v 1.3 2003/07/31 21:48:03 deraadt Exp $ */
2 /* $NetBSD: round.c,v 1.1 1995/04/26 00:27:28 jtc Exp $ */
5 * Written by J.T. Conklin, Apr 18, 1995
15 main(int argc, char *argv[])
18 * This test would be better if it actually performed some
19 * calculations to verify the selected rounding mode. But
20 * this is probably acceptable since the fp{get,set}round
21 * functions usually just get or set the processors fpu
25 assert(fpgetround() == FP_RN);
26 assert(FLT_ROUNDS == 1);
28 assert(fpsetround(FP_RP) == FP_RN);
29 assert(fpgetround() == FP_RP);
30 assert(FLT_ROUNDS == 2);
32 assert(fpsetround(FP_RM) == FP_RP);
33 assert(fpgetround() == FP_RM);
34 assert(FLT_ROUNDS == 3);
36 assert(fpsetround(FP_RZ) == FP_RM);
37 assert(fpgetround() == FP_RZ);
38 assert(FLT_ROUNDS == 0);
40 assert(fpsetround(FP_RN) == FP_RZ);
41 assert(fpgetround() == FP_RN);
42 assert(FLT_ROUNDS == 1);