aboutsummaryrefslogtreecommitdiff
path: root/src/intersim2/.svn/pristine/6c
diff options
context:
space:
mode:
authorMyrice <[email protected]>2015-04-07 14:43:05 -0700
committerMyrice <[email protected]>2015-04-07 14:43:05 -0700
commit6b9eb92bd0b03d69a2f2e9c075a8af99d860d4d1 (patch)
treec741ac460cb86219446070765be97536143def55 /src/intersim2/.svn/pristine/6c
parent4dc9d53085b568aea0cefe75d599f87bb5e0841f (diff)
Booksim2 abandoned svn and moved to github (https://github.com/booksim/booksim2). This .svn folder is useless now and should be deleted.
For further integration, a git submodule/git subtree may be used. Since I modified their source code, we cannot use git submodule/git subtree easily. Signed-off-by: Myrice <[email protected]>
Diffstat (limited to 'src/intersim2/.svn/pristine/6c')
-rw-r--r--src/intersim2/.svn/pristine/6c/6c86a0b772d76fae9d90046d17b6ec12b77551d0.svn-base130
1 files changed, 0 insertions, 130 deletions
diff --git a/src/intersim2/.svn/pristine/6c/6c86a0b772d76fae9d90046d17b6ec12b77551d0.svn-base b/src/intersim2/.svn/pristine/6c/6c86a0b772d76fae9d90046d17b6ec12b77551d0.svn-base
deleted file mode 100644
index 58a3ba5..0000000
--- a/src/intersim2/.svn/pristine/6c/6c86a0b772d76fae9d90046d17b6ec12b77551d0.svn-base
+++ /dev/null
@@ -1,130 +0,0 @@
-// $Id$
-
-/*
- Copyright (c) 2007-2012, Trustees of The Leland Stanford Junior University
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 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
- list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
-
- 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 OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*stats.cpp
- *
- *class stores statistics gnerated by the trafficmanager such as the latency
- *hope count of the the flits
- *
- *reset option resets the min and max alues of this statistiscs
- */
-
-#include "booksim.hpp"
-#include <iostream>
-#include <sstream>
-#include <limits>
-#include <cmath>
-#include <cstdio>
-
-#include "stats.hpp"
-
-Stats::Stats( Module *parent, const string &name,
- double bin_size, int num_bins ) :
- Module( parent, name ), _num_bins( num_bins ), _bin_size( bin_size )
-{
- Clear();
-}
-
-void Stats::Clear( )
-{
- _num_samples = 0;
- _sample_sum = 0.0;
- _sample_squared_sum = 0.0;
-
- _hist.assign(_num_bins, 0);
-
- _min = numeric_limits<double>::quiet_NaN();
- _max = -numeric_limits<double>::quiet_NaN();
-
- // _reset = true;
-}
-
-double Stats::Average( ) const
-{
- return _sample_sum / (double)_num_samples;
-}
-
-double Stats::Variance( ) const
-{
- return (_sample_squared_sum * (double)_num_samples - _sample_sum * _sample_sum) / ((double)_num_samples * (double)_num_samples);
-}
-
-double Stats::Min( ) const
-{
- return _min;
-}
-
-double Stats::Max( ) const
-{
- return _max;
-}
-
-double Stats::Sum( ) const
-{
- return _sample_sum;
-}
-
-double Stats::SquaredSum( ) const
-{
- return _sample_squared_sum;
-}
-
-int Stats::NumSamples( ) const
-{
- return _num_samples;
-}
-
-void Stats::AddSample( double val )
-{
- ++_num_samples;
- _sample_sum += val;
-
- // NOTE: the negation ensures that NaN values are handled correctly!
- _max = !(val <= _max) ? val : _max;
- _min = !(val >= _min) ? val : _min;
-
- //double clamp between 0 and num_bins-1
- int b = (int)fmax(floor( val / _bin_size ), 0.0);
- b = (b >= _num_bins) ? (_num_bins - 1) : b;
-
- _hist[b]++;
-}
-
-void Stats::Display( ostream & os ) const
-{
- os << *this << endl;
-}
-
-ostream & operator<<(ostream & os, const Stats & s) {
- vector<int> const & v = s._hist;
- os << "[ ";
- for(size_t i = 0; i < v.size(); ++i) {
- os << v[i] << " ";
- }
- os << "]";
- return os;
-}