Commit Graph

5257 Commits

Author SHA1 Message Date
h_vogt 13f8991cb9 patch no. 16 by Thomy add a function cm_get_circuit to allow accessing the circuit structure ckt from within an XSPICE code model. This is a change to the interface and requires recopiling all code models! 2017-04-23 19:33:52 +02:00
h_vogt 7058be3055 bug no. 291: allow let xyz = [] let xyz = [3 -5.6 9] let xyz = [5 $rr -7.9] 2017-04-23 19:33:52 +02:00
h_vogt fd56e45d70 example file for current measurement with function i(device) 2017-04-23 19:33:52 +02:00
h_vogt b47f103a9a Add current measurement for device XYZ using I(XYZ) 2017-04-23 19:33:51 +02:00
h_vogt 83b8526f65 examples/various: tests and loops using alterparam 2017-04-23 19:33:51 +02:00
h_vogt eb73fd3c0b new command 'alterparam', to be used in conjunction with 'mc_source'
add command 'alterparam paramname=pvalue'
  to change a global .param

add command 'alterparam subcktname pname=vpval'
  to change a parameter inside of a subcircuit
2017-04-23 19:33:51 +02:00
h_vogt af5efab91f new command 'mc_source' to internally reload circuit
We store a copy of the whole deck in 'mc_deck'.
'mc_source' can be used to re-read this copy.
2017-04-23 19:33:51 +02:00
h_vogt 8c8a236fa1 subckt.c, introduce new function inp_deckcopy_oc()
copy a deck
  without li_actual,
  without comment lines
  without .control section
