package soot_tests;

public class LogicalOperations {
	private int i1;
	private boolean b1;
	private long l1;

	private int i2;
	private boolean b2;
	private long l2;

	public void doAnd() {
		i1 = i2 & i1;
		l1 = l2 & l1;
		b1 = b2 & b1;
	}

	public void doOr() {
		i1 = i2 | i1;
		l1 = l2 | l1;
		b1 = b2 | b1;
	}

	public void doXOr() {
		i1 = i2 ^ i1;
		l1 = l2 ^ l1;
		b1 = b2 ^ b1;
	}

	public void doInv() {
		i1 = ~i2;
		l1 = ~i2;
	}

	public void doShl() {
		i1 = i1 << i2;
		l1 = l1 << l2;
	}

	public void doShr() {
		i1 = i1 >> i2;
		l1 = l1 >> l2;
	}

	public void doUShr() {
		i1 = i1 >>> i2;
		l1 = l1 >>> l2;
	}

}
