aboutsummaryrefslogtreecommitdiff
path: root/apps/px4
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2012-08-26 14:51:52 +0200
committerLorenz Meier <lm@inf.ethz.ch>2012-08-26 14:51:52 +0200
commit848c156140e3e1aa186e078456bc08efea05c71f (patch)
tree0fc543bf91bd3c6a0b5cfec5bf60f767c69d919a /apps/px4
parent207b077d8af64504f4109b259fbe5cc4e7879988 (diff)
downloadpx4-firmware-848c156140e3e1aa186e078456bc08efea05c71f.tar.gz
px4-firmware-848c156140e3e1aa186e078456bc08efea05c71f.tar.bz2
px4-firmware-848c156140e3e1aa186e078456bc08efea05c71f.zip
Added negative float printing to test range
Diffstat (limited to 'apps/px4')
-rw-r--r--apps/px4/tests/test_float.c59
1 files changed, 41 insertions, 18 deletions
diff --git a/apps/px4/tests/test_float.c b/apps/px4/tests/test_float.c
index 4922d06b1..8c70b720b 100644
--- a/apps/px4/tests/test_float.c
+++ b/apps/px4/tests/test_float.c
@@ -74,7 +74,7 @@ int test_float(int argc, char *argv[])
printf("\t success: sinf(0.0f) == 0.0f\n");
} else {
- printf("\t FAIL: sinf(0.0f) != 0.0f, result: %f\n", sinf_zero);
+ printf("\t FAIL: sinf(0.0f) != 0.0f, result: %8.4f\n", (double)sinf_zero);
ret = -4;
}
@@ -84,7 +84,7 @@ int test_float(int argc, char *argv[])
printf("\t success: sinf(1.0f) == 0.84147f\n");
} else {
- printf("\t FAIL: sinf(1.0f) != 0.84147f, result: %f\n", sinf_one);
+ printf("\t FAIL: sinf(1.0f) != 0.84147f, result: %8.4f\n", (double)sinf_one);
ret = -1;
}
@@ -108,7 +108,7 @@ int test_float(int argc, char *argv[])
printf("\t success: cosf(1.0f) == 0.54030f\n");
} else {
- printf("\t FAIL: cosf(1.0f) != 0.54030f, result: %f\n", cosf_one);
+ printf("\t FAIL: cosf(1.0f) != 0.54030f, result: %8.4f\n", (double)cosf_one);
ret = -1;
}
@@ -121,7 +121,7 @@ int test_float(int argc, char *argv[])
printf("\t success: acosf(1.0f) == 0.0f\n");
} else {
- printf("\t FAIL: acosf(1.0f) != 0.0f, result: %f\n", acosf_one);
+ printf("\t FAIL: acosf(1.0f) != 0.0f, result: %8.4f\n", (double)acosf_one);
ret = -1;
}
@@ -134,7 +134,7 @@ int test_float(int argc, char *argv[])
printf("\t success: sinf(0.1f) == 0.09983f\n");
} else {
- printf("\t FAIL: sinf(0.1f) != 0.09983f, result: %f\n", sinf_zero_one);
+ printf("\t FAIL: sinf(0.1f) != 0.09983f, result: %8.4f\n", (double)sinf_zero_one);
ret = -2;
}
@@ -142,7 +142,7 @@ int test_float(int argc, char *argv[])
printf("\t success: sqrt(2.0f) == 1.41421f\n");
} else {
- printf("\t FAIL: sqrt(2.0f) != 1.41421f, result: %f\n", sinf_zero_one);
+ printf("\t FAIL: sqrt(2.0f) != 1.41421f, result: %8.4f\n", (double)sinf_zero_one);
ret = -3;
}
@@ -152,7 +152,7 @@ int test_float(int argc, char *argv[])
printf("\t success: atan2f(1.0f, 1.0f) == 0.78539f\n");
} else {
- printf("\t FAIL: atan2f(1.0f, 1.0f) != 0.78539f, result: %8.4f\n", atan2f_ones);
+ printf("\t FAIL: atan2f(1.0f, 1.0f) != 0.78539f, result: %8.4f\n", (double)atan2f_ones);
ret = -4;
}
@@ -162,12 +162,23 @@ int test_float(int argc, char *argv[])
if (sbuf[0] == ' ' && sbuf[1] == ' ' && sbuf[2] == '0' &&
sbuf[3] == '.' && sbuf[4] == '5' && sbuf[5] == '5'
&& sbuf[6] == '3' && sbuf[7] == '4' && sbuf[8] == '\0') {
- printf("\t success: printf(\"%%8.4f\", 0.553415f) == %8.4f\n", 0.553415f);
+ printf("\t success: printf(\"%%8.4f\", 0.553415f) == %8.4f\n", (double)0.553415f);
} else {
printf("\t FAIL: printf(\"%%8.4f\", 0.553415f) != \" 0.5534\", result: %s\n", sbuf);
ret = -5;
}
+ sprintf(sbuf, "%8.4f", -0.553415f);
+
+ if (sbuf[0] == ' ' && sbuf[1] == '-' && sbuf[2] == '0' &&
+ sbuf[3] == '.' && sbuf[4] == '5' && sbuf[5] == '5'
+ && sbuf[6] == '3' && sbuf[7] == '4' && sbuf[8] == '\0') {
+ printf("\t success: printf(\"%%8.4f\", -0.553415f) == %8.4f\n", (double)-0.553415f);
+ } else {
+ printf("\t FAIL: printf(\"%%8.4f\", -0.553415f) != \" -0.5534\", result: %s\n", sbuf);
+ ret = -6;
+ }
+
@@ -183,7 +194,8 @@ int test_float(int argc, char *argv[])
printf("\t success: 1.0111 * 2.0 == 2.0222\n");
} else {
- printf("\t FAIL: 1.0111 * 2.0 != 2.0222, result: %f\n", d1d2);
+ printf("\t FAIL: 1.0111 * 2.0 != 2.0222, result: %8.4f\n", d1d2);
+ ret = -7;
}
fflush(stdout);
@@ -195,8 +207,8 @@ int test_float(int argc, char *argv[])
printf("\t success: (float) 1.55f == 1.55 (double)\n");
} else {
- printf("\t FAIL: (float) 1.55f != 1.55 (double), result: %f\n", f1);
- ret = -4;
+ printf("\t FAIL: (float) 1.55f != 1.55 (double), result: %8.4f\n", f1);
+ ret = -8;
}
fflush(stdout);
@@ -210,24 +222,24 @@ int test_float(int argc, char *argv[])
printf("\t success: sin(0.0) == 0.0\n");
} else {
- printf("\t FAIL: sin(0.0) != 0.0, result: %f\n", sin_zero);
- ret = -5;
+ printf("\t FAIL: sin(0.0) != 0.0, result: %8.4f\n", sin_zero);
+ ret = -9;
}
if (sin_one == 0.841470984807896504875657228695) {
printf("\t success: sin(1.0) == 0.84147098480\n");
} else {
- printf("\t FAIL: sin(1.0) != 1.0, result: %f\n", sin_one);
- ret = -6;
+ printf("\t FAIL: sin(1.0) != 1.0, result: %8.4f\n", sin_one);
+ ret = -10;
}
if (atan2_ones != 0.785398) {
printf("\t success: atan2(1.0, 1.0) == 0.785398\n");
} else {
- printf("\t FAIL: atan2(1.0, 1.0) != 0.785398, result: %f\n", atan2_ones);
- ret = -7;
+ printf("\t FAIL: atan2(1.0, 1.0) != 0.785398, result: %8.4f\n", atan2_ones);
+ ret = -11;
}
printf("\t testing pow() with magic value\n");
@@ -245,7 +257,18 @@ int test_float(int argc, char *argv[])
printf("\t success: printf(\"%%8.4f\", 0.553415) == %8.4f\n", 0.553415);
} else {
printf("\t FAIL: printf(\"%%8.4f\", 0.553415) != \" 0.5534\", result: %s\n", sbuf);
- ret = -8;
+ ret = -12;
+ }
+
+ sprintf(sbuf, "%8.4f", -0.553415);
+
+ if (sbuf[0] == ' ' && sbuf[1] == '-' && sbuf[2] == '0' &&
+ sbuf[3] == '.' && sbuf[4] == '5' && sbuf[5] == '5'
+ && sbuf[6] == '3' && sbuf[7] == '4' && sbuf[8] == '\0') {
+ printf("\t success: printf(\"%%8.4f\", -0.553415) == %8.4f\n", -0.553415);
+ } else {
+ printf("\t FAIL: printf(\"%%8.4f\", -0.553415) != \" -0.5534\", result: %s\n", sbuf);
+ ret = -13;
}