Fairly often, when workign with Each operations, I end up building something that looks like this:
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?
Combinator Each result should exclude right hand argument
Moderator: ickputzdirwech
-
- Filter Inserter
- Posts: 302
- Joined: Fri Mar 18, 2016 4:34 pm
- Contact:
Combinator Each result should exclude right hand argument
Last edited by justarandomgeek on Wed May 24, 2017 8:22 pm, edited 1 time in total.
Re: Combinator Each result excluding right hand argument signal
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.
-
- Filter Inserter
- Posts: 302
- Joined: Fri Mar 18, 2016 4:34 pm
- Contact:
Re: Combinator Each result excluding right hand argument signal
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!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.
Does anyone actually *use* the secondarg output?
Re: Combinator Each result excluding right hand argument signal
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...
-
- Filter Inserter
- Posts: 302
- Joined: Fri Mar 18, 2016 4:34 pm
- Contact:
Re: Combinator Each result excluding right hand argument signal
This actually raises another point: * is one of the few cases where the resulting operation even makes sense!Dimanper wrote: At least developers gave me != with .15 as well as few other qol things...
- 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)