// d01da Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; namespace NagDotNetExamples { public class D01DAE { static void Main(String[] args) { StartExample(); } public static void StartExample() { try { D01.D01DA_PHI1 phi1D01DA = new D01.D01DA_PHI1(phi1); D01.D01DA_PHI2 phi2aD01DA = new D01.D01DA_PHI2(phi2a); D01.D01DA_F faD01DA = new D01.D01DA_F(fa); D01.D01DA_PHI2 phi2bD01DA = new D01.D01DA_PHI2(phi2b); D01.D01DA_F fbD01DA = new D01.D01DA_F(fb); double absacc, ans, ya, yb; int npts = 0; int ifail; Console.WriteLine("d01da Example Program Results"); ya = 0.00e0; yb = 1.00e0; absacc = 1.00e-6; Console.WriteLine(""); // D01.d01da(ya, yb, phi1D01DA, phi2aD01DA, faD01DA, absacc, out ans, out npts, out ifail); // if (ifail < 0) { Console.WriteLine("** d01da failed with ifail = {0,5}", ifail); } else { // Console.WriteLine(" {0}", "First formulation"); Console.WriteLine(" {0}{1,9:f4}", "Integral =", ans); Console.WriteLine(" {0}{1,5}", "Number of function evaluations =", npts); if (ifail > 0) { Console.WriteLine(" {0}{1,5}", "ifail = ", ifail); } Console.WriteLine(""); Console.WriteLine(" {0}", "Second formulation"); // D01.d01da(ya, yb, phi1D01DA, phi2bD01DA, fbD01DA, absacc, out ans, out npts, out ifail); // Console.WriteLine(" {0}{1,9:f4}", "Integral =", ans); Console.WriteLine(" {0}{1,5}", "Number of function evaluations =", npts); if (ifail > 0) { Console.WriteLine(" {0}{1,5}", "ifail = ", ifail); } } // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); } ; } // public static double phi1(double y) { double phi1Value = 0.0; phi1Value = 0.00e0; return phi1Value; } // public static double phi2a(double y) { double phi2aValue = 0.0; phi2aValue = Math.Sqrt(1.00e0 - y * y); return phi2aValue; } public static double fa(double x, double y) { double faValue = 0.0; faValue = x + y; return faValue; } public static double phi2b(double y) { double phi2bValue = 0.0; phi2bValue = 0.50e0 * Math.PI; return phi2bValue; } public static double fb(double x, double y) { double fbValue = 0.0; fbValue = y * y * (Math.Cos(x) + Math.Sin(x)); return fbValue; } } }