// c09ca Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; namespace NagDotNetExamples { public class C09CAE { static string datafile = "ExampleData/c09cae.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static void StartExample() { try { DataReader sr = new DataReader(datafile); int i, n, nwc, ny; string wtrans=""; int ifail; Console.WriteLine("c09ca Example Program Results"); // Skip heading in data file sr.Reset(); // Read N sr.Reset(); n = int.Parse(sr.Next()); // Read wavnam, mode sr.Reset(); string wavnam = sr.Next(); string mode = sr.Next(); // double[] x = new double[n]; double[] y = new double[n]; if (n >= 2) { Console.WriteLine(" {0} {1,5} {2} {3,5}","DWT :: Wavelet: ",wavnam,", End mode: ",mode); // Read array sr.Reset(); for (i = 1 ; i <= n ; i++) { x[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } Console.WriteLine(" {0}","Input Data x :"); for (i = 1 ; i <= n ; i++) { Console.Write(" {0, 8:f4}", x[i - 1]); } Console.WriteLine(); // Query wavelet filter dimensions wtrans = "S"; // C09.C09Communications c09comm = new C09.C09Communications(wavnam, wtrans, mode, n, out ifail); nwc = c09comm.ApproximateCoeffCount; // if (ifail != 0) { Console.WriteLine(" ** C09Communications constructor with ifail = {0, 3}", ifail); return; } // double[] ca = new double[nwc]; double[] cd = new double[nwc]; C09.c09ca(n, x, ca, cd, c09comm, out ifail); // if (ifail == 0) { Console.WriteLine(" Approximation coefficients CA : "); for (i = 1 ; i <= nwc ; i++) { Console.Write(" {0, 8:f4}", ca[i - 1]); } Console.WriteLine(); Console.WriteLine(" Detail coefficients CD : "); for (i = 1 ; i <= nwc ; i++) { Console.Write(" {0, 8:f4}", cd[i - 1]); } Console.WriteLine(); } else { Console.WriteLine(""); Console.WriteLine(" ** c09ca returned with ifail = {0, 3}", ifail); } if (mode == "PE") { ny = 2 * nwc; } else { ny = (int)n; } // // C09.c09cb(ca, cd, ny, y, c09comm, out ifail); // if (ifail == 0) { Console.WriteLine(" Reconstruction Y : "); for (i = 1 ; i <= ny ; i++) { Console.Write(" {0, 8:f4}", y[i - 1]); } Console.WriteLine(); } else { Console.WriteLine(" {0} {1}","Error in c09cb: ifail = ",ifail); } // } // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); } } } }