@Override public int compareTo(ScaffoldWrapper o) { int r = tc.compareTo(o.tc); if (r != 0) return r; if ((r = Integer.compare(hashWithIndices, o.hashWithIndices)) != 0) return r; return Integer.compare(component, o.component); } }
@Override public String toString() { StringBuilder builder = new StringBuilder(); if (indexContractions.length == 0) return builder.append(tensorId).append("x").toString(); builder.append(tensorId).append("x{"); for (long l : indexContractions) { builder.append("^").append(getFromIndexId(l)).append("->").append(getToTensorId(l)).append("^").append(getToIndexId(l)); builder.append(":"); } builder.deleteCharAt(builder.length() - 1); builder.append("}"); return builder.toString(); }
@Override public int hashCode() { int hash = 5; hash = 67 * hash + this.freeContraction.hashCode(); hash = 67 * hash + Arrays.hashCode(this.contractions); return hash; }
return tensor; TensorContraction contraction = new TensorContraction(si, new long[]{((long) si) << 16}); short[] sIndices = content.getStretchIds(); //For preformance. int index = Arrays.binarySearch(sIndices, si); continue; int indexName; if (cs.get(index).equals(contraction) && ((indexName = st.getIndices().get(0)) & 0x80000000) == 0) list.add(indexName);
final TensorContraction freeContraction = new TensorContraction((short) -1, new long[freeIndices.size()]); contractions[tensorIndex] = new TensorContraction(stretchIndices[tensorIndex], new long[tInds.size()]); contraction.sortContractions(); freeContraction.sortContractions();
@Override public boolean equals(final Object obj) { if (obj == null) return false; if (getClass() != obj.getClass()) return false; if (hashCode() != obj.hashCode()) return false; final StructureOfContractionsHashed other = (StructureOfContractionsHashed) obj; if (!freeContraction.equals(other.freeContraction)) return false; return Arrays.equals(contractions, other.contractions); }
public boolean containsFreeIndex() { for (long contraction : indexContractions) if (getToTensorId(contraction) == -1) return true; return false; }
if (i == fromContent.size() || !fromContent.getStructureOfContractionsHashed().get(i).equals(fromContent.getStructureOfContractionsHashed().get(i - 1))) { if (i - 1 != begin) stretches.add(new Pair(fromContent.getRange(begin, i), toContent.getRange(begin, i)));
@Override public boolean equals(final Object obj) { if (obj == null) return false; if (getClass() != obj.getClass()) return false; if (hashCode() != obj.hashCode()) return false; final TensorContraction other = (TensorContraction) obj; if (tensorId != other.tensorId) return false; return Arrays.equals(indexContractions, other.indexContractions); }