From: Philippe E. <ph...@us...> - 2002-10-12 02:53:11
|
Update of /cvsroot/oprofile/oprofile/pp In directory usw-pr-cvs1:/tmp/cvs-serv5200/pp Modified Files: op_time.cpp op_to_source.cpp opp_symbol.cpp samples_container.cpp Log Message: factorize doing samples ratio regards, Phil Index: op_time.cpp =================================================================== RCS file: /cvsroot/oprofile/oprofile/pp/op_time.cpp,v retrieving revision 1.68 retrieving revision 1.69 diff -u -d -r1.68 -r1.69 --- op_time.cpp 1 Oct 2002 22:32:31 -0000 1.68 +++ op_time.cpp 12 Oct 2002 02:53:08 -0000 1.69 @@ -187,15 +187,13 @@ // feel to rewrite with cout and its formated output #if 1 printf("%-9d ", count[i]); - double ratio = total_count[i] >= 1.0 - ? count[i] / total_count[i] : 0.0; + double ratio = op_ratio(count[i], total_count[i]); if (ratio < 10.00 / 100.0) printf(" "); printf("%2.4f", ratio * 100); - ratio = app_count[i] >= 1.0 - ? count[i] / app_count[i] : 0.0; + ratio = op_ratio(count[i], app_count[i]); if (ratio < 10.00 / 100.0) printf(" "); Index: op_to_source.cpp =================================================================== RCS file: /cvsroot/oprofile/oprofile/pp/op_to_source.cpp,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- op_to_source.cpp 1 Oct 2002 22:32:31 -0000 1.37 +++ op_to_source.cpp 12 Oct 2002 02:53:08 -0000 1.38 @@ -95,14 +95,6 @@ string extract_blank_at_begin(string const & str); /** - * @param count - * @param total - * - * return total == 0 ? 1.0 : ((double)count / total); - */ -double do_ratio(size_t count, size_t total); - -/** * @param image_name the samples owner image name * @param sample_file the sample file base name (w/o counter nr suffix) * @param fn_match only source filename which match this filter will be output @@ -328,11 +320,6 @@ return str.substr(0, end_pos); } -inline double do_ratio(size_t count, size_t total) -{ - return total == 0 ? 1.0 : ((double)count / total); -} - bool annotate_source(string const & image_name, string const & sample_file, filename_match const & fn_match, int argc, char const * argv[]) @@ -747,7 +734,7 @@ { out << " "; out << counter << " "; - out << setprecision(4) << (do_ratio(counter, total) * 100.0) << "%"; + out << setprecision(4) << (op_ratio(counter, total) * 100.0) << "%"; } void output_counter(ostream & out, counter_array_t const & counter, Index: opp_symbol.cpp =================================================================== RCS file: /cvsroot/oprofile/oprofile/pp/opp_symbol.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- opp_symbol.cpp 4 Oct 2002 03:29:18 -0000 1.31 +++ opp_symbol.cpp 12 Oct 2002 02:53:08 -0000 1.32 @@ -446,9 +446,7 @@ { ostringstream out; - double ratio = total_count[ctr] - ? double(sample.counter[ctr]) / total_count[ctr] - : 0.0; + double ratio = op_ratio(sample.counter[ctr], total_count[ctr]); out << ratio * 100.0; @@ -463,9 +461,7 @@ cumulated_percent[ctr] += sample.counter[ctr]; - double ratio = total_count[ctr] - ? double(cumulated_percent[ctr]) / total_count[ctr] - : 0.0; + double ratio = op_ratio(cumulated_percent[ctr], total_count[ctr]); out << ratio * 100.0; @@ -477,9 +473,7 @@ { ostringstream out; - double ratio = total_count_details[ctr] - ? double(sample.counter[ctr]) / total_count_details[ctr] - : 0.0; + double ratio = op_ratio(sample.counter[ctr], total_count_details[ctr]); out << ratio * 100.0; @@ -494,9 +488,8 @@ cumulated_percent_details[ctr] += sample.counter[ctr]; - double ratio = total_count_details[ctr] - ? double(cumulated_percent_details[ctr]) / total_count_details[ctr] - : 0.0; + double ratio = op_ratio(cumulated_percent_details[ctr], + total_count_details[ctr]); out << ratio * 100.0; Index: samples_container.cpp =================================================================== RCS file: /cvsroot/oprofile/oprofile/pp/samples_container.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- samples_container.cpp 1 Oct 2002 22:32:31 -0000 1.21 +++ samples_container.cpp 12 Oct 2002 02:53:08 -0000 1.22 @@ -25,12 +25,6 @@ namespace { -// FIXME: op_ratio.h in libutil ?? -inline double do_ratio(size_t counter, size_t total) -{ - return total == 0 ? 1.0 : ((double)counter / total); -} - struct filename_by_samples { filename_by_samples(string filename_, double percent_) : filename(filename_), percent(percent_) @@ -187,8 +181,7 @@ symbol_collection::const_iterator const end = v.end(); for (; it < end && threshold >= 0; ++it) { double const percent = - do_ratio((*it)->sample.counter[ctr], - total_count); + op_ratio((*it)->sample.counter[ctr], total_count); if (until_threshold || percent >= threshold) result.push_back((*it)); @@ -233,7 +226,7 @@ samples_count(counter, *it); - filename_by_samples f(*it, do_ratio(counter[ctr], total_count)); + filename_by_samples f(*it, op_ratio(counter[ctr], total_count)); file_by_samples.push_back(f); } |