OpenWalnut  1.4.0
WHistogram.cpp
00001 //---------------------------------------------------------------------------
00002 //
00003 // Project: OpenWalnut ( http://www.openwalnut.org )
00004 //
00005 // Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
00006 // For more information see http://www.openwalnut.org/copying
00007 //
00008 // This file is part of OpenWalnut.
00009 //
00010 // OpenWalnut is free software: you can redistribute it and/or modify
00011 // it under the terms of the GNU Lesser General Public License as published by
00012 // the Free Software Foundation, either version 3 of the License, or
00013 // (at your option) any later version.
00014 //
00015 // OpenWalnut is distributed in the hope that it will be useful,
00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 // GNU Lesser General Public License for more details.
00019 //
00020 // You should have received a copy of the GNU Lesser General Public License
00021 // along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
00022 //
00023 //---------------------------------------------------------------------------
00024 
00025 #include <algorithm>
00026 
00027 #include "WAssert.h"
00028 #include "WHistogram.h"
00029 
00030 WHistogram::WHistogram( double min, double max, size_t buckets ):
00031       m_minimum( min ),
00032       m_maximum( max ),
00033       m_nbBuckets( buckets )
00034 {
00035     if( min > max )
00036     {
00037         std::swap( m_minimum, m_maximum );
00038     }
00039 
00040     WAssert( buckets > 0, "Error: A histogram with a size of 0 does not make any sense." );
00041 }
00042 
00043 WHistogram::WHistogram( const WHistogram& hist ):
00044       m_minimum( hist.m_minimum ),
00045       m_maximum( hist.m_maximum ),
00046       m_nbBuckets( hist.m_nbBuckets )
00047 {
00048 }
00049 
00050 WHistogram::~WHistogram()
00051 {
00052 }
00053 
00054 size_t WHistogram::size() const
00055 {
00056     return m_nbBuckets;
00057 }
00058 
00059 double WHistogram::getMinimum() const
00060 {
00061     return m_minimum;
00062 }
00063 
00064 double WHistogram::getMaximum() const
00065 {
00066     return m_maximum;
00067 }