public static double CalculateWeight(int N, int M, int n, int k) { if (M < k) { return(0); } return(Hypergeometric.CDF(N, M, n, k)); }
public static double GetHyperGeometricPvalue(int n, int k, int n1, int k1, bool upperTailProb = true) { if (k >= n) { return(1.0d); } var pValue = Hypergeometric.CDF(n, k, n1, k1); if (upperTailProb) { pValue = 1 - pValue; } else { pValue = Math.Min(pValue, 1 - pValue); } return(pValue); }