My question is regarding the class PolynomialSplineFunction in commons-math. Can someone please explain to me the logic behind the following code: public double value(double v) throws ArgumentOutsideDomainException { ... return polynomials[i].value(v - knots[i]); Why does the function not just evaluate at the given value e.g: return polynomials[i].value(v); I have compiled a test that I think should pass, but the second assertion fails, because of the above mentioned behaviour: The test simulates what I would do to create a (trivial) spline from 3 knot points, each function is linear. The knot points are (0, 0), (1, 1), (2, 2). PolynomialFunction f1 = new PolynomialFunction(new double[] { 0d, 1d }); PolynomialFunction f2 = new PolynomialFunction(new double[] { 0d, 1d }); double[] knots = new double[] { 0d, 1d, 2d }; PolynomialFunction[] functions = { f1, f2 }; PolynomialSplineFunction spline = new PolynomialSplineFunction(knots, functions); double a = spline.value(0d); assertTrue(a == 0d); double b = spline.value(1d); FAILS--> assertTrue(b == 1d); I think I am missing something about how I should be using the PolynomialSplineFunction. Any ideas? Greg --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@commons.apache.org For additional commands, e-mail: user-help@commons.apache.org