// c05au Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; namespace NagDotNetExamples { public class C05AUE { static void Main(String[] args) { StartExample(); } public static void StartExample() { try { // C05.C05AG_F fC05AG = new C05.C05AG_F(f); C05.C05AU_F fC05AU = new C05.C05AU_F(f); double a, b, eps, eta, h, x; int ifail; Console.WriteLine("c05au Example Program Results"); x = 1.00e0; h = 0.10e0; eps = 1.00e-5; eta = 0.00e0; // // C05.c05ag(ref x, h, eps, eta, fC05AG, out a, out b, out ifail); C05.c05au(ref x, h, eps, eta, fC05AU, out a, out b, out ifail); // Console.WriteLine(""); if (ifail == 0) { Console.WriteLine(" {0}{1,13:f5}", "Root is ", x); Console.WriteLine(" {0}{1,8:f5}{2}{3,8:f5}{4}", "Interval searched is [", a, ",", b, "]"); } else { Console.WriteLine("** c05au failed with ifail = {0,5}", ifail); if ((ifail == 3) || (ifail == 4)) { Console.WriteLine(" {0}{1,13:f5}", "Final value = ", x); } } // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); } Console.WriteLine(""); } // public static double f(double x) { double fValue; fValue = x - Math.Exp(-x); return fValue; } } }