// g01am Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; using System.IO; namespace NagDotNetExamples { public class G01AME { static string datafile = "ExampleData/g01ame.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static void StartExample() { try { DataReader sr = new DataReader(datafile); int i, n, nq; int ifail; Console.WriteLine("g01am Example Program Results"); // Skip heading in data file sr.Reset(); // Read in problem size and check array sizes sr.Reset(); n = int.Parse(sr.Next()); nq = int.Parse(sr.Next()); if (n < 1 || nq < 1) { Console.WriteLine(" ** Problem size is too small."); return; } // Read in rest of the data double[] q = new double[nq]; double[] qv = new double[nq]; double[] rv = new double[n]; sr.Reset(); for (i = 1; i <= n; i++) { rv[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } sr.Reset(); for (i = 1; i <= nq; i++) { q[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } // Display the data Console.WriteLine(""); Console.WriteLine(" {0}", "Data Values:"); Console.WriteLine(""); for (i = 1; i <= n; i++) { Console.Write(" {0,4:f2}", rv[i - 1]); } Console.WriteLine(""); // Call NAG method G01.g01am(n, rv, nq, q, qv, out ifail); if (ifail != 0) { Console.WriteLine("** g01am failed with ifail = {0,5}", ifail); return; } // Display the results Console.WriteLine(""); Console.WriteLine(" {0}", "Quantile \tResult"); Console.WriteLine(""); for (i = 1; i <= nq; i++) { Console.WriteLine(" {0,7:f2} {1,7:f2}", q[i - 1], qv[i - 1]); } // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine( "Exception Raised"); } } } }