Skip to content

Commit

Permalink
Make analog function output variables have correct dependency
Browse files Browse the repository at this point in the history
In my other commits on this branch, I modified adms.implicit.xml to
propagate probe and variable dependencies from analog function
argument lists into output variables (other than the return value,
which was already handled correctly).

In doing so, I had neglected setting the "dependency" element of the
ADMS data tree on those variables, and so they were incorrectly being
set to "constant".  This led to the incorrect setting downstream of
the OPdependent element as well.

This commit correctly sets "dependency", and therefore
OPdependent (which is set later by probing "dependency").

Qucs#67
  • Loading branch information
tvrusso committed Nov 28, 2022
1 parent ed6cac8 commit eb5011f
Show file tree
Hide file tree
Showing 2 changed files with 873 additions and 0 deletions.
14 changes: 14 additions & 0 deletions admsXml/adms.implicit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,20 @@
format="%(function/name) output arg $position is %(.), must be a variable\n"/>
<admst:push into="$function/arguments[position(.)=$position]/probe" select="$function/@probe" onduplicate="ignore"/>
<admst:push into="$function/arguments[position(.)=$position]/variable" select="$function/@variable" onduplicate="ignore"/>
<admst:choose>
<admst:when test="$function/arguments/dependency[.='linear' or .='nonlinear']">
<admst:value-to select="$function/arguments[position(.)=$position]/dependency" string="nonlinear"/>
<admst:value-to select="$function/arguments[position(.)=$position]/prototype/dependency" string="nonlinear"/>
</admst:when>
<admst:when test="$function/arguments/dependency[.='noprobe']">
<admst:value-to select="$function/arguments[position(.)=$position]/dependency" string="noprobe"/>
<admst:value-to select="$function/arguments[position(.)=$position]/prototype/dependency" string="noprobe"/>
</admst:when>
<admst:otherwise>
<admst:value-to select="$function/arguments[position(.)=$position]/dependency" string="constant"/>
<admst:value-to select="$function/arguments[position(.)=$position]/prototype/dependency" string="constant"/>
</admst:otherwise>
</admst:choose>
<admst:choose>
<admst:when test="[$globalpartitionning='initial_model']">
<admst:value-to select="$function/arguments[position(.)=$position]/setinmodel" string="yes"/>
Expand Down
Loading

0 comments on commit eb5011f

Please sign in to comment.