package pgsolver

  1. Overview
  2. Docs
type universal_solve_options = {
  1. generate_statistics : bool;
  2. verb_level : Basics.verbosity_level;
  3. decompose_sccs : bool;
  4. global_optimization : bool;
  5. solve_special_games : bool;
  6. local_optimization : bool;
  7. globalopt_remove_useless_self_cycles : bool;
  8. globalopt_solve_useful_self_cycles : bool;
  9. solvespec_single_parity : bool;
  10. solvespec_single_player : bool;
  11. localopt_priority_propagation : bool;
  12. localopt_compact_priorities : bool;
}
val universal_solve_def_options : bool -> int -> universal_solve_options
val universal_solve_global_options : (bool -> int -> universal_solve_options) ref
val universal_solve_init_options_verbose : (bool -> int -> universal_solve_options) -> universal_solve_options
type universal_solve_statistics = {
  1. overall_timing : Tcstiming.SimpleTiming.timing_object;
  2. universal_timing : Tcstiming.SimpleTiming.timing_object;
  3. backend_timing : Tcstiming.SimpleTiming.timing_object;
  4. logistics_timing : Tcstiming.SimpleTiming.timing_object;
  5. stats_timing : Tcstiming.SimpleTiming.timing_object;
  6. overall_solved_nodes : int ref;
  7. universal_solved_nodes : int ref;
  8. backend_solved_nodes : int ref;
  9. backend_investigated_nodes : int ref;
  10. index_sum : int ref;
  11. index_reduced_sum : int ref;
  12. index_count : int ref;
  13. global_timing : Tcstiming.SimpleTiming.timing_object;
  14. global_timing_without_attractor : Tcstiming.SimpleTiming.timing_object;
  15. global_nodes : int ref;
  16. global_nodes_without_attractor : int ref;
  17. special_timing : Tcstiming.SimpleTiming.timing_object;
  18. special_nodes : int ref;
  19. local_timing : Tcstiming.SimpleTiming.timing_object;
  20. decomposition_timing : Tcstiming.SimpleTiming.timing_object;
  21. max_recursion_depth : int ref;
  22. recursive_calls : int ref;
  23. toplevel_sccs : int ref;
  24. largest_toplevel_scc : int ref;
  25. total_sccs : int ref;
  26. attractor_timing : Tcstiming.SimpleTiming.timing_object;
  27. attractor_investigated_nodes : int ref;
  28. attractor_solved_nodes : int ref;
  29. globalopt_remove_useless_self_cycles_nodes : int ref;
  30. globalopt_remove_useless_self_cycles_timing : Tcstiming.SimpleTiming.timing_object;
  31. globalopt_solve_useful_self_cycles_nodes : int ref;
  32. globalopt_solve_useful_self_cycles_timing : Tcstiming.SimpleTiming.timing_object;
  33. solvespec_single_parity_nodes : int ref;
  34. solvespec_single_parity_timing : Tcstiming.SimpleTiming.timing_object;
  35. solvespec_single_player_nodes : int ref;
  36. solvespec_single_player_timing : Tcstiming.SimpleTiming.timing_object;
  37. localopt_priority_propagation_timing : Tcstiming.SimpleTiming.timing_object;
  38. localopt_compact_priorities_timing : Tcstiming.SimpleTiming.timing_object;
}
val universal_solve_format_stats : universal_solve_statistics -> string
val universal_solve_init_statistics : unit -> universal_solve_statistics