diff options
| author | Nick <[email protected]> | 2019-09-13 07:48:08 -0400 |
|---|---|---|
| committer | Nick <[email protected]> | 2019-09-13 07:48:08 -0400 |
| commit | 9b1e6dba9f721c772e801abc4851a88aa61929da (patch) | |
| tree | ed12425be898e85e01e7a3997a9b8d5efba6ef50 /src/gpgpu-sim/histogram.cc | |
| parent | 5c99f0fa58caf45f4d457894413aa11c03afdb7d (diff) | |
Revert "Add src/gpgpu-sim formatting"
This reverts commit 9c9b1341613e767f306b2b73b5b8a5317b6ee563.
Diffstat (limited to 'src/gpgpu-sim/histogram.cc')
| -rw-r--r-- | src/gpgpu-sim/histogram.cc | 164 |
1 files changed, 75 insertions, 89 deletions
diff --git a/src/gpgpu-sim/histogram.cc b/src/gpgpu-sim/histogram.cc index 02c6c66..67f5c18 100644 --- a/src/gpgpu-sim/histogram.cc +++ b/src/gpgpu-sim/histogram.cc @@ -7,16 +7,14 @@ // // Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. -// Redistributions in binary form must reproduce the above copyright notice, -// this +// Redistributions in binary form must reproduce the above copyright notice, this // list of conditions and the following disclaimer in the documentation and/or // other materials provided with the distribution. // Neither the name of The University of British Columbia nor the names of its // contributors may be used to endorse or promote products derived from this // software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE @@ -31,108 +29,96 @@ #include <assert.h> -binned_histogram::binned_histogram(std::string name, int nbins, int* bins) - : m_name(name), - m_nbins(nbins), - m_bins(NULL), - m_bin_cnts(new int[m_nbins]), - m_maximum(0), - m_sum(0) { - if (bins) { - m_bins = new int[m_nbins]; - for (int i = 0; i < nbins; i++) { - m_bins[i] = bins[i]; - } - } +binned_histogram::binned_histogram (std::string name, int nbins, int* bins) + : m_name(name), m_nbins(nbins), m_bins(NULL), m_bin_cnts(new int[m_nbins]), m_maximum(0), m_sum(0) +{ + if (bins) { + m_bins = new int[m_nbins]; + for (int i = 0; i < nbins; i++) { + m_bins[i] = bins[i]; + } + } - reset_bins(); + reset_bins(); } -binned_histogram::binned_histogram(const binned_histogram& other) - : m_name(other.m_name), - m_nbins(other.m_nbins), - m_bins(NULL), - m_bin_cnts(new int[m_nbins]), - m_maximum(0), - m_sum(0) { - for (int i = 0; i < m_nbins; i++) { - m_bin_cnts[i] = other.m_bin_cnts[i]; - } +binned_histogram::binned_histogram (const binned_histogram& other) + : m_name(other.m_name), m_nbins(other.m_nbins), m_bins(NULL), + m_bin_cnts(new int[m_nbins]), m_maximum(0), m_sum(0) +{ + for (int i = 0; i < m_nbins; i++) { + m_bin_cnts[i] = other.m_bin_cnts[i]; + } } -void binned_histogram::reset_bins() { - for (int i = 0; i < m_nbins; i++) { - m_bin_cnts[i] = 0; - } +void binned_histogram::reset_bins () { + for (int i = 0; i < m_nbins; i++) { + m_bin_cnts[i] = 0; + } } -void binned_histogram::add2bin(int sample) { - assert(0); - m_maximum = (sample > m_maximum) ? sample : m_maximum; +void binned_histogram::add2bin (int sample) { + assert(0); + m_maximum = (sample > m_maximum)? sample : m_maximum; } -void binned_histogram::fprint(FILE* fout) const { - if (m_name.c_str() != NULL) fprintf(fout, "%s = ", m_name.c_str()); - int total_sample = 0; - for (int i = 0; i < m_nbins; i++) { - fprintf(fout, "%d ", m_bin_cnts[i]); - total_sample += m_bin_cnts[i]; - } - fprintf(fout, "max=%d ", m_maximum); - float avg = 0.0f; - if (total_sample > 0) { - avg = (float)m_sum / total_sample; - } - fprintf(fout, "avg=%0.2f ", avg); +void binned_histogram::fprint (FILE *fout) const +{ + if (m_name.c_str() != NULL) fprintf(fout, "%s = ", m_name.c_str()); + int total_sample = 0; + for (int i = 0; i < m_nbins; i++) { + fprintf(fout, "%d ", m_bin_cnts[i]); + total_sample += m_bin_cnts[i]; + } + fprintf(fout, "max=%d ", m_maximum); + float avg = 0.0f; + if (total_sample > 0) { + avg = (float)m_sum / total_sample; + } + fprintf(fout, "avg=%0.2f ", avg); } -binned_histogram::~binned_histogram() { - if (m_bins) delete[] m_bins; - delete[] m_bin_cnts; +binned_histogram::~binned_histogram () { + if (m_bins) delete[] m_bins; + delete[] m_bin_cnts; } -pow2_histogram::pow2_histogram(std::string name, int nbins, int* bins) - : binned_histogram(name, nbins, bins) {} +pow2_histogram::pow2_histogram (std::string name, int nbins, int* bins) + : binned_histogram (name, nbins, bins) {} -void pow2_histogram::add2bin(int sample) { - assert(sample >= 0); +void pow2_histogram::add2bin (int sample) { + assert(sample >= 0); + + int bin; + int v = sample; + register unsigned int shift; - int bin; - int v = sample; - register unsigned int shift; - - bin = (v > 0xFFFF) << 4; - v >>= bin; - shift = (v > 0xFF) << 3; - v >>= shift; - bin |= shift; - shift = (v > 0xF) << 2; - v >>= shift; - bin |= shift; - shift = (v > 0x3) << 1; - v >>= shift; - bin |= shift; - bin |= (v >> 1); - bin += (sample > 0) ? 1 : 0; - - m_bin_cnts[bin] += 1; - - m_maximum = (sample > m_maximum) ? sample : m_maximum; - m_sum += sample; + bin = (v > 0xFFFF) << 4; v >>= bin; + shift = (v > 0xFF ) << 3; v >>= shift; bin |= shift; + shift = (v > 0xF ) << 2; v >>= shift; bin |= shift; + shift = (v > 0x3 ) << 1; v >>= shift; bin |= shift; + bin |= (v >> 1); + bin += (sample > 0)? 1:0; + + m_bin_cnts[bin] += 1; + + m_maximum = (sample > m_maximum)? sample : m_maximum; + m_sum += sample; } -linear_histogram::linear_histogram(int stride, const char* name, int nbins, - int* bins) - : binned_histogram(name, nbins, bins), m_stride(stride) {} - -void linear_histogram::add2bin(int sample) { - assert(sample >= 0); - - int bin = sample / m_stride; - if (bin >= m_nbins) bin = m_nbins - 1; +linear_histogram::linear_histogram (int stride, const char *name, int nbins, int* bins) + : binned_histogram (name, nbins, bins), m_stride(stride) +{ +} - m_bin_cnts[bin] += 1; +void linear_histogram::add2bin (int sample) { + assert(sample >= 0); - m_maximum = (sample > m_maximum) ? sample : m_maximum; - m_sum += sample; + int bin = sample / m_stride; + if (bin >= m_nbins) bin = m_nbins - 1; + + m_bin_cnts[bin] += 1; + + m_maximum = (sample > m_maximum)? sample : m_maximum; + m_sum += sample; } |
