package mpi.fruitfly.math.datastructures; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: </p> * * @author not attributable * @version 1.0 */ public class FloatArray4D extends FloatArray { public final int n1; public final int n2; public final int n3; public final int n4; public FloatArray4D(final int n1, final int n2, final int n3, final int n4) { super(new float[n1 * n2 * n3 * n4]); this.n1 = n1; this.n2 = n2; this.n3 = n3; this.n4 = n4; } public FloatArray4D clone() { final FloatArray4D clone = new FloatArray4D(n1, n2, n3, n4); System.arraycopy(this.data, 0, clone.data, 0, this.data.length); return clone; } public final int getPos(final int i1, final int i2, final int i3, final int i4) { return i1 + n1 * (i2 + n2 * (i3 + n3 * i4)); } public final float get(final int i1, final int i2, final int i3, final int i4) { return data[getPos(i1, i2, i3, i4)]; } public final void set(final float value, final int i1, final int i2, final int i3, final int i4) { data[getPos(i1, i2, i3, i4)] = value; } }