package mikera.arrayz.impl; import mikera.arrayz.INDArray; import mikera.vectorz.util.IntArrays; public abstract class BaseShapedArray extends AbstractArray<INDArray> { private static final long serialVersionUID = -1486048632091493890L; protected final int[] shape; public BaseShapedArray(int [] shape) { this.shape=shape; } @Override public int dimensionality() { return shape.length; } @Override public int[] getShape() { return shape; } @Override public int[] getShapeClone() { return shape.clone(); } @Override public int sliceCount() { return shape[0]; } @Override public int getShape(int dim) { return shape[dim]; } @Override public long elementCount() { return IntArrays.arrayProduct(shape); } }