Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/lib/libm Expand the test file to contain 48 individual...



details:   https://anonhg.NetBSD.org/src/rev/0d046de040b6
branches:  trunk
changeset: 769508:0d046de040b6
user:      jruoho <jruoho%NetBSD.org@localhost>
date:      Mon Sep 12 18:07:29 2011 +0000

description:
Expand the test file to contain 48 individual test cases.

diffstat:

 tests/lib/libm/t_log.c |  840 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 820 insertions(+), 20 deletions(-)

diffs (truncated from 878 to 300 lines):

diff -r df6398d3d73d -r 0d046de040b6 tests/lib/libm/t_log.c
--- a/tests/lib/libm/t_log.c    Mon Sep 12 17:45:51 2011 +0000
+++ b/tests/lib/libm/t_log.c    Mon Sep 12 18:07:29 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: t_log.c,v 1.2 2011/04/12 03:06:21 jruoho Exp $ */
+/* $NetBSD: t_log.c,v 1.3 2011/09/12 18:07:29 jruoho Exp $ */
 
 /*-
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -29,49 +29,849 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: t_log.c,v 1.2 2011/04/12 03:06:21 jruoho Exp $");
+__RCSID("$NetBSD: t_log.c,v 1.3 2011/09/12 18:07:29 jruoho Exp $");
 
+#include <atf-c.h>
+#include <stdio.h>
 #include <math.h>
 
-#include <atf-c.h>
+/*
+ * log10(3)
+ */
+ATF_TC(log10_nan);
+ATF_TC_HEAD(log10_nan, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10(NaN) == NaN");
+}
+
+ATF_TC_BODY(log10_nan, tc)
+{
+#ifndef __vax__
+       const double x = 0.0L / 0.0L;
+
+       ATF_CHECK(isnan(x) != 0);
+       ATF_CHECK(isnan(log10(x)) != 0);
+#endif
+}
+
+ATF_TC(log10_inf_neg);
+ATF_TC_HEAD(log10_inf_neg, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10(-Inf) == NaN");
+}
+
+ATF_TC_BODY(log10_inf_neg, tc)
+{
+#ifndef __vax__
+       const double x = -1.0L / 0.0L;
+       const double y = log10(x);
+
+       ATF_CHECK(isnan(y) != 0);
+#endif
+}
+
+ATF_TC(log10_inf_pos);
+ATF_TC_HEAD(log10_inf_pos, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10(+Inf) == +Inf");
+}
+
+ATF_TC_BODY(log10_inf_pos, tc)
+{
+#ifndef __vax__
+       const double x = 1.0L / 0.0L;
+
+       ATF_CHECK(log10(x) == x);
+#endif
+}
+
+ATF_TC(log10_one_pos);
+ATF_TC_HEAD(log10_one_pos, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10(1.0) == +0.0");
+}
+
+ATF_TC_BODY(log10_one_pos, tc)
+{
+#ifndef __vax__
+       const double x = log10(1.0);
+       const double y = 0.0L;
+
+       ATF_CHECK(x == y);
+       ATF_CHECK(signbit(x) == 0);
+       ATF_CHECK(signbit(y) == 0);
+#endif
+}
+
+ATF_TC(log10_zero_neg);
+ATF_TC_HEAD(log10_zero_neg, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10(-0.0) == -HUGE_VAL");
+}
+
+ATF_TC_BODY(log10_zero_neg, tc)
+{
+#ifndef __vax__
+       const double x = -0.0L;
+
+       ATF_CHECK(log10(x) == -HUGE_VAL);
+#endif
+}
+
+ATF_TC(log10_zero_pos);
+ATF_TC_HEAD(log10_zero_pos, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10(+0.0) == -HUGE_VAL");
+}
+
+ATF_TC_BODY(log10_zero_pos, tc)
+{
+#ifndef __vax__
+       const double x = 0.0L;
+
+       ATF_CHECK(log10(x) == -HUGE_VAL);
+#endif
+}
+
+/*
+ * log10f(3)
+ */
+ATF_TC(log10f_nan);
+ATF_TC_HEAD(log10f_nan, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10f(NaN) == NaN");
+}
+
+ATF_TC_BODY(log10f_nan, tc)
+{
+#ifndef __vax__
+       const float x = 0.0L / 0.0L;
+
+       ATF_CHECK(isnan(x) != 0);
+       ATF_CHECK(isnan(log10f(x)) != 0);
+#endif
+}
+
+ATF_TC(log10f_inf_neg);
+ATF_TC_HEAD(log10f_inf_neg, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10f(-Inf) == NaN");
+}
+
+ATF_TC_BODY(log10f_inf_neg, tc)
+{
+#ifndef __vax__
+       const float x = -1.0L / 0.0L;
+       const float y = log10f(x);
+
+       ATF_CHECK(isnan(y) != 0);
+#endif
+}
+
+ATF_TC(log10f_inf_pos);
+ATF_TC_HEAD(log10f_inf_pos, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10f(+Inf) == +Inf");
+}
+
+ATF_TC_BODY(log10f_inf_pos, tc)
+{
+#ifndef __vax__
+       const float x = 1.0L / 0.0L;
+
+       ATF_CHECK(log10f(x) == x);
+#endif
+}
+
+ATF_TC(log10f_one_pos);
+ATF_TC_HEAD(log10f_one_pos, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10f(1.0) == +0.0");
+}
+
+ATF_TC_BODY(log10f_one_pos, tc)
+{
+#ifndef __vax__
+       const float x = log10f(1.0);
+       const float y = 0.0L;
+
+       ATF_CHECK(x == y);
+       ATF_CHECK(signbit(x) == 0);
+       ATF_CHECK(signbit(y) == 0);
+#endif
+}
+
+ATF_TC(log10f_zero_neg);
+ATF_TC_HEAD(log10f_zero_neg, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10f(-0.0) == -HUGE_VALF");
+}
+
+ATF_TC_BODY(log10f_zero_neg, tc)
+{
+#ifndef __vax__
+       const float x = -0.0L;
+
+       ATF_CHECK(log10f(x) == -HUGE_VALF);
+#endif
+}
+
+ATF_TC(log10f_zero_pos);
+ATF_TC_HEAD(log10f_zero_pos, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log10f(+0.0) == -HUGE_VALF");
+}
+
+ATF_TC_BODY(log10f_zero_pos, tc)
+{
+#ifndef __vax__
+       const float x = 0.0L;
+
+       ATF_CHECK(log10f(x) == -HUGE_VALF);
+#endif
+}
+
+/*
+ * log1p(3)
+ */
+ATF_TC(log1p_nan);
+ATF_TC_HEAD(log1p_nan, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log1p(NaN) == NaN");
+}
+
+ATF_TC_BODY(log1p_nan, tc)
+{
+#ifndef __vax__
+       const double x = 0.0L / 0.0L;
+
+       ATF_CHECK(isnan(x) != 0);
+       ATF_CHECK(isnan(log1p(x)) != 0);
+#endif
+}
+
+ATF_TC(log1p_inf_neg);
+ATF_TC_HEAD(log1p_inf_neg, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log1p(-Inf) == NaN");
+}
+
+ATF_TC_BODY(log1p_inf_neg, tc)
+{
+#ifndef __vax__
+       const double x = -1.0L / 0.0L;
+       const double y = log1p(x);
+
+       ATF_CHECK(isnan(y) != 0);
+#endif
+}
+
+ATF_TC(log1p_inf_pos);
+ATF_TC_HEAD(log1p_inf_pos, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log1p(+Inf) == +Inf");
+}
+
+ATF_TC_BODY(log1p_inf_pos, tc)
+{
+#ifndef __vax__
+       const double x = 1.0L / 0.0L;
+
+       ATF_CHECK(log1p(x) == x);
+#endif
+}
+
+ATF_TC(log1p_one_neg);
+ATF_TC_HEAD(log1p_one_neg, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log1p(-1.0) == -HUGE_VAL");
+}
+
+ATF_TC_BODY(log1p_one_neg, tc)
+{
+#ifndef __vax__
+       const double x = log1p(-1.0);
+
+       ATF_CHECK(x == -HUGE_VAL);
+#endif
+}
+
+ATF_TC(log1p_zero_neg);
+ATF_TC_HEAD(log1p_zero_neg, tc)
+{
+       atf_tc_set_md_var(tc, "descr", "Test log1p(-0.0) == -0.0");
+}
+
+ATF_TC_BODY(log1p_zero_neg, tc)
+{
+#ifndef __vax__
+       const double x = -0.0L;
+
+       ATF_CHECK(log1p(x) == x);
+#endif
+}
+
+ATF_TC(log1p_zero_pos);
+ATF_TC_HEAD(log1p_zero_pos, tc)
+{



Home | Main Index | Thread Index | Old Index