`#include <numeric>`

`#include <functional>`

`#include "StaticBool.hxx"`

`#include "DataTypes.hxx"`

`#include "Array.hxx"`

`#include "CLAM_Math.hxx"`

`#include "Order.hxx"`

Go to the source code of this file.

## Classes | |

struct | CLAM::Pow< o > |

struct | CLAM::Pow< 1 > |

struct | CLAM::Pow< 0 > |

class | CLAM::Power< s, abs, T > |

Binary Operator for use with std::accumulate, for computing Sum(x(i)^n). More... | |

class | CLAM::NoPowerTmpl< abs, T > |

Binary Operator for use with std::accumulate, for computing Sum(x(i)^1). More... | |

class | CLAM::SquareTmpl< abs, T > |

Binary Operator for use with std::accumulate, for computing Sum(x(i)^2). More... | |

class | CLAM::CubeTmpl< abs, T > |

Binary Operator for use with std::accumulate, for computing Sum(x(i)^3). More... | |

class | CLAM::WeightedPower< s, abs, T > |

Binary Operator for use with std::accumulate, for computing Sum(i*x(i)^n). More... | |

class | CLAM::PoweredProduct< s, T > |

Binary Operator for use with std::inner_product. More... | |

class | CLAM::WeightedNoPowerTmpl< abs, T > |

Binary Operator for use with std::accumulate, for computing Sum(i*x(i)^1). More... | |

class | CLAM::WeightedSquareTmpl< abs, T > |

Binary Operator for use with std::accumulate, for computing Sum(i*x(i)^2). More... | |

class | CLAM::WeightedCubeTmpl< abs, T > |

Binary Operator for use with std::accumulate, for computing Sum(i*x(i)^3). More... | |

class | CLAM::BiasedPower< s, abs, T, U > |

Binary Operator for use with std::accumulate, for computing Sum((x(i)-k)^n). More... | |

class | CLAM::ProductTmpl< T > |

Binary Operator for use with std::accumulate, for computing Product(x(i)). More... | |

class | CLAM::BaseMemOp |

Class used as base for all operators with memory, useful to define array of operators. More... | |

class | CLAM::PoweredSum< s, abs, T > |

Class Function that computes Sum(x(i)^n) using std::accumulate and Power<T,s> BinaryOp It also has associated memory so operation is not performed more than necessary. More... | |

class | CLAM::SumTmpl< abs, T > |

Class Function that computes Sum(x(i)) using std::accumulate and NoPower<T> BinaryOp. More... | |

class | CLAM::SquaredSumTmpl< abs, T > |

Class Function that computes Sum(x(i)^2) using std::accumulate and Square<T> BinaryOp. More... | |

class | CLAM::CubedSumTmpl< abs, T > |

Class Function that computes Sum(x(i)^3) using std::accumulate and Cube<T> BinaryOp. More... | |

class | CLAM::LogPlusTmpl< T > |

Binary Operator for use with std::accumulate, for computing Product(x(i)). More... | |

class | CLAM::LogSumTmpl< T > |

Class Function for computing logarithmic sum of all data in vector using. More... | |

class | CLAM::InnerProductTmpl< T > |

Class Function for computing product of all data in vector. More... | |

class | CLAM::WeightedPoweredSum< s, abs, T > |

Class Function that computes Sum(i*x(i)^n) using std::accumulate and WeightedPower<T,s> BinaryOp It also has associated memory so operation is not performed more than necessary. More... | |

class | CLAM::CrossWeightedPoweredSum< s, abs, T > |

Class Function that computes Sum(x(i)^n * y(i)) using std::accumulate and WeightedPower<T,s> BinaryOp It also has associated memory so operation is not performed more than necessary. More... | |

class | CLAM::WeightedSumTmpl< abs, T > |

Class Function that computes Sum(i*x(i)) using std::accumulate and WeightedNoPower<T> BinaryOp. More... | |

class | CLAM::WeightedSquaredSumTmpl< abs, T > |

Class Function that computes Sum(i*x(i)^2)using std::accumulate and WeightedSquare<T> BinaryOp. More... | |

class | CLAM::WeightedCubedSumTmpl< abs, T > |

Class Function that computes Sum(i*x(i)^3) using std::accumulate and WeightedCube<T> BinaryOp. More... | |

class | CLAM::Moment< o, abs, T, U > |

Class Function that computes 'oth' order Moment using PoweredSum Class Function. More... | |

