Sha256: 0aece3fdb2c3979cec4c1413eaef857f24c4793bbe369b909d797480b1335f3d
Contents?: true
Size: 1.75 KB
Versions: 6
Compression:
Stored size: 1.75 KB
Contents
package org.sunflow.util; public final class FloatArray { private float[] array; private int size; public FloatArray() { array = new float[10]; size = 0; } public FloatArray(int capacity) { array = new float[capacity]; size = 0; } /** * Append a float to the end of the array. * * @param f */ public final void add(float f) { if (size == array.length) { float[] oldArray = array; array = new float[(size * 3) / 2 + 1]; System.arraycopy(oldArray, 0, array, 0, size); } array[size] = f; size++; } /** * Write a value to the specified index. Assumes the array is already big * enough. * * @param index * @param value */ public final void set(int index, float value) { array[index] = value; } /** * Read value from the array. * * @param index index into the array * @return value at the specified index */ public final float get(int index) { return array[index]; } /** * Returns the number of elements added to the array. * * @return current size of the array */ public final int getSize() { return size; } /** * Return a copy of the array, trimmed to fit the size of its contents * exactly. * * @return a new array of exactly the right length */ public final float[] trim() { if (size < array.length) { float[] oldArray = array; array = new float[size]; System.arraycopy(oldArray, 0, array, 0, size); } return array; } }
Version data entries
6 entries across 6 versions & 1 rubygems