mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
- Use nitems instead of handrolling the macro
- Use a separate variable for tracking the testcase count instead of hardcoding the offset for the testcases MFC after: 3 days Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
efa7d27e13
commit
50190e4b5c
1 changed files with 17 additions and 10 deletions
|
|
@ -31,6 +31,7 @@
|
|||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <assert.h>
|
||||
#include <fenv.h>
|
||||
#include <float.h>
|
||||
|
|
@ -473,44 +474,50 @@ int
|
|||
main(int argc, char *argv[])
|
||||
{
|
||||
int rmodes[] = { FE_TONEAREST, FE_UPWARD, FE_DOWNWARD, FE_TOWARDZERO };
|
||||
int i;
|
||||
int i, j;
|
||||
|
||||
printf("1..19\n");
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (i = 0; i < nitems(rmodes); i++, j++) {
|
||||
printf("rmode = %d\n", rmodes[i]);
|
||||
fesetround(rmodes[i]);
|
||||
test_zeroes();
|
||||
printf("ok %d - fma zeroes\n", i + 1);
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (i = 0; i < nitems(rmodes); i++, j++) {
|
||||
printf("rmode = %d\n", rmodes[i]);
|
||||
fesetround(rmodes[i]);
|
||||
test_infinities();
|
||||
printf("ok %d - fma infinities\n", i + 5);
|
||||
printf("ok %d - fma infinities\n", j);
|
||||
}
|
||||
|
||||
fesetround(FE_TONEAREST);
|
||||
test_nans();
|
||||
printf("ok 9 - fma NaNs\n");
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (i = 0; i < nitems(rmodes); i++, j++) {
|
||||
printf("rmode = %d\n", rmodes[i]);
|
||||
fesetround(rmodes[i]);
|
||||
test_small_z();
|
||||
printf("ok %d - fma small z\n", i + 10);
|
||||
printf("ok %d - fma small z\n", j);
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (i = 0; i < nitems(rmodes); i++, j++) {
|
||||
printf("rmode = %d\n", rmodes[i]);
|
||||
fesetround(rmodes[i]);
|
||||
test_big_z();
|
||||
printf("ok %d - fma big z\n", i + 14);
|
||||
printf("ok %d - fma big z\n", j);
|
||||
}
|
||||
|
||||
fesetround(FE_TONEAREST);
|
||||
test_accuracy();
|
||||
printf("ok 18 - fma accuracy\n");
|
||||
printf("ok %d - fma accuracy\n", j);
|
||||
j++;
|
||||
|
||||
test_double_rounding();
|
||||
printf("ok 19 - fma double rounding\n");
|
||||
printf("ok %d - fma double rounding\n", j);
|
||||
j++;
|
||||
|
||||
/*
|
||||
* TODO:
|
||||
|
|
|
|||
Loading…
Reference in a new issue