:- module benchmarking. :- use_module builtin, int, private_builtin, std_util. :- type (benchmarking:int_reference) ---> int_reference((builtin:c_pointer)) . :- pragma foreign_import_module("C", benchmarking). :- pragma foreign_proc("C", benchmarking:report_stats, [will_not_call_mercury, not_thread_safe, not_tabled_for_io], " ML_report_stats(); "). :- pragma foreign_proc("C", benchmarking:report_full_memory_stats, [will_not_call_mercury, not_thread_safe, not_tabled_for_io], " #ifdef MR_MPROF_PROFILE_MEMORY ML_report_full_memory_stats(); #endif "). :- pragma termination_info((benchmarking:report_stats), finite(0, []), cannot_loop). :- pragma termination_info((benchmarking:report_full_memory_stats), finite(0, []), cannot_loop). :- pragma termination_info(benchmarking:benchmark_det((pred((builtin:in), (builtin:out)) is det), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(benchmarking:benchmark_det((pred((builtin:in), (builtin:out)) is cc_multi), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(benchmarking:benchmark_func((func((builtin:in)) = (builtin:out) is det), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(benchmarking:benchmark_det_io((pred((builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is det), (builtin:in), (builtin:out), (builtin:di), (builtin:uo), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(benchmarking:benchmark_nondet((pred((builtin:in), (builtin:out)) is nondet), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop).