X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.core%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fcore%2Fcomponents%2Fgates%2FCoreXorGate.java;fp=plugins%2Fnet.mograsim.logic.core%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fcore%2Fcomponents%2Fgates%2FCoreXorGate.java;h=8bc9893406c8c5264a21db3cf471e0d6f6c215f1;hb=7d05144c25daa53e60fc9ed9fd503546a86567f8;hp=0000000000000000000000000000000000000000;hpb=8bed58cd47f4e53a0a83e066d38864aa6875502f;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/CoreXorGate.java b/plugins/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/CoreXorGate.java new file mode 100644 index 00000000..8bc98934 --- /dev/null +++ b/plugins/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/CoreXorGate.java @@ -0,0 +1,20 @@ +package net.mograsim.logic.core.components.gates; + +import net.mograsim.logic.core.timeline.Timeline; +import net.mograsim.logic.core.types.BitVector.BitVectorMutator; +import net.mograsim.logic.core.wires.CoreWire.ReadEnd; +import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; + +/** + * Outputs 1 when the number of 1 inputs is odd. + * + * @author Fabian Stemmler + */ +public class CoreXorGate extends MultiInputCoreGate +{ + public CoreXorGate(Timeline timeline, int processTime, ReadWriteEnd out, ReadEnd... in) + { + super(timeline, processTime, BitVectorMutator::xor, out, in); + } + +}