48 lines
795 B
Plaintext
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
|