// g01jc Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; using System.IO; namespace NagDotNetExamples { public class G01JCE { static string datafile = "ExampleData/g01jce.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static void StartExample() { try { DataReader sr = new DataReader(datafile); double c, p, pdf, tol; int i, maxit = 500, n; const int nmax=4; double[] a = new double[nmax]; double[] rlamda = new double[nmax]; int[] mult = new int[nmax]; int ifail; Console.WriteLine("g01jc Example Program Results"); // Skip heading in data file sr.Reset(); Console.WriteLine(""); Console.WriteLine(" {0}"," A MULT RLAMDA"); tol = 0.00010e0; bool carryon = true; while (carryon) { try { sr.Reset(); n = int.Parse(sr.Next()); c = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } catch { break; } Console.WriteLine(""); sr.Reset(); for (i = 1 ; i <= n ; i++) { a[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } sr.Reset(); for (i = 1 ; i <= n ; i++) { mult[i - 1] = int.Parse(sr.Next()); } sr.Reset(); for (i = 1 ; i <= n ; i++) { rlamda[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } // G01.g01jc(a, mult, rlamda, n, c, out p, out pdf, tol, maxit, out ifail); // if ((ifail == 0) || (ifail >= (4))) { for (i = 1 ; i <= n ; i++) { Console.WriteLine(" {0,10:f2}{1,6}{2,9:f2}",a[i - 1],mult[i - 1],rlamda[i - 1]); } Console.WriteLine(" {0}{1,6:f2}{2}{3,6:f4}","C = ",c," PROB = ",p); continue; } else { Console.WriteLine("** g01jc failed with ifail = {0,5}", ifail); break; } } // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine( "Exception Raised"); } } } }