public void testInterpolation1D() { final double[] dimension = new double[]{0, 1}; final double[] values = new double[]{0, 1}; final LookupTable lut = new LookupTable(values, dimension); assertEquals(1, lut.getDimensionCount()); assertEquals(0.0, lut.getDimension(0).getMin(), 0.0); assertEquals(1.0, lut.getDimension(0).getMax(), 0.0); assertEquals(0.0, lut.getValue(0.0), 0.0); assertEquals(1.0, lut.getValue(1.0), 0.0); assertEquals(0.5, lut.getValue(0.5), 0.0); }
public void testInterpolation2D() { final double[][] dimensions = new double[][]{{0, 1}, {0, 1}}; final double[] values = new double[]{0, 1, 2, 3}; final LookupTable lut = new LookupTable(values, dimensions); assertEquals(2, lut.getDimensionCount()); assertEquals(0.0, lut.getDimension(0).getMin(), 0.0); assertEquals(1.0, lut.getDimension(0).getMax(), 0.0); assertEquals(0.0, lut.getDimension(1).getMin(), 0.0); assertEquals(1.0, lut.getDimension(1).getMax(), 0.0); assertEquals(0.0, lut.getValue(0.0, 0.0), 0.0); assertEquals(1.0, lut.getValue(0.0, 1.0), 0.0); assertEquals(2.0, lut.getValue(1.0, 0.0), 0.0); assertEquals(3.0, lut.getValue(1.0, 1.0), 0.0); assertEquals(0.5, lut.getValue(0.0, 0.5), 0.0); assertEquals(1.5, lut.getValue(0.5, 0.5), 0.0); assertEquals(2.5, lut.getValue(1.0, 0.5), 0.0); }
new double[]{0, 1, 2, 3, 4}, new double[]{1, 2, 3, 4, 5}, new double[]{2, 3, 4, 5, 6}); assertEquals(125, LookupTable.getVertexCount(dimensions)); assertEquals(3, lut.getDimensionCount()); assertEquals(fi[j].i, fracIndex.i); assertEquals(fi[j].f, fracIndex.f, 1.0E-10); final double b = lut.getValue(fi, v); assertEquals(expected, a, 1.0E-10); assertEquals(expected, b, 1.0E-10);