public static void applyBMatrixToLatAddr (LatAddr lAddr) {
		int a = lAddr.A;
		int b = lAddr.B;
		int c = lAddr.C;

		lAddr.A = (2*a)-c;
		lAddr.B = (2*b)-a;
		lAddr.C = (2*c)-b;

		lAddr.cleanUpLatAddr();
	}
Example #2
0
	// TODO: ordering check
	public static LatAddr convertCanAddrToLatAddr (CanAddr cAddr) {
		LatAddr result = new LatAddr();
		LatAddr tmp = new LatAddr();

		for (int i = 0; i < Config.TREE_DEPTH; i++) {
			byte curTup = cAddr.getTuple(i);
			tmp.A = (curTup >> 0) & 0x01;
			tmp.B = (curTup >> 1) & 0x01;
			tmp.C = (curTup >> 2) & 0x01;

			for (int j = i; j > 0; j--) {
				BasisVectors.applyBMatrixToLatAddr(tmp);
			}

			result.A += tmp.A;
			result.B += tmp.B;
			result.C += tmp.C;
		}

		result.cleanUpLatAddr();
		return result;
	}