public boolean test(Mapping buffer) { for (int i = 1; i < from.length; ++i) if (!IndexMappings.testMapping(buffer, from[i], to[currentPermutation[i]])) return false; return true; } }
@Override public int[] _nextMapping(Mapping buffer) { if (!IndexMappings.testMapping(buffer, from, to)) return null; return fromPointer; }
private static boolean testMapping(Mapping0 mapping0, Tensor eps, Tensor part) { if (!(part instanceof Product)) return false; Product p = (Product) part; Complex factor = p.getFactor(); Tensor ds = p.getDataSubProduct(); if (IndexMappings.testMapping(mapping0.mapping, eps, ds)) return factor.equals(mapping0.factor); else if (IndexMappings.testMapping(mapping0.mapping.addSign(true), eps, ds)) return factor.equals(mapping0.factor.negate()); return false; }