Page 1 of 1

Convert signal type using decider combinators

Posted: Sat Feb 11, 2017 12:01 pm
by kiloliuton
I am learning the circuit network logic and I am confused by the behaviour of decider combinators.
I am trying to convert a signal A with count(A)=5 into a signal B with the same count by using a decider combinator with settings: "output B with input count" and condition "count(A) > 0". But the thing is, when I hook the decider's output to a belt with condition "enable when count(B)>2" it doesn't activate at all. The only situation when I managed it to work is when the ouput from the decider is of the same type as its input. For instance, this setup worked fine: decider with conditions "output A with input count" and "count(A)>0" and the belt set to "enable when count(A)>2".

My question then is, was the ability of deciders to convert signal types removed from the game? Why doesn't it work if that is not the case? From what I read about deciders in this post viewtopic.php?f=18&t=14556 it should be rather straigth forward to convert signal A to signal B with the same count, but I have not managed to get it working, which is kind of frustrating. Can someone please explain what is happening?

Thanks in advance.

edit: I am using version 0.14.22 on linux in case this is a bug.

Re: Convert signal type using decider combinators

Posted: Sat Feb 11, 2017 8:25 pm
by SchorschieMaster
Hi,

use an arithmetic combinator instead.

Set it to Input A multiplied by one
Set output to B

This will change the signal type from A to B

Re: Convert signal type using decider combinators

Posted: Sat Feb 11, 2017 9:25 pm
by kiloliuton
Hi, thanks for the response!
I actually did exactly as you said, but why does the decider does no work? Is it a bug or is this intended behaviour? I find it very strange that it allows you to choose a different output signal AND still let you choose the "input count" option. If it is intended that the decider can only ouput '1' when using a different signal than the input, that option should be greyed out, it is very confusing as it is. Should I file a bug report?

Re: Convert signal type using decider combinators

Posted: Sun Feb 12, 2017 9:46 am
by TI-89
No, this is intentional. Think of it like this: if you want to change a value (i.e. with arithmetical operators) use an arithmetic combinator; if you want to read/evaluate a signal, use decider combinator.

The reason it works this way is that the decider combinator can have multiple input values. I'm having trouble thinking of a practical example atm, I'll edit if I think of one. But basically imagine you have a circuit network with A=10 and B=100. If A is equal to 10 (as it is), then you want to output B ( = 100 ) and presumably do some logic with that using more combinators.

But if B has no input value (or equivalently, an input value of zero), as in your case, then nothing is output.

So to put it another way, decider combinator is "passive" in that it will pass along signals but not set or modify them. So with the decider your set up is: A=5 * -> if A == 5 output B. Since B is 0 the output is empty. With the arithmetic you have: A=5 -> if A == 5 then SET B = 5 -> output B.

*This is implied as zero is treated as "empty" signal. So having signal with value 0 is the same as no signal.

Re: Convert signal type using decider combinators

Posted: Sun Feb 12, 2017 11:31 am
by kiloliuton
I get your answer and it could make sense, even though the phrasing ingame as well as in forum posts word the deciders behaviour implying it can copy an inputs signal count to any output:
"If the output type doesn't match the left type in the condition, then when true, it basically converts the signal to the specified output type."-From combinators 101 post
"Copy the count of the specified output signal from the input signals"-ingame

But even if what you stated is correct, the decider's behaviour is inconsistent. For instance, if A=10 and B=0 at the decider's input, I can still set B=1 at the output by using the "output 1" option instead of the "use input count". The inconsistency is that a decider is not passive if you output 0 or 1, but it becomes passive just in the case of using "use input count" mode, where it won't actually copy the inputs signal count to the output signal. In other words, you can change any input signal type A into any other output signal type B but only if you output a boolean (0 or 1) and not if you output as "input count".

Re: Convert signal type using decider combinators

Posted: Sun Feb 12, 2017 11:43 am
by DaveMcW

Re: Convert signal type using decider combinators

Posted: Sun Feb 12, 2017 11:58 am
by kiloliuton
I managed to find some posts (viewtopic.php?f=23&t=32891&p=207283&hil ... nt#p207283) and the previous posted one and I get it now.
The decider indeed cannot change signal types except for the case of a boolean output. I believe the tooltip ingame for this functionality could use some rephrasing.

Thanks,

Re: Convert signal type using decider combinators

Posted: Tue Feb 14, 2017 9:35 am
by TI-89
Yeah I wasn't thinking about boolean output when I said they're passive. That's a good point.
I think some sort of tutorial is in the works, atm there is very little intro to circuits in the game. (Of course, there is a fantastic community forum to fill the gap in the mean time!)