// d01gd Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; namespace NagDotNetExamples { public class D01GDE { static void Main(String[] args) { StartExample(); } public static void StartExample() { try { D01.D01GD_VECFUN vecfunD01GD = new D01.D01GD_VECFUN(vecfun); D01.D01GD_VECREG vecregD01GD = new D01.D01GD_VECREG(vecreg); const int ndim = 4; double err, res; int itrans, npts, nrand; double[] vk = new double[ndim]; int ifail; Console.WriteLine("d01gd Example Program Results"); Console.WriteLine(""); npts = 2; itrans = 0; nrand = 4; // D01.d01gd(ndim, vecfunD01GD, vecregD01GD, npts, vk, nrand, itrans, out res, out err, out ifail); // if (ifail == 0) { Console.WriteLine(" {0}{1,13:f5}{2}{3,10:e2}", "Result = ", res, ", standard error = ", err); } else { Console.WriteLine("** d01gd failed with ifail = {0,5}", ifail); } // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); } ; } // public static void vecfun(int ndim, double[,] x, double[] fv, int m) { int i, j; for (i = 1; i <= m; i++) { fv[i - 1] = 0.00e0; } for (j = 1; j <= ndim; j++) { for (i = 1; i <= m; i++) { fv[i - 1] = fv[i - 1] + x[i - 1, j - 1]; } } for (i = 1; i <= m; i++) { fv[i - 1] = Math.Cos(0.50e0 + 2.00e0 * fv[i - 1] - (double)ndim); } } public static void vecreg(int ndim, double[,] x, int j, double[] c, double[] d, int m) { int i = 0; for (i = 1; i <= m; i++) { c[i - 1] = 0.00e0; d[i - 1] = 1.00e0; } } } }