diff --git a/tests/regression/misc/Makefile.am b/tests/regression/misc/Makefile.am index 4390645e6..df99688cc 100644 --- a/tests/regression/misc/Makefile.am +++ b/tests/regression/misc/Makefile.am @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -TESTS = bugs-1.cir dollar-1.cir empty-1.cir resume-1.cir +TESTS = bugs-1.cir dollar-1.cir empty-1.cir resume-1.cir log-functions-1.cir TESTS_ENVIRONMENT = ngspice_vpath=$(srcdir) $(SHELL) $(top_srcdir)/tests/bin/check.sh $(top_builddir)/src/ngspice diff --git a/tests/regression/misc/log-functions-1.cir b/tests/regression/misc/log-functions-1.cir new file mode 100644 index 000000000..a9a2eef79 --- /dev/null +++ b/tests/regression/misc/log-functions-1.cir @@ -0,0 +1,63 @@ +regression test for log, log10 and ln + +* (exec-spice "ngspice -b %s" t) + +v1 1 0 dc 2.7 + +vn1 n1 0 'ln(2.7)' +vn2 n2 0 'log(2.7)' +vn3 n3 0 'log10(2.7)' + +bb1 b1 0 v = ln(v(1)) +bb2 b2 0 v = log(v(1)) +bb3 b3 0 v = log10(v(1)) + +.control + +op + +let success = 0 + +compose numparm values v(n1) v(n2) v(n3) +compose asrc values v(b1) v(b2) v(b3) +compose ctrl values ln(2.7) log(2.7) log10(2.7) + +compose gold values 0.9932517730102834 0.9932517730102834 0.43136376415898736 + +let numparm_err = vecmax(abs(numparm/gold - 1)) +let asrc_err = vecmax(abs(asrc/gold - 1)) +let ctrl_err = vecmax(abs(ctrl/gold - 1)) + +echo "Note: numparm_err = " $&numparm_err +echo "Note: asrc_err = " $&asrc_err +echo "Note: ctrl_err = " $&ctrl_err + +if numparm_err > 1e-15 + echo "ERROR: test failed, numparm, excessive error" +else + let success = success + 1 +end + +if asrc_err > 1e-15 + echo "ERROR: test failed, asrc, excessive error" +else + let success = success + 1 +end + +if ctrl_err > 1e-15 + echo "ERROR: test failed, control, excessive error" +else + let success = success + 1 +end + + +if success eq 3 + echo "INFO: success" + quit 0 +else + quit 1 +end + +.endc + +.end diff --git a/tests/regression/misc/log-functions-1.out b/tests/regression/misc/log-functions-1.out new file mode 100644 index 000000000..8e9036969 --- /dev/null +++ b/tests/regression/misc/log-functions-1.out @@ -0,0 +1 @@ +INFO: success