Page 1 of 1

Combinator Each result should exclude right hand argument

Posted: Fri May 12, 2017 8:21 pm
by justarandomgeek
Fairly often, when workign with Each operations, I end up building something that looks like this:

Image

Here, I take a set of signals in, plus a modifier on one signal, and apply that modifier to the whole set. However, due to the nature of combinators, this also means that the modifier is applied to itself, usually resulting in an extra undesired signal on the output, which must then be removed, requiring two additional combinators and an extra tick.

I'm curious how often others do this, and if it might be better to have Each in the output exclude the signal used as a second argument to arithmetic combinators?

Re: Combinator Each result excluding right hand argument signal

Posted: Fri May 12, 2017 11:55 pm
by quyxkh
I do the E2E*black too, as part of numerator*capacity/denominator calc, and just ignore the no-longer-needed capacity signal. Why bother clearing it? Nothing downstream cares.

Re: Combinator Each result excluding right hand argument signal

Posted: Sat May 13, 2017 1:11 am
by justarandomgeek
quyxkh wrote:I do the E2E*black too, as part of numerator*capacity/denominator calc, and just ignore the no-longer-needed capacity signal. Why bother clearing it? Nothing downstream cares.
In my case, I use Black all over the place as reset signals and address signals, so it needs to be clear for the next "special" use - i'm admittedly a *very* edge case, but I suspect that everyone that uses Each outputs does one of two things with the usually nonsensical second-arg output: Ignore it, or clear it. If this is in fact the case, it seems like it would be better to not output it at all!

Does anyone actually *use* the secondarg output?

Re: Combinator Each result excluding right hand argument signal

Posted: Sat May 13, 2017 2:57 am
by Dimanper
Oh gosh, i always hate all those little things trying to stole ticks of work from my network. This in particular was always a strange thing to me: why would anyone want to get black^2 from this condition? And even if someone would, it's easy to just set black^2=black arithmetic combinator in parallel. It's 1 combinator less and it doesn't STOLE MY PRECIOUS TICKS from argument input or/and main input. At least developers gave me != with .15 as well as few other qol things...

Re: Combinator Each result excluding right hand argument signal

Posted: Sat May 13, 2017 4:48 am
by justarandomgeek
Dimanper wrote: At least developers gave me != with .15 as well as few other qol things...
This actually raises another point: * is one of the few cases where the resulting operation even makes sense!
  • Each + black becomes 2*black
  • Each - black cancels out nicely
  • Each * black becomes black^2
  • Each / black always produces 1
  • Each ^ black becomes black^black = black↑↑2
  • Each | black produces black|black = black
  • Each & black produces black&black = black
  • Each xor black cancels out nicely
  • Each << black produces black<<(black%32)
  • Each >> black produces black>>(black%32)
None of these make sense as members of the set the Each operation represents in their respective cases, and some of them just plain don't make sense to do in the first place.