// g05th Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.IO; namespace NagDotNetExamples { public class G05THE { static void Main(String[] args) { StartExample(); } public static void StartExample() { try { const int mseed=1; const int n=20; const int lr=1; double p=0.0; int genid, i, m, subid; double[] r = new double[lr]; int[] seed = new int[mseed]; int[] x = new int[n]; int ifail; Console.WriteLine("g05th Example Program Results"); Console.WriteLine("");Console.WriteLine(""); // Set the distribution parameter P p = 0.9990e0; m = 60; // Initialise the seed seed[0] = 1762543; // genid and subid identify the base generator genid = 1; subid = 1; // Initialise the generator to a repeatable sequence G05.G05State g05State = new G05.G05State(genid, subid, seed, out ifail); if (ifail != 0) { Console.WriteLine("** Generator initialisation failed with ifail = {0,5}", ifail); goto L20; } // Generate the variates // Choose mode = 3 because p close to 1 G05.g05th(3, n, m, p,r, g05State, x, out ifail); if (ifail != 0) { Console.WriteLine("** g05th failed with ifail = {0,5}", ifail); goto L20; } // Display the variates for (i = 1 ; i <= n ; i++) { Console.WriteLine(" {0,10}", x[i - 1]); } Console.WriteLine(""); // L20: ; // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine( "Exception Raised"); } } } }