tests/regression/temper, several issues with `temper' in model parameters
This commit is contained in:
parent
0f07546db9
commit
8a65e97c2f
|
|
@ -1175,6 +1175,7 @@ AC_CONFIG_FILES([Makefile
|
|||
tests/regression/func/Makefile
|
||||
tests/regression/model/Makefile
|
||||
tests/regression/misc/Makefile
|
||||
tests/regression/temper/Makefile
|
||||
tests/regression/pz/Makefile
|
||||
tests/sensitivity/Makefile
|
||||
tests/transient/Makefile
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
## 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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
INFO: success
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
INFO: success
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
INFO: success
|
||||
Loading…
Reference in New Issue