Comparison of "Everything" signal with a specific signal
Comparison of "Everything" signal with a specific signal
I have tryed to found explanation how "Everything" signal is compared with a specific signal (not just with a value) in a decider combinator but unsuccesfully.
Very simple circuit:
1. Constant combinator with arbitrary signal having any value (for example, A = 5)
2. Decider combinator with next settings:
- condition "Everything" less than that signal (in this case "Everything" < A)
- output "Everything"
I was wondered that the signal was transfered to output of the decider combinator.
So it means that when "Everything" is compared with a signal (not a value), in fact this virtual signal implies "every signal except signal that they are compared with". Is it correct assumption?
Very simple circuit:
1. Constant combinator with arbitrary signal having any value (for example, A = 5)
2. Decider combinator with next settings:
- condition "Everything" less than that signal (in this case "Everything" < A)
- output "Everything"
I was wondered that the signal was transfered to output of the decider combinator.
So it means that when "Everything" is compared with a signal (not a value), in fact this virtual signal implies "every signal except signal that they are compared with". Is it correct assumption?
- Attachments
-
- everything_compared_with_signal.jpg (666.99 KiB) Viewed 4480 times
Last edited by Artyom on Mon Jul 27, 2020 10:47 pm, edited 1 time in total.
Re: "Everything" signal compared with a specific signal
Using Everything on the output side means the decider will output all signals that exist on the input side if the condition is true. The value of the output signals depends on the radio button setting.
Re: "Everything" signal compared with a specific signal
Not exactly. Add a B= 4 signal to the constant combinator, and you will see it outputs A and B.
If you want to output everything but the control signal, you have to use EACH in input and output, and use an exclusive condition, like > A, < A, ≠ A.
If you want to output everything but the control signal, you have to use EACH in input and output, and use an exclusive condition, like > A, < A, ≠ A.
Re: "Everything" signal compared with a specific signal
Guys, you didn't understand.
There is the only one signal A that has value 5.
Condition is "check if every signal is less than A".
How do you think what result of "A < A" comparison is? True?! No, it is false. So there should be no signal at the output at all.
There is the only one signal A that has value 5.
Condition is "check if every signal is less than A".
How do you think what result of "A < A" comparison is? True?! No, it is false. So there should be no signal at the output at all.
Re: Comparison of "Everything" signal with a specific signal
Correct me if I’m wrong (don’t have Factorio up and running right now) but there are more than one “catch all” signals here.
Anything
Each
TC, I want to say that “Anything < A” will be true if any signal is less than the value of A, in this case, 5. So it will output whatever you tell it to if any of the input signals is less than 5.
“Each < A, Each” should filter out anything greater than 5.
I’m no circuit guru though; my uses so far have simply been to control train stations and oil cracking, as well as (pre-logistics network) the output of a machine into a box.
Anything
Each
TC, I want to say that “Anything < A” will be true if any signal is less than the value of A, in this case, 5. So it will output whatever you tell it to if any of the input signals is less than 5.
“Each < A, Each” should filter out anything greater than 5.
I’m no circuit guru though; my uses so far have simply been to control train stations and oil cracking, as well as (pre-logistics network) the output of a machine into a box.
Re: Comparison of "Everything" signal with a specific signal
It is not comparing A < A, It is comparing A against everything including "no signal".
The "Everything" signal includes "no signal" (everything is nothing). No signal < A (yes, weird). This makes the condition true, and the combinator outputs everything. A is the only signal on the combinator, so it outputs A.
The "Everything" signal includes "no signal" (everything is nothing). No signal < A (yes, weird). This makes the condition true, and the combinator outputs everything. A is the only signal on the combinator, so it outputs A.
Re: Comparison of "Everything" signal with a specific signal
The combinator should compare A with A because "Everything" signal should include A signal itself.disentius wrote: ↑Tue Jul 28, 2020 8:14 am It is not comparing A < A, It is comparing A against everything including "no signal".
The "Everything" signal includes "no signal" (everything is nothing). No signal < A (yes, weird). This makes the condition true, and the combinator outputs everything. A is the only signal on the combinator, so it outputs A.
"Everything" < A means that every signal is compared with signal A including this signal.
Since there is signal A only, it is compared with itself only.
Because A < A is false, there shouldn't be any signal in the output.
Is it hard to understand?
P.S. Are there any devs here?
Re: Comparison of "Everything" signal with a specific signal
If you think it is a bug, make a a bug report. This is the help forum, so i told you how it actually works:)
https://wiki.factorio.com/Decider_combinator
[edit] you are describing the behaviour of the "each" wildcard.
https://wiki.factorio.com/Decider_combinator
[edit] you are describing the behaviour of the "each" wildcard.
Re: Comparison of "Everything" signal with a specific signal
So "EVERYTHING > {signal}" excludes {signal} from the comparison, interesting. If {signal} would be included in the comparison the comparison would always be a constant TRUE or FALSE depending on the comparison operator, which really isn't very useful.Artyom wrote: ↑Tue Jul 28, 2020 8:56 am The combinator should compare A with A because "Everything" signal should include A signal itself.
"Everything" < A means that every signal is compared with signal A including this signal.
Since there is signal A only, it is compared with itself only.
Because A < A is false, there shouldn't be any signal in the output.
I think this is a corner case behavior where the devs went with a behavior that's useful rather than a behavior that's logically consistent with the "everything" terminology.
Re: Comparison of "Everything" signal with a specific signal
The decider has to ignore the input signal if set on the right side of your condition when using Anything or Everything. Otherwise any Anything comparison using equal would always be true and any Everything comparison using operators that do not include equal would always be false and you lose the ability to build any conditions that do not use constant values on the right of the condition.
Re: Comparison of "Everything" signal with a specific signal
Read the pop-up from the "everything" signal.
As Loewchen said, A ignores itself in the comparison (it doesn't count as input for everything).
Everything gives true because there are no inputs.
The combinator outputs everything, -> A. (and that part is not intuitive, imo)
It is true when there are no inputs.As Loewchen said, A ignores itself in the comparison (it doesn't count as input for everything).
Everything gives true because there are no inputs.
The combinator outputs everything, -> A. (and that part is not intuitive, imo)
Re: Comparison of "Everything" signal with a specific signal
This is what I have tryed to clarify but some "experts" haven't wanted to understand what I have wrote in the first post and tryed to show themselves.Yoyobuae wrote: ↑Tue Jul 28, 2020 4:04 pmSo "EVERYTHING > {signal}" excludes {signal} from the comparison, interesting. If {signal} would be included in the comparison the comparison would always be a constant TRUE or FALSE depending on the comparison operator, which really isn't very useful.Artyom wrote: ↑Tue Jul 28, 2020 8:56 am The combinator should compare A with A because "Everything" signal should include A signal itself.
"Everything" < A means that every signal is compared with signal A including this signal.
Since there is signal A only, it is compared with itself only.
Because A < A is false, there shouldn't be any signal in the output.
I think this is a corner case behavior where the devs went with a behavior that's useful rather than a behavior that's logically consistent with the "everything" terminology.
Re: Comparison of "Everything" signal with a specific signal
Thank you for the answer. This is what I've wanted to be confirmed because there is no info on Wiki about such case. Examples show usage of a constant value.Loewchen wrote: ↑Tue Jul 28, 2020 4:10 pm The decider has to ignore the input signal if set on the right side of your condition when using Anything or Everything. Otherwise any Anything comparison using equal would always be true and any Everything comparison using operators that do not include equal would always be false and you lose the ability to build any conditions that do not use constant values on the right of the condition.
I think this behavior should be described on Wiki. But you also haven't understood the case and written meaningless answer first time.
Re: Comparison of "Everything" signal with a specific signal
Your answer are useless as before. I've read the pop-up and it tells nothing about what I've asked.disentius wrote: ↑Tue Jul 28, 2020 5:34 pm Read the pop-up from the "everything" signal.
Everything descr.png
It is true when there are no inputs.
As Loewchen said, A ignores itself in the comparison (it doesn't count as input for everything).
Everything gives true because there are no inputs.
The combinator outputs everything, -> A. (and that part is not intuitive, imo)
Re: Comparison of "Everything" signal with a specific signal
You might want to switch to a different tone when talking to those trying to help you. The fact that two people failed to understand you question until you edited your original post could give you insight on why the answers you get are useless to you.
Re: Comparison of "Everything" signal with a specific signal
The popup does give the wrong impression, though.
Re: Comparison of "Everything" signal with a specific signal
Yep. it could be explained better.
Re: Comparison of "Everything" signal with a specific signal
You could make a bug report, but since I can not think of any situation the "correct" behavior would be of use, explaining the exception that no one noticed for years in the popup seems more confusing than helpful.
Re: Comparison of "Everything" signal with a specific signal
I haven't edited my first post at all, only the topic. It is hard to name it "help" when someone doesn't understand what is going on.