private static void zipf_cdf_test() //****************************************************************************80 // // Purpose: // // ZIPF_CDF_TEST tests ZIPF_CDF, ZIPF_CDF_INV, ZIPF_PDF. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 09 March 2016 // // Author: // // John Burkardt // { int x; Console.WriteLine(""); Console.WriteLine("ZIPF_CDF_TEST"); Console.WriteLine(" ZIPF_CDF evaluates the Zipf CDF;"); Console.WriteLine(" ZIPF_CDF_INV inverts the Zipf CDF;"); Console.WriteLine(" ZIPF_PDF evaluates the Zipf PDF;"); double a = 2.0E+00; Console.WriteLine(""); Console.WriteLine(" PDF parameter A = " + a + ""); if (!Zipf.zipf_check(a)) { Console.WriteLine(""); Console.WriteLine("ZIPF_CDF_TEST - Fatal error!"); Console.WriteLine(" The parameters are not legal."); return; } Console.WriteLine(""); Console.WriteLine(" X PDF CDF CDF_INV()"); Console.WriteLine(""); for (x = 1; x <= 20; x++) { double pdf = Zipf.zipf_pdf(x, a); double cdf = Zipf.zipf_cdf(x, a); int x2 = Zipf.zipf_cdf_inv(a, cdf); Console.WriteLine(" " + x.ToString(CultureInfo.InvariantCulture).PadLeft(12) + " " + pdf.ToString(CultureInfo.InvariantCulture).PadLeft(12) + " " + cdf.ToString(CultureInfo.InvariantCulture).PadLeft(12) + " " + x2.ToString(CultureInfo.InvariantCulture).PadLeft(12) + ""); } }