0.6.0
Loading...
Searching...
No Matches
minimization_random_benchmark.f90 File Reference

Enumerations

enum  {
  opt_short_n = 1 , opt_short_x , opt_short_r , opt_short_bigr ,
  opt_short_f , opt_short_bigf , opt_short_o , opt_short_g ,
  opt_short_s , opt_short_bigb , opt_short_bigg , opt_short_m ,
  opt_short_t , opt_short_w , opt_short_h , opt_short_v ,
  opt_short_zzzz
}
 
enum  {
  opt_long_number_of_tests = 1 , opt_long_exact , opt_long_min_radius , opt_long_max_radius ,
  opt_long_min_volume_fraction , opt_long_max_volume_fraction , opt_long_optimized_centroid , opt_long_analytic_gradient ,
  opt_long_symmetric_reconstruction , opt_long_bfgs , opt_long_gauss_newton , opt_long_max_iter ,
  opt_long_tolerance , opt_long_write_mof_problems , opt_long_help , opt_long_verbose ,
  opt_long_zzzz
}
 

Functions/Subroutines

program mof3d_tetra_minimization_random_benchmark
 
subroutine compute_cost (tetra, ref_volume, ref_centroid1, ref_centroid2, normal, cost)
 
subroutine read_command_line (n, is_verbose, is_exact, tolerance, max_iter, min_radius, max_radius, min_vof, max_vof, grad_anal, grad_optim, algorithm, use_symmetric)
 
subroutine print_usage ()
 
pure recursive subroutine quicksort_double (tab, p, r)
 
pure subroutine partition_double (tab, p, r, q)
 
pure recursive subroutine quicksort_integer (tab, p, r)
 
pure subroutine partition_integer (tab, p, r, q)
 
subroutine init_random_seed ()
 
integer function lcg (s)
 
subroutine write_mof_problem (filename, tetra, ref_volume, ref_centroid1, ref_centroid2)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
opt_short_n 
opt_short_x 
opt_short_r 
opt_short_bigr 
opt_short_f 
opt_short_bigf 
opt_short_o 
opt_short_g 
opt_short_s 
opt_short_bigb 
opt_short_bigg 
opt_short_m 
opt_short_t 
opt_short_w 
opt_short_h 
opt_short_v 
opt_short_zzzz 

◆ anonymous enum

anonymous enum
Enumerator
opt_long_number_of_tests 
opt_long_exact 
opt_long_min_radius 
opt_long_max_radius 
opt_long_min_volume_fraction 
opt_long_max_volume_fraction 
opt_long_optimized_centroid 
opt_long_analytic_gradient 
opt_long_symmetric_reconstruction 
opt_long_bfgs 
opt_long_gauss_newton 
opt_long_max_iter 
opt_long_tolerance 
opt_long_write_mof_problems 
opt_long_help 
opt_long_verbose 
opt_long_zzzz 

Function/Subroutine Documentation

◆ compute_cost()

subroutine mof3d_tetra_minimization_random_benchmark::compute_cost ( type(t_polyhedron), intent(in) tetra,
double precision, intent(in) ref_volume,
double precision, dimension(3), intent(in) ref_centroid1,
double precision, dimension(3), intent(in) ref_centroid2,
double precision, dimension(3), intent(in) normal,
double precision, intent(out) cost )

◆ init_random_seed()

subroutine mof3d_tetra_minimization_random_benchmark::init_random_seed
private

◆ lcg()

integer function mof3d_tetra_minimization_random_benchmark::lcg ( integer(int64) s)
private

◆ mof3d_tetra_minimization_random_benchmark()

program mof3d_tetra_minimization_random_benchmark

◆ partition_double()

pure subroutine mof3d_tetra_minimization_random_benchmark::partition_double ( double precision, dimension(:), intent(inout) tab,
integer, intent(in) p,
integer, intent(in) r,
integer, intent(out) q )
private

◆ partition_integer()

pure subroutine mof3d_tetra_minimization_random_benchmark::partition_integer ( integer, dimension(:), intent(inout) tab,
integer, intent(in) p,
integer, intent(in) r,
integer, intent(out) q )
private

◆ print_usage()

subroutine mof3d_tetra_minimization_random_benchmark::print_usage
private

◆ quicksort_double()

pure recursive subroutine mof3d_tetra_minimization_random_benchmark::quicksort_double ( double precision, dimension(:), intent(inout) tab,
integer, intent(in) p,
integer, intent(in) r )
private

◆ quicksort_integer()

pure recursive subroutine mof3d_tetra_minimization_random_benchmark::quicksort_integer ( integer, dimension(:), intent(inout) tab,
integer, intent(in) p,
integer, intent(in) r )
private

◆ read_command_line()

subroutine mof3d_tetra_minimization_random_benchmark::read_command_line ( integer, intent(out) n,
logical, intent(out) is_verbose,
logical, intent(out) is_exact,
double precision, intent(out) tolerance,
integer, intent(out) max_iter,
double precision, intent(out) min_radius,
double precision, intent(out) max_radius,
double precision, intent(out) min_vof,
double precision, intent(out) max_vof,
logical, intent(out) grad_anal,
logical, intent(out) grad_optim,
integer, intent(out) algorithm,
logical, intent(out) use_symmetric )
private

◆ write_mof_problem()

subroutine mof3d_tetra_minimization_random_benchmark::write_mof_problem ( character(len=*), intent(in) filename,
type(t_polyhedron), intent(in) tetra,
double precision, dimension(2) ref_volume,
double precision, dimension(3) ref_centroid1,
double precision, dimension(3) ref_centroid2 )
private