jubatus_core  0.1.2
Jubatus: Online machine learning framework for distributed environment
Public Member Functions | Public Attributes | List of all members
jubatus::core::stat::stat::stat_val Struct Reference

#include <stat.hpp>

Collaboration diagram for jubatus::core::stat::stat::stat_val:
Collaboration graph

Public Member Functions

void add (double d)
 
 MSGPACK_DEFINE (n_, sum_, sum2_, max_, min_)
 
void rem (double d, const std::string &key, stat &st)
 
 stat_val ()
 

Public Attributes

double max_
 
double min_
 
size_t n_
 
double sum2_
 
double sum_
 

Detailed Description

Definition at line 86 of file stat.hpp.

Constructor & Destructor Documentation

jubatus::core::stat::stat::stat_val::stat_val ( )
inline

Definition at line 87 of file stat.hpp.

Member Function Documentation

void jubatus::core::stat::stat::stat_val::add ( double  d)
inline

Definition at line 95 of file stat.hpp.

References max_, min_, n_, sum2_, and sum_.

95  {
96  n_ += 1;
97  sum_ += d;
98  sum2_ += d * d;
99 
100  if (n_ > 1) {
101  max_ = std::max(max_, d);
102  } else {
103  max_ = d;
104  }
105 
106  if (n_ > 1) {
107  min_ = std::min(min_, d);
108  } else {
109  min_ = d;
110  }
111  }
jubatus::core::stat::stat::stat_val::MSGPACK_DEFINE ( n_  ,
sum_  ,
sum2_  ,
max_  ,
min_   
)
void jubatus::core::stat::stat::stat_val::rem ( double  d,
const std::string &  key,
stat st 
)
inline

Definition at line 113 of file stat.hpp.

References max_, min_, n_, sum2_, and sum_.

Referenced by jubatus::core::stat::stat::push().

113  {
114  n_ -= 1;
115  sum_ -= d;
116  sum2_ -= d * d;
117  if (max_ == d) {
118  if (n_ > 0) {
119  bool first = true;
120  for (size_t i = 0; i < st.window_.size(); ++i) {
121  if (st.window_[i].second.first != key) {
122  continue;
123  }
124  double d = st.window_[i].second.second;
125  if (first) {
126  max_ = d;
127  first = false;
128  } else {
129  max_ = std::max(max_, d);
130  }
131  }
132  } else {
133  max_ = 0;
134  }
135  }
136  if (min_ == d) {
137  if (n_ > 0) {
138  bool first = true;
139  for (size_t i = 0; i < st.window_.size(); ++i) {
140  if (st.window_[i].second.first != key) {
141  continue;
142  }
143  double d = st.window_[i].second.second;
144  if (first) {
145  min_ = d;
146  first = false;
147  } else {
148  min_ = std::min(min_, d);
149  }
150  }
151  } else {
152  min_ = 0;
153  }
154  }
155  }

Here is the caller graph for this function:

Member Data Documentation

double jubatus::core::stat::stat::stat_val::max_

Definition at line 160 of file stat.hpp.

Referenced by add(), jubatus::core::stat::stat::max(), and rem().

double jubatus::core::stat::stat::stat_val::min_

Definition at line 161 of file stat.hpp.

Referenced by add(), jubatus::core::stat::stat::min(), and rem().

size_t jubatus::core::stat::stat::stat_val::n_
double jubatus::core::stat::stat::stat_val::sum2_

Definition at line 159 of file stat.hpp.

Referenced by add(), jubatus::core::stat::stat::moment(), and rem().

double jubatus::core::stat::stat::stat_val::sum_

The documentation for this struct was generated from the following file: