/** * Creates isolated simple indices. * * @param symmetries symmetries * @param data integer data * @return isolated simple indices */ public static SimpleIndices createIsolatedUnsafeWithoutSort(IndicesSymmetries symmetries, int... data) { if (data.length == 0) return IndicesFactory.EMPTY_SIMPLE_INDICES; return new SimpleIndicesIsolated(true, data, symmetries); }
static SimpleIndices createIsolatedUnsafeWithoutSort0(IndicesSymmetries symmetries, int[] data, AbstractIndices.UpperLowerIndices ul) { if (data.length == 0) return IndicesFactory.EMPTY_SIMPLE_INDICES; return new SimpleIndicesIsolated(true, data, symmetries, ul); }
/** * Creates simple indices from specified integer array and with specified symmetries. * * @param symmetries symmetries of indices * @param data integer array of indices * @return simple indices * @throws InconsistentIndicesException if array contains more then one same integer */ public static SimpleIndices createSimple(IndicesSymmetries symmetries, int... data) { if (data.length == 0) return EmptySimpleIndices.EMPTY_SIMPLE_INDICES_INSTANCE; return new SimpleIndicesIsolated(data.clone(), symmetries); }
@Override protected SimpleIndices create(int[] data, IndicesSymmetries symmetries) { return new SimpleIndicesIsolated(true, data, symmetries == null ? null : symmetries.clone()); }
/** * Creates simple indices from specified {@link Indices} object and with specified symmetries. * * @param symmetries symmetries of indices * @param indices {@link Indices} object * @return simple indices */ public static SimpleIndices createSimple(IndicesSymmetries symmetries, Indices indices) { if (indices.size() == 0) return EmptySimpleIndices.EMPTY_SIMPLE_INDICES_INSTANCE; if (indices instanceof AbstractSimpleIndices) return new SimpleIndicesIsolated(((AbstractSimpleIndices) indices).data, symmetries); return new SimpleIndicesIsolated(indices.getAllIndices().copy(), symmetries); }