public class oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl extends oadd.org.apache.commons.math.distribution.AbstractIntegerDistribution implements oadd.org.apache.commons.math.distribution.HypergeometricDistribution, java.io.Serializable
{
private static final long serialVersionUID;
private int numberOfSuccesses;
private int populationSize;
private int sampleSize;
public void <init>(int, int, int)
{
java.lang.Object[] v, v;
java.lang.IllegalArgumentException v, v;
java.lang.Integer v, v, v, v;
int v, v, v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
specialinvoke v.<oadd.org.apache.commons.math.distribution.AbstractIntegerDistribution: void <init>()>();
if v <= v goto label;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats NUMBER_OF_SUCCESS_LARGER_THAN_POPULATION_SIZE>;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <oadd.org.apache.commons.math.MathRuntimeException: java.lang.IllegalArgumentException createIllegalArgumentException(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
if v <= v goto label;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats SAMPLE_SIZE_LARGER_THAN_POPULATION_SIZE>;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <oadd.org.apache.commons.math.MathRuntimeException: java.lang.IllegalArgumentException createIllegalArgumentException(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: void setPopulationSizeInternal(int)>(v);
specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: void setSampleSizeInternal(int)>(v);
specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: void setNumberOfSuccessesInternal(int)>(v);
return;
}
public double cumulativeProbability(int)
{
int[] v;
int v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
double v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int[] getDomain(int,int,int)>(v, v, v);
v = v[0];
if v >= v goto label;
v = 0.0;
goto label;
label:
v = v[1];
if v < v goto label;
v = 1.0;
goto label;
label:
v = v[0];
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: double innerCumulativeProbability(int,int,int,int,int,int)>(v, v, 1, v, v, v);
label:
return v;
}
private int[] getDomain(int, int, int)
{
int[] v;
int v, v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = newarray (int)[2];
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getLowerDomain(int,int,int)>(v, v, v);
v[0] = v;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getUpperDomain(int,int)>(v, v);
v[1] = v;
return v;
}
protected int getDomainLowerBound(double)
{
int v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
double v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: double;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getLowerDomain(int,int,int)>(v, v, v);
return v;
}
protected int getDomainUpperBound(double)
{
int v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
double v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: double;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getUpperDomain(int,int)>(v, v);
return v;
}
private int getLowerDomain(int, int, int)
{
int v, v, v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v - v;
v = v - v;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int max(int,int)>(0, v);
return v;
}
public int getNumberOfSuccesses()
{
int v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
return v;
}
public int getPopulationSize()
{
int v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
return v;
}
public int getSampleSize()
{
int v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
return v;
}
private int getUpperDomain(int, int)
{
int v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
return v;
}
public double probability(int)
{
int[] v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
double v, v, v, v, v, v, v, v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int[] getDomain(int,int,int)>(v, v, v);
v = v[0];
if v < v goto label;
v = v[1];
if v <= v goto label;
label:
v = 0.0;
goto label;
label:
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v / v;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = v - v;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v / v;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
v = staticinvoke <oadd.org.apache.commons.math.distribution.SaddlePointExpansion: double logBinomialProbability(int,int,double,double)>(v, v, v, v);
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = v - v;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
v = v - v;
v = staticinvoke <oadd.org.apache.commons.math.distribution.SaddlePointExpansion: double logBinomialProbability(int,int,double,double)>(v, v, v, v);
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = staticinvoke <oadd.org.apache.commons.math.distribution.SaddlePointExpansion: double logBinomialProbability(int,int,double,double)>(v, v, v, v);
v = v + v;
v = v - v;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: double exp(double)>(v);
label:
return v;
}
private double probability(int, int, int, int)
{
int v, v, v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
double v, v, v, v, v, v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.commons.math.util.MathUtils: double binomialCoefficientLog(int,int)>(v, v);
v = v - v;
v = v - v;
v = staticinvoke <oadd.org.apache.commons.math.util.MathUtils: double binomialCoefficientLog(int,int)>(v, v);
v = v + v;
v = staticinvoke <oadd.org.apache.commons.math.util.MathUtils: double binomialCoefficientLog(int,int)>(v, v);
v = v - v;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: double exp(double)>(v);
return v;
}
public void setNumberOfSuccesses(int)
{
int v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: void setNumberOfSuccessesInternal(int)>(v);
return;
}
private void setNumberOfSuccessesInternal(int)
{
java.lang.Object[] v;
int v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v;
java.lang.IllegalArgumentException v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
java.lang.Integer v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
if v >= 0 goto label;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats NEGATIVE_NUMBER_OF_SUCCESSES>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <oadd.org.apache.commons.math.MathRuntimeException: java.lang.IllegalArgumentException createIllegalArgumentException(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses> = v;
return;
}
public void setPopulationSize(int)
{
int v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: void setPopulationSizeInternal(int)>(v);
return;
}
private void setPopulationSizeInternal(int)
{
java.lang.Object[] v;
int v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v;
java.lang.IllegalArgumentException v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
java.lang.Integer v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
if v > 0 goto label;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats NOT_POSITIVE_POPULATION_SIZE>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <oadd.org.apache.commons.math.MathRuntimeException: java.lang.IllegalArgumentException createIllegalArgumentException(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize> = v;
return;
}
public void setSampleSize(int)
{
int v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: void setSampleSizeInternal(int)>(v);
return;
}
private void setSampleSizeInternal(int)
{
java.lang.Object[] v;
int v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v;
java.lang.IllegalArgumentException v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
java.lang.Integer v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
if v >= 0 goto label;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats NOT_POSITIVE_SAMPLE_SIZE>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <oadd.org.apache.commons.math.MathRuntimeException: java.lang.IllegalArgumentException createIllegalArgumentException(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize> = v;
return;
}
public double upperCumulativeProbability(int)
{
int[] v;
int v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
double v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int[] getDomain(int,int,int)>(v, v, v);
v = v[0];
if v >= v goto label;
v = 1.0;
goto label;
label:
v = v[1];
if v <= v goto label;
v = 0.0;
goto label;
label:
v = v[1];
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int populationSize>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int numberOfSuccesses>;
v = v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int sampleSize>;
v = (int) -1;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: double innerCumulativeProbability(int,int,int,int,int,int)>(v, v, v, v, v, v);
label:
return v;
}
private double innerCumulativeProbability(int, int, int, int, int, int)
{
int v, v, v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
double v, v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: double probability(int,int,int,int)>(v, v, v, v);
label:
if v == v goto label;
v = v + v;
v = specialinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: double probability(int,int,int,int)>(v, v, v, v);
v = v + v;
goto label;
label:
return v;
}
public int getSupportLowerBound()
{
int v, v, v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getSampleSize()>();
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getNumberOfSuccesses()>();
v = v + v;
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getPopulationSize()>();
v = v - v;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int max(int,int)>(0, v);
return v;
}
public int getSupportUpperBound()
{
int v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getNumberOfSuccesses()>();
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getSampleSize()>();
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
return v;
}
protected double getNumericalMean()
{
int v, v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
double v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getSampleSize()>();
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getNumberOfSuccesses()>();
v = v * v;
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getPopulationSize()>();
v = v / v;
return v;
}
public double getNumericalVariance()
{
int v, v, v;
oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl v;
double v, v, v, v, v, v, v, v, v;
v := @this: oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl;
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getPopulationSize()>();
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getNumberOfSuccesses()>();
v = virtualinvoke v.<oadd.org.apache.commons.math.distribution.HypergeometricDistributionImpl: int getSampleSize()>();
v = v * v;
v = v - v;
v = v * v;
v = v - v;
v = v * v;
v = v * v;
v = v - 1.0;
v = v * v;
v = v / v;
return v;
}
}