示例#1
0
void test01 ( void )

/******************************************************************************/
/*
  Purpose:

    TEST01 simply prints the title of each grid and function.

  Licensing:

    This code is distributed under the GNU LGPL license. 

  Modified:

    30 January 2012

  Author:

    John Burkardt
*/
{
  int f_num;
  int fi;
  char ft[100];
  int g_num;
  int gi;
  char gt[100];

  printf ( "\n" );
  printf ( "TEST01\n" );
  printf ( "  For each grid and function, print the title.\n" );

  g_num = g00_num ( );

  printf ( "\n" );
  printf ( "  GRIDS:\n" );
  printf ( "  Index  Title\n" );
  printf ( "\n" );

  for ( gi = 1; gi <= g_num; gi++ )
  {
    g00_title ( gi, gt );
    printf ( "  %2d  %s\n", gi, gt );
  }

  f_num = f00_num ( );

  printf ( "\n" );
  printf ( "  FUNCTIONS:\n" );
  printf ( "  Index  Title\n" );
  printf ( "\n" );

  for ( fi = 1; fi <= f_num; fi++ )
  {
    f00_title ( fi, ft );
    printf ( "  %2d  %s\n", fi, ft );
  }
  return;
}
int main ( )

/******************************************************************************/
/*
  Purpose:

    MAIN is the main program for PWL_INTERP_2D_SCATTERED_PRB.

  Discussion:

    PWL_INTERP_2D_SCATTERED_PRB tests the PWL_INTERP_2D_SCATTERED library.

  Licensing:

    This code is distributed under the GNU LGPL license.

  Modified:

    25 October 2012

  Author:

    John Burkardt
*/
{
  int prob;
  int prob_num;

  timestamp ( );
  printf ( "\n" );
  printf ( "PWL_INTERP_2D_SCATTERED_PRB:\n" );
  printf ( "  C version\n" );
  printf ( "  Test the PWL_INTERP_2D_SCATTERED library.\n" );
  printf ( "  The R8LIB library is needed.\n" );
  printf ( "  This test also needs the TEST_INTERP_2D library.\n" );

  test01 ( );
  test02 ( );
/*
  Numerical tests.
*/
  prob_num = f00_num ( );

  for ( prob = 1; prob <= prob_num; prob++ )
  {
    test03 ( prob );
  }
/*
  Terminate.
*/
  printf ( "\n" );
  printf ( "PWL_INTERP_2D_SCATTERED_PRB:\n" );
  printf ( "  Normal end of execution.\n" );
  printf ( "\n" );
  timestamp ( );

  return 0;
}
int main ( )

/******************************************************************************/
/*
  Purpose:

    MAIN is the main program for VANDERMONDE_APPROX_2D_PRB.

  Discussion:

    VANDERMONDE_APPROX_2D_PRB tests the VANDERMONDE_APPROX_2D library.

  Licensing:

    This code is distributed under the GNU LGPL license.

  Modified:

    11 October 2012

  Author:

    John Burkardt
*/
{
  int j;
  int m;
  int m_test[5] = { 0, 1, 2, 4, 8 };
  int m_test_num = 5;
  int grid;
  int prob;
  int prob_num;

  timestamp ( );
  printf ( "\n" );
  printf ( "VANDERMONDE_APPROX_2D_PRB:\n" );
  printf ( "  C version\n" );
  printf ( "  Test the VANDERMONDE_APPROX_2D library.\n" );
  printf ( "  This test also needs the TEST_INTERP_2D library.\n" );

  prob_num = f00_num ( );

  for ( prob = 1; prob <= prob_num; prob++ )
  {
    grid = 1;
    for ( j = 0; j < m_test_num; j++ )
    {
      m = m_test[j];
      test01 ( prob, grid, m );
    }
  }
/*
  Terminate.
*/
  printf ( "\n" );
  printf ( "VANDERMONDE_APPROX_2D_PRB:\n" );
  printf ( "  Normal end of execution.\n" );
  printf ( "\n" );
  timestamp ( );

  return 0;
}
int main ( )

/******************************************************************************/
/*
  Purpose:

    MAIN is the main program for PWL_INTERP_2D_PRB.

  Discussion:

    PWL_INTERP_2D_PRB tests the PWL_INTERP_2D library.

  Licensing:

    This code is distributed under the GNU LGPL license.

  Modified:

    15 October 2012

  Author:

    John Burkardt
*/
{
  int i;
  int n;
  int n_test[5] = { 2, 3, 4, 5, 9 };
  int n_test_num = 5;
  int prob;
  int prob_num;

  timestamp ( );
  printf ( "\n" );
  printf ( "PWL_INTERP_2D_PRB:\n" );
  printf ( "  C version\n" );
  printf ( "  Test the PWL_INTERP_2D library.\n" );
  printf ( "  The R8LIB library is needed.\n" );
  printf ( "  The test needs the TEST_INTERP_2D library.\n" );

  prob_num = f00_num ( );
/*
  Numerical tests.
*/
  for ( prob = 1; prob <= prob_num; prob++ )
  {
    for ( i = 0; i < n_test_num; i++ )
    {
      n = n_test[i];
      test01 ( prob, n );
    }
  }
/*
  Terminate.
*/
  printf ( "\n" );
  printf ( "PWL_INTERP_2D_PRB:\n" );
  printf ( "  Normal end of execution.\n" );
  printf ( "\n" );
  timestamp ( );

  return 0;
}
示例#5
0
void test02 ( void )

/******************************************************************************/
/*
  Purpose:

    TEST02 samples each function using each grid.

  Licensing:

    This code is distributed under the GNU LGPL license. 

  Modified:

    30 January 2012

  Author:

    John Burkardt
*/
{
  double *f;
  double f_ave;
  double f_max;
  double f_min;
  int f_num;
  int fi;
  char ft[100];
  int g_num;
  int gi;
  int gn;
  char gt[100];
  double *gx;
  double *gy;

  printf ( "\n" );
  printf ( "TEST02\n" );
  printf ( "  Sample each function over each grid.\n" );

  g_num = g00_num ( );
  f_num = f00_num ( );

  for ( fi = 1; fi <= f_num; fi++ )
  {
    f00_title ( fi, ft );
    printf ( "\n" );
    printf ( "  %2d  %s\n", fi, ft );
    printf ( "        Grid Title                     " );
    printf ( "Min(F)          Ave(F)           Max(F)\n" );
    printf ( "\n" );

    for ( gi = 1; gi <= g_num; gi++ )
    {
      g00_title ( gi, gt );
      gn = g00_size ( gi );

      gx = ( double * ) malloc ( gn * sizeof ( double ) );
      gy = ( double * ) malloc ( gn * sizeof ( double ) );

      g00_xy ( gi, gn, gx, gy );

      f = ( double * ) malloc ( gn * sizeof ( double ) );

      f00_f0 ( fi, gn, gx, gy, f );

      f_max = r8vec_max ( gn, f );
      f_min = r8vec_min ( gn, f );
      f_ave = r8vec_sum ( gn, f );
      f_ave = f_ave / ( double ) ( gn );

      printf ( "  %4d  %25s  %14g  %14g  %14g\n", gi, gt, f_min, f_ave, f_max );

      free ( f );
      free ( gx );
      free ( gy );
    }
  }
  return;
}