pulse again

Felix Salfelder <[email protected]>
Newsgroups gmane.comp.gnu.gnucap.devel
Message-ID <[email protected]>
Hi Al.

bm_pulse.{1,2,3}.ckt contains

Y1   2  3  pulse iv=20u pv=0 delay=500n period=1u
Y2   3  0  pulse iv=0 pv=20u delay=500n period=1u

but, this doesn't seem to work as intended. the period argument is
"ignored".

this apparently goes back to a fix in bm_pulse.cc, commit 8d51d947799.

- time = fmod(time,_period);
+ //time = fmod(time,_period);
+ if (time > _delay) {
+	time = fmod(time - _delay, _period) + _delay;
+ }

the rebased fmod looks much better, but changes the interpretation
slightly (intended?). now the Y's are missing a width=500n.

maybe it even makes sense to have

if (_period.has_hard_value() &&
		_delay.has_hard_value() &&
		!_width.has_hard_value()) { untested();
	_width = _period - _delay - _fall - _rise;
}

somewhere during precalc...

regards
felix
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.