ngspice/tests/regression/misc/alter-vec.cir

48 lines
795 B
Plaintext

* check alter @v1[pulse] = [ 1 2 3 4 5 6 ]
*
* (exec-spice "ngspice -b %s" t)
*
* see com_alter_common() in frontend/device.c
v1 1 0 dc 0.25 pulse( -1 2 3m 4u 5u 6m 7m)
.control
op
let vec1 = @v1[pulse]
compose gold1 values -1 2 3m 4u 5u 6m 7m
let err1 = vecmax(abs(vec1/gold1 - 1))
alter @v1[pulse] = [ 2 5 11n 12n 13n 54n 105n ]
let vec2 = @v1[pulse]
compose gold2 values 2 5 11n 12n 13n 54n 105n
let err2 = vecmax(abs(vec2/gold2 - 1))
echo "Note: err1 = " $&err1
echo "Note: err2 = " $&err2
let success = 0
if err1 > 1e-15
echo "ERROR: test1 failed, excessive error"
else
let success = success + 1
end
if err2 > 1e-15
echo "ERROR: test2 failed, excessive error"
else
let success = success + 1
end
if success eq 2
echo "INFO: success"
quit 0
else
quit 1
end
.endc