com.opengamma.strata.math.impl.statistics.distribution.StudentTOneTailedCriticalValueCalculator Maven / Gradle / Ivy
/*
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.strata.math.impl.statistics.distribution;
import java.util.function.Function;
import com.google.common.math.DoubleMath;
import com.opengamma.strata.collect.ArgChecker;
import com.opengamma.strata.math.impl.cern.RandomEngine;
/**
* StudentT calculator.
*/
// CSOFF: JavadocMethod
public class StudentTOneTailedCriticalValueCalculator implements Function {
private final ProbabilityDistribution _dist;
public StudentTOneTailedCriticalValueCalculator(double nu) {
ArgChecker.notNegative(nu, "nu");
_dist = new StudentTDistribution(nu);
}
public StudentTOneTailedCriticalValueCalculator(double nu, RandomEngine engine) {
ArgChecker.notNegative(nu, "nu");
ArgChecker.notNull(engine, "engine");
_dist = new StudentTDistribution(nu, engine);
}
@Override
public Double apply(Double x) {
ArgChecker.notNull(x, "x");
ArgChecker.notNegative(x, "x");
if (DoubleMath.fuzzyEquals(x, 0.5, 1e-14)) {
return 0.5;
}
return _dist.getInverseCDF(x);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy