// g05kk Example Program Text // Mark 23 Release. NAG Copyright 2011. // C# version, NAG Copyright 2012 using System; using NagLibrary; using System.Globalization; namespace NagDotNetExamples { public class G05KKE { static string datafile = "ExampleData/g05kke.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static int StartExample() { try { int genid = 0, subid = 0; int[] seed = new int[1]; int ifail; DataReader sr = new DataReader(datafile); Console.WriteLine("g05kk Example Program Results"); Console.WriteLine(""); // Read data from a file // Skip heading sr.Reset(); sr.Reset(); // Read in initial parameters // Read in the base generator information and seed genid = int.Parse(sr.Next()); subid = int.Parse(sr.Next()); seed[0] = int.Parse(sr.Next()); // // Initialise the generator to a repeatable sequence G05.G05State g05State = new G05.G05State(genid, subid, seed, out ifail); int n = int.Parse(sr.Next()); int nv = int.Parse(sr.Next()); double[] x = new double[nv]; // Advance the sequence 2**N places G05.g05kk(n, g05State, out ifail); // Generate a NV variates from a uniform distribution G05.g05sa(nv, g05State, x, out ifail); // Display the variates for (int i = 0; i < nv; i++) { Console.WriteLine("{0,6:f4}", x[i]); } return 0; } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); return 0; } } } }