class | CLAM::CenterOfGravity< o, abs, T, U > |

Class Function that computes 'oth' order Center of Gravity using WeightedPoweredSum Class Function. More... | |

class | CLAM::CrossCenterOfGravity< o, abs, T, U > |

Special CenterOfGravity using 2ond sequence as indexing sequence. More... | |

class | CLAM::CentroidTmpl< abs, T, U > |

Centroid is 1st order center of gravity. More... | |

class | CLAM::MeanTmpl< abs, T, U > |

Mean is 1st order Moment. More... | |

class | CLAM::EnergyTmpl< T > |

Energy is just the squared sum. More... | |

class | CLAM::RMSTmpl< T, U > |

RMS is the square root of the Energy. More... | |

class | CLAM::GeometricMeanTmpl< T, U > |

Class Function that computes Geometric Mean using InnerProduct class function. More... | |

class | CLAM::BiasedPoweredSum< s, abs, T, U > |

Class Function that computes Sum((x(i)-mean)^n) using std::accumulate and BiasedPower<T,s> BinaryOp It also has associated memory so operation is not performed more than necessary. More... | |

class | CLAM::CentralMoment< o, abs, T, U > |

Class Function that computes 'oth' order CentralMoment using BiasedPoweredSum Class Function. More... | |

class | CLAM::StandardDeviationTmpl< abs, T, U > |

Class Function to compute StandardDeviation. More... | |

class | CLAM::SkewTmpl< abs, T, U > |

Class Function that computes Skewness using Standard Deviation and 3rd order central moment. More... | |

class | CLAM::KurtosisTmpl< abs, T, U > |

Class Function that computes Kurtosis Excess using Variance and 4th order central moment. More... | |

class | CLAM::ComplexMin< abs, T > |

Binary Operator for use with std::accumulate, for computing Min(x(i)). More... | |

class | CLAM::ComplexMinElement< abs, T > |

Class Function that computes Min(x(i)) using std::accumulate and ComplexMin<T> BinaryOp It also has associated memory so operation is not performed more than necessary. More... | |

class | CLAM::ComplexMax< abs, T > |

Binary Operator for use with std::accumulate, for computing Max(x(i)). More... | |

class | CLAM::ComplexMaxElement< abs, T > |

Class Function that computes Max(x(i)) using std::accumulate and ComplexMax<T> BinaryOp It also has associated memory so operation is not performed more than necessary. More... | |

## Namespaces | |

namespace | CLAM |

## Typedefs | |

typedef NoPowerTmpl | CLAM::NoPower |

Typedefs. | |

typedef SquareTmpl | CLAM::Square |

typedef CubeTmpl | CLAM::Cube |

typedef WeightedNoPowerTmpl | CLAM::WeightedNoPower |

typedefs | |

typedef WeightedSquareTmpl | CLAM::WeightedSquare |

typedef WeightedCubeTmpl | CLAM::WeightedCube |

typedef ProductTmpl | CLAM::Product |

typedef SumTmpl | CLAM::Sum |

typedef SquaredSumTmpl | CLAM::SquaredSum |

typedef CubedSumTmpl | CLAM::CubedSum |

typedef LogPlusTmpl | CLAM::LogSum |

typedef InnerProductTmpl | CLAM::InnerProduct |

typedef WeightedSumTmpl | CLAM::WeightedSum |

typedef WeightedSquaredSumTmpl | CLAM::WeightedSquaredSum |

typedef WeightedCubedSumTmpl | CLAM::WeightedCubedSum |

typedef CentroidTmpl | CLAM::Centroid |

typedef MeanTmpl | CLAM::Mean |

typedef EnergyTmpl | CLAM::Energy |

typedef RMSTmpl | CLAM::RMS |

typedef GeometricMeanTmpl | CLAM::GeometricMean |

typedef StandardDeviationTmpl | CLAM::StandardDeviation |

typedef SkewTmpl | CLAM::Skew |

typedef KurtosisTmpl | CLAM::Kurtosis |

**Todo:**There a lot of hacks because of Visual C++ compiler, could be optimized and cleaned-up making use of partial specialization.

It is still not clear whether the "abs" aspect should be promoted later on to the argument list.

**Note:**- : the "abs" aspect present in many of the operations means whether the statistic should be performed directly on the values (by default or when abs=false) or whether the statistic should be computed on the absolute value

Definition in file BasicOps.hxx.

Generated by 1.6.3