Next: SIn_Array Reference, Previous: SIn_Array Overview, Up: SIn Array Object
The code below shows how to use a SIn_Array object to collect the number of times each branch executes.
// Structure to store in SIn_Array
//
struct Diff_SIn_Info {int correct_count; int exe_count; };
// Declare SIn_Array
//
SIn_Array<Diff_SIn_Info> sin_info;
// This routine called for each CTI
//
void at_cti_commit(EZ_Profile_Diff *ezd, DIn *din)
{
Diff_SIn_Info* const si = ezd->sin_info[din];
si->exe_count++;
}
// This routine called at end of simulation.
//
void at_simulation_complete(EZ_Profile_Diff *ezd)
{
double total_exec = 0;
for( int ii; sin_info.iterate(ii); )
{
Diff_SIn_Info* const si = sin_info[ii];
total_exec += si->exe_count;
}
}