Class Interpolation
- java.lang.Object
-
- org.apache.commons.statistics.descriptive.Interpolation
-
final class Interpolation extends java.lang.ObjectSupport class for interpolation.- Since:
- 1.1
-
-
Constructor Summary
Constructors Modifier Constructor Description privateInterpolation()No instances.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static doubleinterpolate(double a, double b, double t)Linear interpolation between sorted valuesa <= busing the interpolantttaking care to avoid overflow.(package private) static doublemean(double x, double y)Compute the arithmetic mean of the two values taking care to avoid overflow.(package private) static doublemean(int x, int y)Compute the arithmetic mean of the two values.
-
-
-
Method Detail
-
mean
static double mean(double x, double y)Compute the arithmetic mean of the two values taking care to avoid overflow.- Parameters:
x- Value.y- Value.- Returns:
- the mean
-
mean
static double mean(int x, int y)Compute the arithmetic mean of the two values.- Parameters:
x- Value.y- Value.- Returns:
- the mean
-
interpolate
static double interpolate(double a, double b, double t)Linear interpolation between sorted valuesa <= busing the interpolantttaking care to avoid overflow.value = a + t * (b - a)
Note
This function has the same properties of as the C++ function std::lerp for
t in (0, 1)andb >= a. It is not a full implementation as it removes explicit checks fort==0andt==1and does not support extrapolation as the usage is intended for interpolation of sorted values. The function is monotonic and avoids overflow for finiteaandb.Interpolation between equal signed infinity arguments will return
a. Alternative implementations may returnNaNfor this case. Thus this method interprets infinity values as equivalent and avoids interpolation.- Parameters:
a- Min value.b- Max value.t- Interpolant in (0, 1).- Returns:
- the value
-
-