All Packages Class Hierarchy This Package Previous Next Index
Class jcsp.util.buildingblocks.ints.XorInt
java.lang.Object
|
+----jcsp.util.buildingblocks.ints.XorInt
- public final class XorInt
- extends Object
- implements CSProcess
Process Diagram
in1 ________
-->--| | out
in2 | XorInt |-->--
-->--|________|
Description
The XorInt class is a process which has an infinite loop that waits
an int to be sent down each of the in1 and in2 ChannelInts.
The process then calculates the bitwise XOR on the two ints then writes
the result down the out ChannelInt.
Channel Protocols
Input Channels |
in1,in2 |
ChannelInt |
int
|
Output Channels |
out |
ChannelInt |
int
|
Example
The following example shows how to use the XorInt process in a small program.
The program also uses some of the other building block processes. The
program generates a sequence of numbers and subtracts them from
Integer.MAX_VALUE to give a decending sequence of numbers and prints
this on the screen.
import jcsp.lang.*;
import jcsp.lang.ints.*;
import jcsp.util.ints.*;
public class XorExample {
public static void main(String[] argv) {
ChannelInt a = new One2OneChannelInt();
ChannelInt b = new One2OneChannelInt();
ChannelInt c = new One2OneChannelInt();
new Parallel(new CSProcess[] {
new NosInt(a),
new XorInt(a, b, c),
new PrinterInt(c, "", "\n"),
new CSProcess() {
public void run() {
int xorVal = Integer.MAX_VALUE;
while (true) {
b.write(xorVal);
}
}
}
}).run();
}
}
- Author:
- P.D.Austin
-
XorInt(ChannelInputInt, ChannelInputInt, ChannelOutputInt)
- Construct a new XorInt process with the input ChannelInts in1 and in2 and the
output ChannelInt out.
-
run()
- The main body of this process.
XorInt
public XorInt(ChannelInputInt in1,
ChannelInputInt in2,
ChannelOutputInt out)
- Construct a new XorInt process with the input ChannelInts in1 and in2 and the
output ChannelInt out. The ordering of the ChannelInts in1 and in2 make
no difference to the functionality of this process.
- Parameters:
- in1 - The first input ChannelInt
- in2 - The second input ChannelInt
- out - The output ChannelInt
run
public void run()
- The main body of this process.
All Packages Class Hierarchy This Package Previous Next Index