Seshadri V wrote:
I came to that conclusion since the rise = last and
fall = last specifies only the first swing and not the swings after that.

No, in this case, last just means last one in program execution order, not in
the time scale.

al davis-13 wrote:

How about: "10% to 90%" ... the time from the 10% crossing to the last 90% crossing.



measure starttime=cross("v(out)"
cross={startvalue+(endvalue-startvalue)*0.1} rise first)

[jg] Now starttime is defined as a function of all captures of the cross 
function -- across all time scale values.

For the 90% point, you don't know whether the last one is high or low, so
try both:
measure highendtime = cross("v(out)"
cross={startvalue+(endvalue-startvalue)*1.1} fall last)
[jg]highendtime defined now (for all time scale values of the run just done)

measure lowendtime = cross("v(out)"
cross={startvalue+(endvalue-startvalue)*0.9} rise last)
[jg]lowendtime defined now (for all time scale values of the run just done)

So now the functional programming, (all in parallel), settlingtime function 
gets defined.
param settlingtime = {endtime-starttime}
eval settlingtime



Now, a reminder ... params are evaluated like in a functional language with dynamic scope.
If you think imperitive language, static scope, you may be surprised.

John Griessen
--
Ecosensory   Austin TX


_______________________________________________
Help-gnucap mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gnucap

Reply via email to