// g07ga Example Program Text // Mark 23 Release. NAG Copyright 2011. // C# version, NAG Copyright 2012 using System; using NagLibrary; using System.Globalization; namespace NagDotNetExamples { public class G07GAE { static string datafile = "ExampleData/g07gae.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static int StartExample() { try { DataReader sr = new DataReader(datafile); double mean, var; int i = 0, ifail = 0, ldiff = 0, n = 0, niout = 0, p = 0; Console.WriteLine(" {0}", "g07ga Example Program Results"); Console.WriteLine(""); // Skip heading in data file sr.Reset(); // Read in the problem size sr.Reset(); n = int.Parse(sr.Next()); p = int.Parse(sr.Next()); ldiff = int.Parse(sr.Next()); // allocate double[] y = new double[n]; int[] iout = new int[n]; double[] diff = new double[ldiff]; double[] llamb = new double[ldiff]; // Read in data sr.Reset(); for (i = 0; i < y.Length; i++) { y[i] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } // Let routine calculate mean and variance mean = 0.00e0; var = 0.00e0; // Get a list of potential outliers G07.g07ga(n, p, y, mean, var, iout, out niout, ldiff, diff, llamb, out ifail); // Display results Console.WriteLine(" {0} {1}", "Number of potential outliers:", niout); if (ldiff > 0) { Console.WriteLine(" {0}", " No. Index Value Diff ln(lambda^2)"); } else { Console.WriteLine(" {0}", " No. Index Value"); } for (i = 1; i <= niout; i++) { if (i > ldiff) { Console.WriteLine(" {0,4} {1,4} {2,10:f2}", i, iout[i - 1], y[iout[i - 1] - 1]); } else { Console.WriteLine(" {0,4} {1,4} {2,10:f2} {3,10:f2} {4,10:f2}", i, iout[i - 1], y[iout[i - 1] - 1], diff[i - 1], llamb[i - 1]); } } return 0; } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); return 0; } } } }