// g07gb 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 G07GBE { static string datafile = "ExampleData/g07gbe.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 e, lx, ux, var1, var2, x; int ifail = 0, n = 0; bool outlier = false; Console.WriteLine(" {0}", "g07gb Example Program Results"); Console.WriteLine(""); // Skip heading in data file sr.Reset(); while (true) { // Read in the sample size, variances and value to test try { sr.Reset(); n = int.Parse(sr.Next()); e = double.Parse(sr.Next(), CultureInfo.InvariantCulture); var1 = double.Parse(sr.Next(), CultureInfo.InvariantCulture); var2 = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } catch { break; } if (ifail != 0) { break; } // Check whether E is a potential outlier ifail = 0; outlier = G07.g07gb(n, e, var1, var2, out x, out lx, out ux, out ifail); // Display results Console.WriteLine(" {0} {1,10}", "Sample size :", n); Console.WriteLine(" {0} {1,10:f3}", "Largest absolute residual (E) :", e); Console.WriteLine(" {0} {1,10:f3}", "Variance for whole sample :", var1); Console.WriteLine(" {0} {1,10:f3}", "Variance excluding E :", var2); Console.WriteLine(" {0} {1,10:f3}", "Estimate for cutoff (X) :", x); Console.WriteLine(" {0} {1,10:f3}", "Lower limit for cutoff (LX) :", lx); Console.WriteLine(" {0} {1,10:f3}", "Upper limit for cutoff (UX) :", ux); if (outlier) { Console.WriteLine(" {0}", "E is a potential outlier"); } else { Console.WriteLine(" {0}", "E does not appear to be an outlier"); } Console.WriteLine(""); } return 0; } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); return 0; } } } }