:- module (mdbcomp.slice_and_dice).
:- interface.
:- import_module io.
:- import_module map.
:- import_module maybe.
:- import_module (mdbcomp.prim_data).
:- import_module (mdbcomp.trace_counts).
:- type dice
	--->	dice(((mdbcomp.slice_and_dice).num_pass_tests) :: int, ((mdbcomp.slice_and_dice).num_fail_tests) :: int, ((mdbcomp.slice_and_dice).dice_proc_map) :: map.map(mdbcomp.prim_data.proc_label, mdbcomp.slice_and_dice.proc_dice)).
:- type dice_exec_count
	--->	dice_exec_count(((mdbcomp.slice_and_dice).dice_filename) :: string, ((mdbcomp.slice_and_dice).dice_linenumber) :: int, ((mdbcomp.slice_and_dice).pass_count) :: int, ((mdbcomp.slice_and_dice).pass_tests) :: int, ((mdbcomp.slice_and_dice).fail_count) :: int, ((mdbcomp.slice_and_dice).fail_tests) :: int).
:- type dice_proc_map == map.map(mdbcomp.prim_data.proc_label, mdbcomp.slice_and_dice.proc_dice).
:- type proc_dice == map.map(mdbcomp.trace_counts.path_port, mdbcomp.slice_and_dice.dice_exec_count).
:- type proc_slice == map.map(mdbcomp.trace_counts.path_port, mdbcomp.slice_and_dice.slice_exec_count).
:- type slice
	--->	slice(((mdbcomp.slice_and_dice).num_tests) :: int, ((mdbcomp.slice_and_dice).slice_proc_map) :: map.map(mdbcomp.prim_data.proc_label, mdbcomp.slice_and_dice.proc_slice)).
:- type slice_exec_count
	--->	slice_exec_count(((mdbcomp.slice_and_dice).slice_filename) :: string, ((mdbcomp.slice_and_dice).slice_linenumber) :: int, ((mdbcomp.slice_and_dice).slice_count) :: int, ((mdbcomp.slice_and_dice).slice_tests) :: int).
:- type slice_proc_map == map.map(mdbcomp.prim_data.proc_label, mdbcomp.slice_and_dice.proc_slice).
