/** * Constructor. * <p> * The exponential weight lambda must be > 0 and < 1.0. * * @param lambda the exponential weight */ public ExponentiallyWeightedInterpolationQuantileMethod(double lambda) { ArgChecker.inRangeExclusive(lambda, 0.0d, 1.0d, "exponential weight"); this.lambda = lambda; }
@Override public double getParameter(int index) { ArgChecker.inRangeExclusive(index, -1, NUM_PARAMETERS, "index"); return parameters.get(index); }
@Override public double getParameter(int index) { ArgChecker.inRangeExclusive(index, -1, NUM_PARAMETERS, "index"); return parameters.get(index); }
@Override public double applyAsDouble(double a, double p) { ArgChecker.notNegativeOrZero(a, "a"); ArgChecker.inRangeExclusive(p, 0d, 1d, "p"); double x; double err;
public void test_double_inRange() { double low = 0d; double mid = 0.5d; double high = 1d; double small = 0.00000000001d; assertEquals(ArgChecker.inRange(mid, low, high, "name"), mid); assertEquals(ArgChecker.inRange(low, low, high, "name"), low); assertEquals(ArgChecker.inRange(high - small, low, high, "name"), high - small); assertEquals(ArgChecker.inRangeInclusive(mid, low, high, "name"), mid); assertEquals(ArgChecker.inRangeInclusive(low, low, high, "name"), low); assertEquals(ArgChecker.inRangeInclusive(high, low, high, "name"), high); assertEquals(ArgChecker.inRangeExclusive(mid, low, high, "name"), mid); assertEquals(ArgChecker.inRangeExclusive(small, low, high, "name"), small); assertEquals(ArgChecker.inRangeExclusive(high - small, low, high, "name"), high - small); }
public void test_int_inRange() { int low = 0; int mid = 1; int high = 2; assertEquals(ArgChecker.inRange(mid, low, high, "name"), mid); assertEquals(ArgChecker.inRange(low, low, high, "name"), low); assertEquals(ArgChecker.inRangeInclusive(mid, low, high, "name"), mid); assertEquals(ArgChecker.inRangeInclusive(low, low, high, "name"), low); assertEquals(ArgChecker.inRangeInclusive(high, low, high, "name"), high); assertEquals(ArgChecker.inRangeExclusive(mid, low, high, "name"), mid); }
public void test_double_inRange_outOfRange() { double low = 0d; double high = 1d; double small = 0.00000000001d; assertThrowsIllegalArg(() -> ArgChecker.inRange(low - small, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRange(high, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRangeInclusive(low - small, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRangeInclusive(high + small, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRangeExclusive(low, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRangeExclusive(high, low, high, "name")); }
public void test_int_inRange_outOfRange() { int low = 0; int high = 1; assertThrowsIllegalArg(() -> ArgChecker.inRange(low - 1, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRange(high, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRangeInclusive(low - 1, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRangeInclusive(high + 1, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRangeExclusive(low, low, high, "name")); assertThrowsIllegalArg(() -> ArgChecker.inRangeExclusive(high, low, high, "name")); }