if (iSubgraphPosition == currentSubgraph.size()) { ++iPartition; iSubgraphPosition = 0; && gPositions.size() == currentSubgraph.size() && g5Positions.first() != currentSubgraph.size() - 1) { int g5 = g5Positions.first(), size = currentSubgraph.size(); g5Positions.set(0, size - 1); for (int i = 0; i <= g5; ++i) && gPositions.size() == currentSubgraph.size()) graphType = GraphType.Cycle;
continue; SpinorType left = isSpinor(pc.get(subgraph.getPosition(0))), right = isSpinor(pc.get(subgraph.getPosition(subgraph.size() - 1))); if (left == null && right == null) continue; for (int i = 0; i < subgraph.size(); ++i) { if (!isGamma(pc.get(subgraph.getPosition(i)))) continue; int gSize = subgraph.size(); Tensor spinors = product.select(momentums.toArray()); if (left != null) { spinors = multiply(spinors, pc.get(subgraph.getPosition(subgraph.size() - 1))); --gSize; if (right == null || (left != null && matched.first() < subgraph.size() - matched.last())) { changed.ensureCapacity(subgraph.size()); for (i = 0; i < subgraph.size(); ++i) changed.add(subgraph.getPosition(i) + offset); int i = subgraph.size() - 2; for (; i >= matched.last(); --i) { Tensor r = pc.get(subgraph.getPosition(i)); changed.ensureCapacity(subgraph.size()); for (i = 0; i < subgraph.size(); ++i) changed.add(subgraph.getPosition(i) + offset);