Browse Source

tests/regression/temper, several issues with `temper' in model parameters

pre-master-46
rlar 11 years ago
parent
commit
8a65e97c2f
  1. 1
      configure.ac
  2. 2
      tests/regression/Makefile.am
  3. 12
      tests/regression/temper/Makefile.am
  4. 37
      tests/regression/temper/temper-1.cir
  5. 1
      tests/regression/temper/temper-1.out
  6. 44
      tests/regression/temper/temper-2.cir
  7. 1
      tests/regression/temper/temper-2.out
  8. 40
      tests/regression/temper/temper-3.cir
  9. 1
      tests/regression/temper/temper-3.out

1
configure.ac

@ -1175,6 +1175,7 @@ AC_CONFIG_FILES([Makefile
tests/regression/func/Makefile tests/regression/func/Makefile
tests/regression/model/Makefile tests/regression/model/Makefile
tests/regression/misc/Makefile tests/regression/misc/Makefile
tests/regression/temper/Makefile
tests/regression/pz/Makefile tests/regression/pz/Makefile
tests/sensitivity/Makefile tests/sensitivity/Makefile
tests/transient/Makefile tests/transient/Makefile

2
tests/regression/Makefile.am

@ -1,5 +1,5 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
SUBDIRS = lib-processing parser subckt-processing func model misc pz
SUBDIRS = lib-processing parser subckt-processing func model misc temper pz
MAINTAINERCLEANFILES = Makefile.in MAINTAINERCLEANFILES = Makefile.in

12
tests/regression/temper/Makefile.am

@ -0,0 +1,12 @@
## Process this file with automake to produce Makefile.in
TESTS = temper-1.cir temper-2.cir temper-3.cir
TESTS_ENVIRONMENT = ngspice_vpath=$(srcdir) $(SHELL) $(top_srcdir)/tests/bin/check.sh $(top_builddir)/src/ngspice
EXTRA_DIST = \
$(TESTS) \
$(TESTS:.cir=.out)
MAINTAINERCLEANFILES = Makefile.in

37
tests/regression/temper/temper-1.cir

@ -0,0 +1,37 @@
regression test temper-1.cir, 'temper' in a model parameter
* check inp_evaluate_temper() processing
.model dplain d is='temper+1000'
D1 1 0 dplain
.control
let success_count = 0
op
let val = @dplain[is]
let gold = 1000 + 27.0
let err = abs(val/gold - 1)
echo "Note: err =" $&err
if err > 1e-12
echo "ERROR: test failed"
else
echo "INFO: success"
let success_count = success_count + 1
end
if success_count ne 1
quit 1
else
quit 0
end
.endc
.end

1
tests/regression/temper/temper-1.out

@ -0,0 +1 @@
INFO: success

44
tests/regression/temper/temper-2.cir

@ -0,0 +1,44 @@
regression test temper-2.cir, temper sweep with 'temper' in a model parameter
* check invocation of CKTtemp() in DCtrCurv()
.model dtest D is='1e-12 * temper'
.model dfix D is='1e-12'
v1 1 0 dc 5v
r1 1 2 5k
d_test 2 3 dtest
v_test 3 0 dc=0
d_fix 2 4 dfix
v_fix 4 0 dc=0
.control
let success_count = 0
dc temp 10 100 10.0
let val = i(v_test)/i(v_fix)
let gold = "temp-sweep"
let err = vecmax(abs(val/gold - 1))
echo "Note: err =" $&err
if err > 1e-6
echo "ERROR: test failed"
else
echo "INFO: success"
let success_count = success_count + 1
end
if success_count ne 1
quit 1
else
quit 0
end
.endc
.end

1
tests/regression/temper/temper-2.out

@ -0,0 +1 @@
INFO: success

40
tests/regression/temper/temper-3.cir

@ -0,0 +1,40 @@
regression test temper-3.cir, temper sweep with 'temper' in a model parameter
* check invocation of CKTtemp() in DCtrCurv()
* and for proper instance update in REStemp()
.model rtest r r='1000 + temper'
.model rfix r r='1000'
v1 1 0 dc 5v
r_test 1 0 rtest
.control
let success_count = 0
dc temp 10 100 10.0
let val = -v(1)/i(v1) - 1000
let gold = "temp-sweep"
let err = vecmax(abs(val/gold - 1))
echo "Note: err =" $&err
if err > 1e-12
echo "ERROR: test failed"
else
echo "INFO: success"
let success_count = success_count + 1
end
if success_count ne 1
quit 1
else
quit 0
end
.endc
.end

1
tests/regression/temper/temper-3.out

@ -0,0 +1 @@
INFO: success
Loading…
Cancel
Save