package org.geogebra.common.kernel.cas;
import org.apache.commons.math3.analysis.UnivariateFunction;
import org.geogebra.common.kernel.geos.GeoFunction;
/**
* T = sqrt( 1 + f'(x)^2)
*/
class LengthFunction implements UnivariateFunction {
private final GeoFunction f1;
/**
* @param f1
* derivative of measured function
*/
public LengthFunction(GeoFunction f1) {
this.f1 = f1;
}
@Override
public double value(double t) {
double p = f1.value(t);
return Math.sqrt(1 + p * p);
}
}