private static void test03() //****************************************************************************80 // // Purpose: // // TEST03 tests TRIANGLE_NCC_RULE. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 30 January 2007 // // Author: // // John Burkardt // { int rule; Console.WriteLine(""); Console.WriteLine("TEST03"); Console.WriteLine(" TRIANGLE_NCC_RULE returns the points and weights"); Console.WriteLine(" of an NCC rule for the triangle."); Console.WriteLine(""); Console.WriteLine(" In this test, we simply check that, for each"); Console.WriteLine(" quadrature point, the barycentric coordinates"); Console.WriteLine(" add up to 1."); int rule_num = NewtonCotesClosed.triangle_ncc_rule_num(); Console.WriteLine(""); Console.WriteLine(" Rule Suborder Sum of coordinates"); Console.WriteLine(""); for (rule = 1; rule <= rule_num; rule++) { int suborder_num = NewtonCotesClosed.triangle_ncc_suborder_num(rule); double[] suborder_xyz = new double[3 * suborder_num]; double[] suborder_w = new double[suborder_num]; NewtonCotesClosed.triangle_ncc_subrule(rule, suborder_num, ref suborder_xyz, ref suborder_w); Console.WriteLine(""); Console.WriteLine(" " + rule.ToString(CultureInfo.InvariantCulture).PadLeft(8) + " " + suborder_num.ToString(CultureInfo.InvariantCulture).PadLeft(8) + ""); int suborder; for (suborder = 0; suborder < suborder_num; suborder++) { double xyz_sum = suborder_xyz[0 + suborder * 3] + suborder_xyz[1 + suborder * 3] + suborder_xyz[2 + suborder * 3]; Console.WriteLine(" " + " " + xyz_sum.ToString("0.################").PadLeft(25) + ""); } } }