Filter Combinator
A combinator that uses the red and green networks as separate inputs to an operation to produce separate output values for the red and green networks.What?
I propose a new filter combinator. This combinator would take the red and green networks as separate inputs (not added together) and an operation and produce separate red and green outputs. Each operation would have the green network act on the red network to produce red output and have the red act on the green to produce green output. For example the subtract operation would subtract green from red to produce new red values and subtract red from green to produce new green values.Each operation would use one of two methods to produce its output, the normal mode (N) would be to use the current value if the other network’s was zero otherwise apply the operation. In filter mode (F) the default value is zero if the other network’s was zero otherwise apply the operation. Filter mode is used for any operation if using normal mode would produce the same output values on both networks.
Operations:
Subtract (N)- subtract one network from the other.
Multiply (N)- multiply non-zero values on one network by the other
Divide (N)- divide non-zero values on one network from the other.
Minimum (N)- a non-zero value on the other network that is less than the value on the current network is used otherwise the value from current network is used. A negative value on the other network may be used as the minimum but a zero value can’t (the value of the current network would be used).
Maximum (N)- maximum non-zero value is used. A zero value on the current network is larger than a negative value on the other but a zero on the other network would be ignored (the negative on the current network would be used).
Exchange (N)- use non-zero values from the other network, when the other network has a zero value the value on the current network is used.
Bit ops (and/or/xor) (N)- performs operation when other network is non-zero otherwise retains value from current network.
Filter (F)- non-zero values on one network would pass the value of the matching symbols of other network. Example: a non-zero green iron ore would pass the red iron ore value but a zero green copper ore would produce zero red copper ore.
Addition (F)- Add the values of the two networks together but if the other network’s value is zero produce a zero value.
All operations would take one tick.
Suggest a separate blue science technology.
Recipe contains red circuit and/or other combinators.
Combinator size should be 1x2.