/// <summary> /// TEST02 tests HAAR_2D and HAAR_2D_INVERSE. /// </summary> public static void test02() { int m = 16; int n = 4; int seed; double[] u; double[] v; double[] w; Console.Write("\n"); Console.Write("TEST02\n"); Console.Write(" HAAR_2D computes the Haar transform of an array.\n"); Console.Write(" HAAR_2D_INVERSE inverts the transform.\n"); // // Demonstrate successful inversion. // seed = 123456789; u = HaarTransform.r8mat_uniform_01_new(m, n, ref seed); HaarTransform.r8mat_print(m, n, u, " Input array U:"); v = HaarTransform.r8mat_copy_new(m, n, u); HaarTransform.haar_2d(m, n, v); HaarTransform.r8mat_print(m, n, v, " Transformed array V:"); w = HaarTransform.r8mat_copy_new(m, n, v); HaarTransform.haar_2d_inverse(m, n, w); HaarTransform.r8mat_print(m, n, w, " Recovered array W:"); u = null; v = null; w = null; return; }
public static void TestHaarTransform() { double[][] mat = Get2DTestData(); Matrix matrix = new Matrix(mat); //matrix.Print(); double[] packed = matrix.GetColumnPackedCopy(); HaarTransform.r8mat_print(matrix.Rows, matrix.Columns, packed, " Input array packed:"); HaarTransform.haar_2d(matrix.Rows, matrix.Columns, packed); HaarTransform.r8mat_print(matrix.Rows, matrix.Columns, packed, " Transformed array packed:"); double[] w = HaarTransform.r8mat_copy_new(matrix.Rows, matrix.Columns, packed); HaarTransform.haar_2d_inverse(matrix.Rows, matrix.Columns, w); HaarTransform.r8mat_print(matrix.Rows, matrix.Columns, w, " Recovered array W:"); Matrix m = new Matrix(w, matrix.Rows); //m.Print(); }