package de.gaalop.productComputer; /** * Calculates the outer product of two blades * @author christian */ public class OuterProductCalculator implements ProductCalculator { @Override public void calcProduct(SignedBlade b1, SignedBlade b2, SumOfBlades result, int bitCount, byte[] squareMask) { if (!b1.intersects(b2)) { //outer product is not null and geometric product is equal to outer product SignedBlade resultOuter = new SignedBlade(bitCount, b1, b1.coefficient*b2.coefficient*GAMethods.canonicalReorderingSign(b1,b2, bitCount)); resultOuter.xor(b2); result.add(resultOuter); } } }