/*
** Automatically generated from `benchmarking.m'
** by the Mercury compiler,
** version 14.01.1, configured for x86_64--netbsd.
** Do not edit.
**
** The autoconfigured grade settings governing
** the generation of this C file were
**
** TAG_BITS=3
** UNBOXED_FLOAT=yes
** PREGENERATED_DIST=no
** HIGHLEVEL_CODE=yes
**
** END_OF_C_GRADE_INFO
*/


/* :- module benchmarking. */
/* :- interface. */

#ifndef MR_HEADER_GUARD_benchmarking
#define MR_HEADER_GUARD_benchmarking

#ifdef __cplusplus
extern "C" {
#endif

#include "mercury.h"


#ifndef BENCHMARKING_DECL_GUARD
#define BENCHMARKING_DECL_GUARD
#line 161 "benchmarking.m"


#include "mercury_timing.h"
#include "mercury_heap.h"

extern void ML_report_stats(void);

extern void ML_report_full_memory_stats(void);


#line 1044 "benchmarking.m"

    extern  volatile    MR_Word ML_benchmarking_dummy_word;


#endif




#line 56 "benchmarking.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__benchmarking__benchmarking__type_ctor_info_int_reference_0;

#line 1102 "benchmarking.m"
void MR_CALL 
mercury__benchmarking____Compare____int_reference_0_0(
#line 1102 "benchmarking.m"
  MR_Word * mercury__benchmarking__param_1,
#line 1102 "benchmarking.m"
  MR_Word mercury__benchmarking__param_2,
#line 1102 "benchmarking.m"
  MR_Word mercury__benchmarking__param_3);

#line 1102 "benchmarking.m"
MR_bool MR_CALL 
mercury__benchmarking____Unify____int_reference_0_0(
#line 1102 "benchmarking.m"
  MR_Word mercury__benchmarking__param_1,
#line 1102 "benchmarking.m"
  MR_Word mercury__benchmarking__param_2);

#line 149 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__log_threadscope_message_3_p_0(
#line 149 "benchmarking.m"
  MR_String mercury__benchmarking__param_1);

#line 139 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__write_out_trace_counts_4_p_0(
#line 139 "benchmarking.m"
  MR_String mercury__benchmarking__param_1,
#line 139 "benchmarking.m"
  MR_Word * mercury__benchmarking__param_2);

#line 126 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_on_heap_profiling_0_p_0(void);

#line 125 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_off_heap_profiling_0_p_0(void);

#line 123 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_on_heap_profiling_2_p_0(void);

#line 122 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_off_heap_profiling_2_p_0(void);

#line 117 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_on_time_profiling_0_p_0(void);

#line 116 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_off_time_profiling_0_p_0(void);

#line 114 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_on_time_profiling_2_p_0(void);

#line 113 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_off_time_profiling_2_p_0(void);

#line 108 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_on_call_profiling_0_p_0(void);

#line 107 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_off_call_profiling_0_p_0(void);

#line 105 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_on_call_profiling_2_p_0(void);

#line 104 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_off_call_profiling_2_p_0(void);

#line 100 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_on_profiling_0_p_0(void);

#line 99 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_off_profiling_0_p_0(void);

#line 97 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_on_profiling_2_p_0(void);

#line 96 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__turn_off_profiling_2_p_0(void);

#line 88 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__benchmark_nondet_5_p_0(
#line 88 "benchmarking.m"
  MR_Word mercury__benchmarking__param_1,
#line 88 "benchmarking.m"
  MR_Word mercury__benchmarking__param_2,
#line 88 "benchmarking.m"
  MR_Word mercury__benchmarking__param_3,
#line 88 "benchmarking.m"
  MR_Box mercury__benchmarking__param_4,
#line 88 "benchmarking.m"
  MR_Integer * mercury__benchmarking__param_5,
#line 88 "benchmarking.m"
  MR_Integer mercury__benchmarking__param_6,
