Quantile calculator.  
 More...
#include <JQuantile.hh>
 | 
|   | JQuantile (const JTitle &title="", const int option=0) | 
|   | Constructor.  More...
  | 
|   | 
| template<class iterator_type , class value_type , class result_type >  | 
|   | JQuantile (const JTitle &title, iterator_type __begin, iterator_type __end, result_type value_type::*member, const double w=1.0) | 
|   | Constructor.  More...
  | 
|   | 
| template<class iterator_type , class value_type , class result_type >  | 
|   | JQuantile (const JTitle &title, iterator_type __begin, iterator_type __end, result_type(value_type::*function)() const, const double w=1.0) | 
|   | Constructor.  More...
  | 
|   | 
| void  | reset () | 
|   | Reset.  More...
  | 
|   | 
| void  | put (const double x, const double w=1.0) | 
|   | Put value.  More...
  | 
|   | 
| template<class iterator_type , class value_type , class result_type >  | 
| void  | put (iterator_type __begin, iterator_type __end, result_type value_type::*member, const double w=1.0) | 
|   | Put data.  More...
  | 
|   | 
| template<class iterator_type , class value_type , class result_type >  | 
| void  | put (iterator_type __begin, iterator_type __end, result_type(value_type::*function)() const, const double w=1.0) | 
|   | Put data.  More...
  | 
|   | 
| long long int  | getCount () const | 
|   | Get total count.  More...
  | 
|   | 
| double  | getTotal () const | 
|   | Get total weight.  More...
  | 
|   | 
| double  | getSum () const | 
|   | Get weighted sum.  More...
  | 
|   | 
| double  | getMean () const | 
|   | Get mean value.  More...
  | 
|   | 
| double  | getRMS () const | 
|   | Get RMS.  More...
  | 
|   | 
| double  | getSTDev () const | 
|   | Get standard deviation.  More...
  | 
|   | 
| double  | getDeviation (const bool relative=true) const | 
|   | Get maximal deviation from average.  More...
  | 
|   | 
| bool  | hasAccuracy (const double precision) const | 
|   | Test relative accuracy.  More...
  | 
|   | 
| double  | getQuantile (const double Q, const bool reverse=false) const | 
|   | Get quantile.  More...
  | 
|   | 
| std::ostream &  | print (std::ostream &out, bool lpr=true) const | 
|   | Print quantile.  More...
  | 
|   | 
| const std::string &  | getTitle () const | 
|   | Get title.  More...
  | 
|   | 
| void  | setTitle (const std::string &title) | 
|   | Set title.  More...
  | 
|   | 
 | 
| template<class T >  | 
| static double  | getQuantile (T __begin, T __end, const double W) | 
|   | Get quantile.  More...
  | 
|   | 
Quantile calculator. 
This class acts as a zero-dimensional histogram. 
Definition at line 34 of file JQuantile.hh.
 
