// s17al Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; namespace NagDotNetExamples { public class S17ALE { static string datafile = "ExampleData/s17ale.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static void StartExample() { try { PrintManager.Warning = new PrintManager.MessageLogger(discardmessage); DataReader sr = new DataReader(datafile); const double zero = 0.00e+0; double a, rel; int i, mode, n; double[] x = new double[100]; int ifail; Console.WriteLine("s17al Example Program Results"); // Skip heading in data file sr.Reset(); Console.WriteLine(""); rel = Math.Sqrt(X02.x02aj()); sr.Reset(); a = double.Parse(sr.Next(), CultureInfo.InvariantCulture); n = int.Parse(sr.Next()); mode = int.Parse(sr.Next()); // S.s17al(a, n, mode, rel, x, out ifail); // if (ifail >= 0) { Console.WriteLine(" {0}", " a n mode ifail rel"); Console.WriteLine(" {0}", " (machine-dependent)"); Console.WriteLine(""); Console.WriteLine(" {0,4:f1}{1,4}{2,7}{3,8} {4,9:e1}", a, n, mode, ifail, rel); Console.WriteLine(""); if (mode == 1) { Console.WriteLine(" {0}", "Leading N positive zeros of J"); } else if (mode == 2) { Console.WriteLine(" {0}", "Leading N positive zeros of Y"); } else if (mode == 3) { if (a == zero) { Console.WriteLine(" {0}", "Leading N non-negative zeros of J'"); } else { Console.WriteLine(" {0}", "Leading N positive zeros of J'"); } } else if (mode == 4) { Console.WriteLine(" {0}", "Leading N positive zeros of Y'"); } Console.WriteLine(""); for (i = 1; i <= n; i++) { Console.WriteLine(" x = {0,12:e4}", x[i - 1]); } Console.WriteLine(""); } else { Console.WriteLine("** s17al failed with ifail = {0,5}", ifail); } // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); } } static void discardmessage(String message) { } } }