function geometry_test ( )

%*****************************************************************************80
%
%% geometry_test tests geometry.
%
%  Licensing:
%
%    This code is distributed under the GNU LGPL license.
%
%  Modified:
%
%    08 April 2019
%
%  Author:
%
%    John Burkardt
%
  addpath ( '../geometry' );

  timestamp ( );
  fprintf ( 1, '\n' );
  fprintf ( 1, 'geometry_test\n' );
  fprintf ( 1, '  MATLAB version\n' );
  fprintf ( 1, '  Test geometry.\n' );

  angle_box_2d_test ( );
  angle_contains_point_2d_test ( );
  angle_deg_2d_test ( );
  angle_half_2d_test ( );
  angle_rad_2d_test ( );
  angle_rad_3d_test ( );
  angle_rad_nd_test ( );
  angle_turn_2d_test ( );

  annulus_area_2d_test ( );

  annulus_sector_area_2d_test ( );
  annulus_sector_centroid_2d_test ( );

  ball01_sample_2d_test ( );
  ball01_sample_3d_test ( );
  ball01_sample_nd_test ( );
  ball01_volume_test ( );

  basis_map_3d_test ( );

  geometry_test009 ( );
  geometry_test010 ( );

  circle_area_2d_test ( );

  circle_dia2imp_2d_test ( );

  circle_imp_point_dist_2d_test ( );
  circle_imp_print_2d_test ( );

  circle_lune_angle_by_height_2d_test ( );
  circle_lune_area_by_angle_2d_test ( );
  circle_lune_area_by_height_2d_test ( );
  circle_lune_centroid_2d_test ( );
  circle_lune_height_by_angle_2d_test ( );

  circle_sector_area_2d_test ( );

  circle_triangle_area_2d_test ( );

  circles_intersect_area_2d_test ( );
  circles_intersect_points_2d_test ( );

  geometry_test0126 ( );
  geometry_test0127 ( );
  geometry_test013 ( );
  geometry_test014 ( );
  geometry_test015 ( );
  geometry_test0155 ( );
  geometry_test0156 ( );
  geometry_test016 ( );
  geometry_test0165 ( );
  geometry_test017 ( );
  geometry_test0183 ( );
  geometry_test0185 ( );
  geometry_test019 ( );

  cone_volume_test ( );

  geometry_test020 ( );

  cube01_volume_test ( );

  geometry_test0201 ( );
  geometry_test02015 ( );
  geometry_test0202 ( );
  geometry_test0203 ( );
  geometry_test02035 ( );

  cylinder_volume_3d_test ( );

  degrees_to_radians_test ( );

  geometry_test021 ( );
  geometry_test022 ( );
  geometry_test023 ( );
  geometry_test0232 ( );
  geometry_test0235 ( );
  geometry_test0236 ( );
  geometry_test0238 ( );
  geometry_test024 ( );

  ellipse_area1_test ( );
  ellipse_area2_test ( );
  ellipse_area3_test ( );
  ellipse_point_dist_2d_test ( );
  ellipse_point_near_2d_test ( );
  ellipse_points_2d_test ( );
  ellipse_points_arc_2d_test ( );

  geometry_test028 ( );
  geometry_test029 ( );
  geometry_test030 ( );
  geometry_test0315 ( );
  geometry_test032 ( );
  geometry_test0321 ( );

  hyperball01_volume_test ( );

  i4_uniform_ab_test ( );
  i4_wrap_test ( );

  geometry_test0322 ( );
  geometry_test0323 ( );

  i4vec_heap_d_test ( );
  i4vec_indicator1_test ( );
  i4vec_lcm_test ( );
  i4vec_print_test ( );
  i4vec_uniform_ab_test ( );

  geometry_test0325 ( );
  geometry_test0327 ( );
  geometry_test0335 ( );
  geometry_test0336 ( );
  geometry_test0337 ( );
  geometry_test034 ( );

  line_exp2imp_2d_test ( );
  line_imp2exp_2d_test ( );

  geometry_test0346 ( );
  geometry_test035 ( );
  geometry_test0351 ( );
  geometry_test0352 ( );
  geometry_test038 ( );
  geometry_test0385 ( );
  geometry_test03855 ( );
  geometry_test0386 ( );

  lines_exp_int_2d_test ( );

  geometry_test040 ( );
  geometry_test041 ( );

  lines_imp_int_2d_test ( );

  geometry_test0416 ( );
  geometry_test0418 ( );
  geometry_test042 ( );
  geometry_test043 ( );
  geometry_test044 ( );
  geometry_test045 ( );
  geometry_test046 ( );
  geometry_test047 ( );
  geometry_test0475 ( );
  geometry_test0477 ( );
  geometry_test0478 ( );
  geometry_test048 ( );
  geometry_test0485 ( );
  geometry_test049 ( );
  geometry_test0493 ( );
  geometry_test0495 ( );

  geometry_test050 ( );
  geometry_test051 ( );
  geometry_test052 ( );
  geometry_test053 ( );
  geometry_test054 ( );
  geometry_test055 ( );
  geometry_test056 ( );
  geometry_test057 ( );
  geometry_test058 ( );
  geometry_test059 ( );

  geometry_test060 ( );
  geometry_test061 ( );
  geometry_test0615 ( );
  geometry_test0616 ( );
  geometry_test0617 ( );
  geometry_test062 ( );
  geometry_test063 ( );
  geometry_test064 ( );
  geometry_test065 ( );
  geometry_test066 ( );
  geometry_test068 ( );

  polar_to_xy_test ( );

  geometry_test0755 ( );
  geometry_test0757 ( );
  geometry_test076 ( );
  geometry_test0765 ( );
  geometry_test078 ( );
  geometry_test0782 ( );
  geometry_test0784 ( );
  geometry_test0786 ( );
  geometry_test079 ( );

  geometry_test080 ( );
  geometry_test0801 ( );
  geometry_test0803 ( );
  geometry_test0805 ( );

  polygon_solid_angle_3d_test ( );

  geometry_test081 ( );
  geometry_test082 ( );
  geometry_test0825 ( );
  geometry_test083 ( );
  geometry_test084 ( );
  geometry_test0844 ( );
  geometry_test0845 ( );
  geometry_test0846 ( );

  provec_test ( );

  pyramid_volume_3d_test ( );
  pyramid01_volume_3d_test ( );

  geometry_test171 ( );
  geometry_test1712 ( );
  geometry_test1715 ( );

  quad_angles_test ( );
  quad_angles_degrees_test ( );
  quad_convex_random_test ( );
  quad_is_convex_test ( );
  quad_is_simple_test ( );
  quad_random_test ( );
  quad_simple_random_test ( );

  r8_acos_test ( );
  r8_asin_test ( );
  r8_atan_test ( );
  r8_haversine_test ( );
  r8_uniform_01_test ( );
  r8_uniform_ab_test ( );

  r82vec_part_quick_a_test ( );
  r82vec_permute_test ( );
  r82vec_print_test ( );
  r82vec_sort_quick_a_test ( );
  r82vec_sort_heap_index_a_test ( );

  r8mat_inverse_3d_test ( );
  r8mat_solve_test ( ); 
  r8mat_solve_2d_test ( );
  r8mat_uniform_01_test ( );
  r8mat_uniform_ab_test ( );

  r8vec_any_normal_test ( );
  r8vec_normal_01_test ( );
  r8vec_scalar_triple_product_test ( );
  r8vec_uniform_01_test ( );
  r8vec_uniform_ab_test ( );

  r8vec3_print_test ( );

  radec_distance_3d_test ( );
  radec_to_xyz_test ( );

  radians_to_degrees_test ( );

  geometry_test1787 ( );
 
  rtp_to_xyz_test ( );

  geometry_test036 ( );
  geometry_test0365 ( );
  geometry_test0366 ( );

  segment_point_near_2d_test ( );

  geometry_test0368 ( );
  geometry_test037 ( );
  geometry_test1788 ( );
  geometry_test1789 ( );
  geometry_test179 ( );

  sort_heap_external_test ( );

  simplex_volume_nd_test ( );

  simplex01_volume_nd_test ( );

  sphere_dia2imp_3d_test ( );

  geometry_test182 ( );
  geometry_test183 ( );
  geometry_test1835 ( );
  geometry_test1836 ( );
  geometry_test187 ( );
  geometry_test188 ( );
  geometry_test189 ( );

  sphere01_area_nd_test ( );

  geometry_test190 ( );
  geometry_test191 ( );
  geometry_test192 ( );
  geometry_test193 ( );
  geometry_test194 ( );
  geometry_test195 ( );
  geometry_test1955 ( );
  geometry_test196 ( );
  geometry_test197 ( );
  geometry_test198 ( );
  geometry_test199 ( );

  sphere_triangle_sides_to_angles_test ( );

  geometry_test201 ( );
  geometry_test202 ( );

  tetrahedron_barycentric_3d_test ( );
  tetrahedron_centroid_3d_test ( );

  geometry_test2031 ( );
  geometry_test2032 ( );
  geometry_test20321 ( );
  geometry_test20322 ( );
  geometry_test203224 ( );
  geometry_test203225 ( );
  geometry_test20323 ( );
  geometry_test203232 ( );
  geometry_test203233 ( );
  geometry_test203234 ( );
  geometry_test203235 ( );

  tetrahedron_sample_3d_test ( );

  geometry_test20325 ( );

  tetrahedron_solid_angles_3d_test ( );
  tetrahedron_volume_3d_test ( );

  tetrahedron01_volume_test ( );

  geometry_test204 ( );
  geometry_test205 ( );

  tp_to_xyz_test ( );

  geometry_test206 ( );
  geometry_test20605 ( );
  geometry_test2061 ( );

  triangle_area_heron_test ( );

  geometry_test209 ( );
  geometry_test2066 ( );
  geometry_test2094 ( );
  geometry_test2101 ( );
  geometry_test21011 ( );
  geometry_test2067 ( );
  geometry_test21015 ( );
  geometry_test2068 ( );
  geometry_test2069 ( );
  geometry_test207 ( );
  geometry_test2075 ( );
  geometry_test208 ( );
  geometry_test2102 ( );
  geometry_test2070 ( );
  geometry_test20701 ( );
  geometry_test2104 ( );
  geometry_test2105 ( );
  geometry_test211 ( );
  geometry_test2103 ( );
  geometry_test2071 ( );
  geometry_test20715 ( );
  geometry_test2095 ( );
  geometry_test2072 ( );

  geometry_test2115 ( );
  geometry_test212 ( );
  geometry_test213 ( );
  geometry_test219 ( );

  tuple_next2_test ( );

  geometry_test220 ( );
  geometry_test221 ( );

  vector_rotate_2d_test ( );

  geometry_test2225 ( );

  vector_rotate_base_2d_test ( );
  vector_separation_nd_test ( );
  vector_unit_nd_test ( );

  voxels_dist_l1_nd_test ( );
  voxels_line_3d_test ( );
  voxels_region_3d_test ( );
  voxels_step_3d_test ( );

  wedge01_volume_test ( );

  xy_to_polar_test ( );

  xyz_to_radec_test ( );
  xyz_to_rtp_test ( );
  xyz_to_tp_test ( );
%
%  Terminate.
%
  fprintf ( 1, '\n' );
  fprintf ( 1, 'geometry_test\n' );
  fprintf ( 1, '  Normal end of execution.\n' );
  fprintf ( 1, '\n' );
  timestamp ( );

  rmpath ( '../geometry' );

  return
end