2017-04-23 19:33:51 +02:00
rlar ca2af5b7b9 whitespace 2017-04-23 19:33:51 +02:00
rlar 97f3801bbd inpcom.c, abstraction, introduce bogus_find_subckt()
extracted from inp_fix_inst_calls_for_numparam().
This code is and was evil, as it does not respect scoping rules.
2017-04-23 19:33:51 +02:00
rlar 7337701734 a rough test 2017-04-23 19:33:51 +02:00
rlar bbe4fe4df3 inpcom.c, inp_add_control_section(), upside down for readability 2017-04-23 19:33:50 +02:00
rlar 54641d24d3 inpcom.c, inp_reorder_params_subckt(), use inp_sort_params() 2017-04-23 19:33:50 +02:00
rlar d4a47c1f7b inpcom.c, inp_reorder_params_subckt(), introduce insert_deck() 2017-04-23 19:33:50 +02:00
rlar 53e83cdee3 inpcom.c, inp_reorder_params_subckt(), reorder 2017-04-23 19:33:50 +02:00
rlar f1380ab114 inpcom.c, drop unused artefact xx_new_line() 2017-04-23 19:33:50 +02:00
rlar 6d87c4c2eb inpcom.c, complete insert_new_line() 2017-04-23 19:33:50 +02:00
rlar fd493ab59c inpcom.c, inp_fix_subckt(), drop redundant initialisations 2017-04-23 19:33:50 +02:00
rlar 56e3881142 inpcom.c, inp_fix_subckt(), drop 'last_param_card' 2017-04-23 19:33:50 +02:00
rlar 25d512aa3e inpcom.c, inp_fix_subckt(), use insert_new_line 2017-04-23 19:33:49 +02:00
rlar 95a28252f2 inpcom.c, inp_fix_subckt(), rewrite appending to the tail 2017-04-23 19:33:49 +02:00
rlar 5bf064b034 inpcom.c, extend insert_new_line() to allow NULL head 2017-04-23 19:33:49 +02:00
rlar 339539c0c9 inpcom.c, introduce insert_new_line() 2017-04-23 19:33:49 +02:00
rlar c213391bc3 inpcom.c, expand_section_ref(), cleanup 2017-04-23 19:33:49 +02:00
rlar 7af4421a50 inpcom.c, expand_section_ref(), drop 'rest' 2017-04-23 19:33:49 +02:00
rlar 8888be7eae inpcom.c, expand_section_ref(), drop 'newl' 2017-04-23 19:33:49 +02:00
rlar f9ad655bb6 inpcom.c, expand_section_ref(), drop 'cend', use 'c' instead 2017-04-23 19:33:49 +02:00
rlar 942640ba5c inpcom.c, expand_section_ref(), simplify 2017-04-23 19:33:49 +02:00
rlar ab76b8d12c inpcom.c, expand_section_ref(), cend != NULL => t != section_def 2017-04-23 19:33:48 +02:00
rlar c809e15dc1 inpcom.c, inp_read(), rewrite 2017-04-23 19:33:48 +02:00
rlar be5a4809ae inpcom.c, inp_read(), rewrite appending to the tail 2017-04-23 19:33:48 +02:00
rlar 8926cda427 inpcom.c, inp_stitch_continuation_lines(), prepare 2017-04-23 19:33:48 +02:00
rlar 17ffad7f2b inpcom.c, inp_add_series_resistor(), simplify and drop 'd' 2017-04-23 19:33:48 +02:00
rlar 372c4ba8a2 inpcom.c, inp_add_series_resistor(), reorder 2017-04-23 19:33:48 +02:00
rlar 2ce71c10ef inpcom.c, inp_add_series_resistor(), reorder
deploy value for 'd->li_next' in the li_next slot and fetch from there
2017-04-23 19:33:48 +02:00
rlar 0d17fffb00 inpcom.c, inp_add_series_resistor(), fill li_next slot yourself 2017-04-23 19:33:48 +02:00
rlar 84b66b6728 inpcom.c, inp_add_control_section(), transform 2017-04-23 19:33:47 +02:00
rlar ec3198b1a9 inpcom.c, inp_add_control_section(), emphasise two assertions 2017-04-23 19:33:47 +02:00
rlar 5cd88a3fc5 inpcom.c, inp_chk_for_multi_in_vcvs(), drop 'model_card', and finish off the other two too 2017-04-23 19:33:47 +02:00
rlar 8d2f63107d inpcom.c, inp_chk_for_multi_in_vcvs(), drop 'next_card', deploy its value temporarily in the new line li_next slot 2017-04-23 19:33:47 +02:00
rlar fb4722ffca inpcom.c, inp_chk_for_multi_in_vcvs(), drop 'a_card', reuse the unused 'c' instead 2017-04-23 19:33:47 +02:00
rlar e6c0ddf238 inpcom.c, inp_chk_for_multi_in_vcvs(), xx_new_line() shall fill the li_next slot 2017-04-23 19:33:47 +02:00
rlar 76d45af765 inpcom.c, inp_chk_for_multi_in_vcvs(), move code downwards 2017-04-23 19:33:47 +02:00
rlar d76cf964c5 inpcom.c, inp_chk_for_multi_in_vcvs(), skip lines 2017-04-23 19:33:47 +02:00
rlar 15c56a1bcc inpcom.c, drop 'new_line' 2017-04-23 19:33:46 +02:00
rlar 9e89d8c4bf inpcom.c, simplify the insertion of new lines quite a bit. 2017-04-23 19:33:46 +02:00
rlar b81dab07f9 inpcom.c, reorder initialisation
initialise param_beg and param_end before they will be used,
  instead of "afterwards" in preparation for the next following usage.
and move the "comment out" up some lines, think that way:
  comment out original line, append new line, ...
2017-04-23 19:33:46 +02:00
h_vogt c5df31975f misccoms.c, exit immediately, if not shared ngspice,
do exit only after cleaning all memory if 'set ngdebug' is given.
2017-04-23 19:33:37 +02:00
rlar 58dfc6cf91 inpgmod.c, plug a memory hole
Reported and fixed by Marek Bielik in message:
  Subject: [Ngspice-devel] Memory leaks fix
  Date: Tue, 18 Apr 2017 16:16:21 +0000
2017-04-23 19:33:30 +02:00
rlar 6f7b68945d tests/regression/sens, fix test cases
which have been invalidated by commit:
ifparm, #4/16, missing IF_REDUNDANT for some aliases, introduce IOPAPR

before this commit, sensitivity to "capacitance" was published twice,
  once with name "c1"  (reference name of a CAP device)
  and as "c1_c" (reference name of a CAP concatenated with param name "c")
after said commit, sensitivity is no longer published as "c1_c"
  (because "c" is only an "alias"/IF_REDUNDANT of the main parameter
   which is named "capacitance", and "capacitance" is a IF_PRINCIPAL
   and thus avoids "concatenation" of the parameter name)
2017-04-21 18:52:43 +02:00