#line 88 "benchmarking.m"
  MR_Integer * mercury__benchmarking__param_7);

#line 78 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__benchmark_det_io_7_p_0(
#line 78 "benchmarking.m"
  MR_Word mercury__benchmarking__param_1,
#line 78 "benchmarking.m"
  MR_Word mercury__benchmarking__param_2,
#line 78 "benchmarking.m"
  MR_Word mercury__benchmarking__param_3,
#line 78 "benchmarking.m"
  MR_Word mercury__benchmarking__param_4,
#line 78 "benchmarking.m"
  MR_Box mercury__benchmarking__param_5,
#line 78 "benchmarking.m"
  MR_Box * mercury__benchmarking__param_6,
#line 78 "benchmarking.m"
  MR_Box mercury__benchmarking__param_7,
#line 78 "benchmarking.m"
  MR_Box * mercury__benchmarking__param_8,
#line 78 "benchmarking.m"
  MR_Integer mercury__benchmarking__param_9,
#line 78 "benchmarking.m"
  MR_Integer * mercury__benchmarking__param_10);

#line 75 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__benchmark_func_5_p_0(
#line 75 "benchmarking.m"
  MR_Word mercury__benchmarking__param_1,
#line 75 "benchmarking.m"
  MR_Word mercury__benchmarking__param_2,
#line 75 "benchmarking.m"
  MR_Word mercury__benchmarking__param_3,
#line 75 "benchmarking.m"
  MR_Box mercury__benchmarking__param_4,
#line 75 "benchmarking.m"
  MR_Box * mercury__benchmarking__param_5,
#line 75 "benchmarking.m"
  MR_Integer mercury__benchmarking__param_6,
#line 75 "benchmarking.m"
  MR_Integer * mercury__benchmarking__param_7);

#line 72 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__benchmark_det_5_p_1(
#line 72 "benchmarking.m"
  MR_Word mercury__benchmarking__param_1,
#line 72 "benchmarking.m"
  MR_Word mercury__benchmarking__param_2,
#line 72 "benchmarking.m"
  MR_Word mercury__benchmarking__param_3,
#line 72 "benchmarking.m"
  MR_Box mercury__benchmarking__param_4,
#line 72 "benchmarking.m"
  MR_Box * mercury__benchmarking__param_5,
#line 72 "benchmarking.m"
  MR_Integer mercury__benchmarking__param_6,
#line 72 "benchmarking.m"
  MR_Integer * mercury__benchmarking__param_7);

#line 71 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__benchmark_det_5_p_0(
#line 71 "benchmarking.m"
  MR_Word mercury__benchmarking__param_1,
#line 71 "benchmarking.m"
  MR_Word mercury__benchmarking__param_2,
#line 71 "benchmarking.m"
  MR_Word mercury__benchmarking__param_3,
#line 71 "benchmarking.m"
  MR_Box mercury__benchmarking__param_4,
#line 71 "benchmarking.m"
  MR_Box * mercury__benchmarking__param_5,
#line 71 "benchmarking.m"
  MR_Integer mercury__benchmarking__param_6,
#line 71 "benchmarking.m"
  MR_Integer * mercury__benchmarking__param_7);

#line 56 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__report_memory_attribution_1_p_0(
#line 56 "benchmarking.m"
  MR_String mercury__benchmarking__param_1);

#line 54 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__report_memory_attribution_3_p_0(
#line 54 "benchmarking.m"
  MR_String mercury__benchmarking__param_1);

#line 43 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__report_full_memory_stats_0_p_0(void);

#line 37 "benchmarking.m"
void MR_CALL 
mercury__benchmarking__report_stats_0_p_0(void);

void mercury__benchmarking__init(void);
void mercury__benchmarking__init_type_tables(void);
void mercury__benchmarking__init_debugger(void);

#ifdef __cplusplus
}
#endif

#endif /* MR_HEADER_GUARD_benchmarking */

/* :- end_interface benchmarking. */
