source: trunk/yat/statistics/AveragerPair.cc @ 703

Last change on this file since 703 was 703, checked in by Jari Häkkinen, 15 years ago

Addresses #65 and #170.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1// $Id: AveragerPair.cc 703 2006-12-18 00:47:44Z jari $
2
3/*
4  Copyright (C) The authors contributing to this file.
5
6  This file is part of the yat library, http://lev.thep.lu.se/trac/yat
7
8  The yat library is free software; you can redistribute it and/or
9  modify it under the terms of the GNU General Public License as
10  published by the Free Software Foundation; either version 2 of the
11  License, or (at your option) any later version.
12
13  The yat library is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  General Public License for more details.
17
18  You should have received a copy of the GNU General Public License
19  along with this program; if not, write to the Free Software
20  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
21  02111-1307, USA.
22*/
23
24#include "AveragerPair.h"
25#include "Averager.h"
26
27#include <cassert>
28#include <utility>
29
30namespace theplu {
31namespace yat {
32namespace statistics {
33
34  AveragerPair::AveragerPair(void)
35    : x_(Averager()), y_(Averager()), xy_(0.0)
36  {
37  }
38
39  AveragerPair::AveragerPair(const AveragerPair& a)
40    : x_(a.x_averager()), y_(a.y_averager()), xy_(a.sum_xy())
41  {
42  }
43
44  void AveragerPair::add(const double x, const double y, const unsigned long n)
45  {
46    x_.add(x,n); y_.add(y,n); xy_ += n*x*y;
47  }
48
49  void AveragerPair::reset(void)
50  {
51    x_.reset(); y_.reset(); xy_=0.0;
52  }
53
54  const AveragerPair& AveragerPair::operator=(const AveragerPair& a)
55  {
56    x_=a.x_; y_=a.y_; xy_=a.xy_;
57    return *this;
58  }
59
60  const AveragerPair& AveragerPair::operator+=(const AveragerPair& a)
61  {
62    x_+=a.x_averager();
63    y_+=a.y_averager();
64    xy_+=a.sum_xy();
65    return *this;
66  }
67
68}}} // of namespace statistics, yat, and theplu
Note: See TracBrowser for help on using the repository browser.