#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 |
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.
Definition in file BasicOps.hxx.