◆ JQuantile() [1/3]
  
  
      
        
          | JTOOLS::JQuantile::JQuantile  | 
          ( | 
          const JTitle &  | 
          title = "",  | 
         
        
           | 
           | 
          const int  | 
          option = 0  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
 
◆ JQuantile() [2/3]
template<class iterator_type , class value_type , class result_type > 
  
  
      
        
          | JTOOLS::JQuantile::JQuantile  | 
          ( | 
          const JTitle &  | 
          title,  | 
         
        
           | 
           | 
          iterator_type  | 
          __begin,  | 
         
        
           | 
           | 
          iterator_type  | 
          __end,  | 
         
        
           | 
           | 
          result_type value_type::*  | 
          member,  | 
         
        
           | 
           | 
          const double  | 
          w = 1.0  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Constructor. 
Set range according to minimal and maximal value in input data.
- Parameters
 - 
  
    | title | title  | 
    | __begin | begin of data  | 
    | __end | end of data  | 
    | member | pointer to data member  | 
    | w | weight  | 
  
   
Definition at line 66 of file JQuantile.hh.
   74       put(__begin, __end, member, 
w);
 
 
 
 
◆ JQuantile() [3/3]
template<class iterator_type , class value_type , class result_type > 
  
  
      
        
          | JTOOLS::JQuantile::JQuantile  | 
          ( | 
          const JTitle &  | 
          title,  | 
         
        
           | 
           | 
          iterator_type  | 
          __begin,  | 
         
        
           | 
           | 
          iterator_type  | 
          __end,  | 
         
        
           | 
           | 
          result_type(value_type::*)() const  | 
          function,  | 
         
        
           | 
           | 
          const double  | 
          w = 1.0  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Constructor. 
Set range according to minimal and maximal value in input data.
- Parameters
 - 
  
    | title | title  | 
    | __begin | begin of data  | 
    | __end | end of data  | 
    | function | pointer to member method  | 
    | w | weight  | 
  
   
Definition at line 89 of file JQuantile.hh.
   97       put(__begin, __end, 
function, 
w);
 
 
 
 
◆ reset()
  
  
      
        
          | void JTOOLS::JQuantile::reset  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Reset. 
Definition at line 104 of file JQuantile.hh.
  110       min = +std::numeric_limits<double>::max();
 
  111       max = -std::numeric_limits<double>::max();
 
 
 
 
◆ put() [1/3]
  
  
      
        
          | void JTOOLS::JQuantile::put  | 
          ( | 
          const double  | 
          x,  | 
         
        
           | 
           | 
          const double  | 
          w = 1.0  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
 
◆ put() [2/3]
template<class iterator_type , class value_type , class result_type > 
  
  
      
        
          | void JTOOLS::JQuantile::put  | 
          ( | 
          iterator_type  | 
          __begin,  | 
         
        
           | 
           | 
          iterator_type  | 
          __end,  | 
         
        
           | 
           | 
          result_type value_type::*  | 
          member,  | 
         
        
           | 
           | 
          const double  | 
          w = 1.0  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Put data. 
- Parameters
 - 
  
    | __begin | begin of data  | 
    | __end | end of data  | 
    | member | pointer to data member  | 
    | w | weight  | 
  
   
Definition at line 147 of file JQuantile.hh.
  152       for (iterator_type i = __begin; i != __end; ++i) {
 
  153         put((*i).*member, 
w);
 
 
 
 
◆ put() [3/3]
template<class iterator_type , class value_type , class result_type > 
  
  
      
        
          | void JTOOLS::JQuantile::put  | 
          ( | 
          iterator_type  | 
          __begin,  | 
         
        
           | 
           | 
          iterator_type  | 
          __end,  | 
         
        
           | 
           | 
          result_type(value_type::*)() const  | 
          function,  | 
         
        
           | 
           | 
          const double  | 
          w = 1.0  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Put data. 
- Parameters
 - 
  
    | __begin | begin of data  | 
    | __end | end of data  | 
    | function | pointer to member method  | 
    | w | weight  | 
  
   
Definition at line 167 of file JQuantile.hh.
  172       for (iterator_type i = __begin; i != __end; ++i) {
 
  173         put(((*i).*
function)(), 
w);
 
 
 
 
◆ getCount()
  
  
      
        
          | long long int JTOOLS::JQuantile::getCount  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ getTotal()
  
  
      
        
          | double JTOOLS::JQuantile::getTotal  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get total weight. 
- Returns
 - weight 
 
Definition at line 194 of file JQuantile.hh.
 
 
◆ getSum()
  
  
      
        
          | double JTOOLS::JQuantile::getSum  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get weighted sum. 
- Returns
 - weighted sum 
 
Definition at line 206 of file JQuantile.hh.
 
 
◆ getMean()
  
  
      
        
          | double JTOOLS::JQuantile::getMean  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get mean value. 
- Returns
 - mean value 
 
Definition at line 217 of file JQuantile.hh.
  222         THROW(JDivisionByZero, 
"JQuantile::getMean()");
 
 
 
 
◆ getRMS()
  
  
      
        
          | double JTOOLS::JQuantile::getRMS  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get RMS. 
- Returns
 - RMS 
 
Definition at line 231 of file JQuantile.hh.
  236         THROW(JDivisionByZero, 
"JQuantile::getRMS()");
 
 
 
 
◆ getSTDev()
  
  
      
        
          | double JTOOLS::JQuantile::getSTDev  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get standard deviation. 
- Returns
 - standard deviation 
 
Definition at line 245 of file JQuantile.hh.
  250         THROW(JDivisionByZero, 
"JQuantile::getSTDev()");
 
 
 
 
◆ getDeviation()
  
  
      
        
          | double JTOOLS::JQuantile::getDeviation  | 
          ( | 
          const bool  | 
          relative = true | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get maximal deviation from average. 
- Parameters
 - 
  
    | relative | relative to average or absolute  | 
  
   
- Returns
 - deviation 
 
Definition at line 260 of file JQuantile.hh.
  265         return std::max(fabs(
max), fabs(
min));
 
 
 
 
◆ hasAccuracy()
  
  
      
        
          | bool JTOOLS::JQuantile::hasAccuracy  | 
          ( | 
          const double  | 
          precision | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Test relative accuracy. 
- Parameters
 - 
  
    | precision | relative precision  | 
  
   
- Returns
 - true if reached accuracy; else false 
 
Definition at line 275 of file JQuantile.hh.
 
 
◆ getQuantile() [1/2]
  
  
      
        
          | double JTOOLS::JQuantile::getQuantile  | 
          ( | 
          const double  | 
          Q,  | 
         
        
           | 
           | 
          const bool  | 
          reverse = false  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inline   | 
  
 
Get quantile. 
- Parameters
 - 
  
  
 
- Returns
 - value 
 
Definition at line 288 of file JQuantile.hh.
  304       THROW(JNoValue, 
"JQuantile::getQuantile()");
 
 
 
 
◆ print()
  
  
      
        
          | std::ostream& JTOOLS::JQuantile::print  | 
          ( | 
          std::ostream &  | 
          out,  | 
         
        
           | 
           | 
          bool  | 
          lpr = true  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inline   | 
  
 
Print quantile. 
- Parameters
 - 
  
    | out | output stream  | 
    | lpr | long print  | 
  
   
Definition at line 314 of file JQuantile.hh.
  321         out << setw(nc) << left  << 
" "             << 
' ' 
  322             << setw(10) << left  << 
"    mean"      << 
' ' 
  323             << setw(10) << left  << 
"    STD"       << 
' ' 
  324             << setw(10) << left  << 
"  deviation"   << endl;
 
  327       out << setw(nc) << left << 
getTitle()          << 
' ' 
 
 
 
◆ getQuantile() [2/2]
template<class T > 
  
  
      
        
          | static double JTOOLS::JQuantile::getQuantile  | 
          ( | 
          T  | 
          __begin,  | 
         
        
           | 
           | 
          T  | 
          __end,  | 
         
        
           | 
           | 
          const double  | 
          W  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestaticprotected   | 
  
 
Get quantile. 
- Parameters
 - 
  
    | __begin | begin of data  | 
    | __end | end of data  | 
    | W | weight  | 
  
   
- Returns
 - value 
 
Definition at line 369 of file JQuantile.hh.
  373       for (T i = __begin; i != __end; ++i) {
 
  382       THROW(JNoValue, 
"JQuantile::getQuantile()");
 
 
 
 
◆ getTitle()
  
  
      
        
          | const std::string& JLANG::JTitle::getTitle  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Get title. 
- Returns
 - title 
 
Definition at line 55 of file JTitle.hh.
 
 
◆ setTitle()
  
  
      
        
          | void JLANG::JTitle::setTitle  | 
          ( | 
          const std::string &  | 
          title | ) | 
           | 
         
       
   | 
  
inlineinherited   | 
  
 
Set title. 
- Parameters
 - 
  
  
 
Definition at line 66 of file JTitle.hh.
 
 
◆ operator<<
  
  
      
        
          | std::ostream& operator<<  | 
          ( | 
          std::ostream &  | 
          out,  | 
         
        
           | 
           | 
          const JQuantile &  | 
          quantile  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
friend   | 
  
 
Print quantile. 
- Parameters
 - 
  
    | out | output stream  | 
    | quantile | quantile  | 
  
   
- Returns
 - output stream 
 
Definition at line 343 of file JQuantile.hh.
 
 
◆ sum
  
  
      
        
          | double JTOOLS::JQuantile::sum | 
         
       
   | 
  
protected   | 
  
 
 
◆ rms
  
  
      
        
          | double JTOOLS::JQuantile::rms | 
         
       
   | 
  
protected   | 
  
 
 
◆ tot
  
  
      
        
          | double JTOOLS::JQuantile::tot | 
         
       
   | 
  
protected   | 
  
 
 
◆ min
  
  
      
        
          | double JTOOLS::JQuantile::min | 
         
       
   | 
  
protected   | 
  
 
 
◆ max
  
  
      
        
          | double JTOOLS::JQuantile::max | 
         
       
   | 
  
protected   | 
  
 
 
◆ num
  
  
      
        
          | long long int JTOOLS::JQuantile::num | 
         
       
   | 
  
protected   | 
  
 
 
◆ quantiles
  
  
      
        
          | bool JTOOLS::JQuantile::quantiles | 
         
       
   | 
  
protected   | 
  
 
 
◆ buffer
◆ title
  
  
      
        
          | std::string JLANG::JTitle::title | 
         
       
   | 
  
protectedinherited   | 
  
 
 
The documentation for this class was generated from the following file: