26#ifndef TABLES_EXPRGROUPAGGRFUNC_H 
   27#define TABLES_EXPRGROUPAGGRFUNC_H 
   30#include <casacore/casa/aips.h> 
   31#include <casacore/tables/TaQL/ExprGroup.h> 
   38  class TableExprNodeArrayColumn;
 
Aggregate class counting if all values in a group are true.
 
TableExprGroupAll(TableExprNodeRep *node)
 
virtual ~TableExprGroupAll()
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class counting if any value in a group is true.
 
virtual ~TableExprGroupAny()
 
TableExprGroupAny(TableExprNodeRep *node)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
void setResult(Int64 cnt)
Set result in case it is known directly.
 
virtual ~TableExprGroupCountAll()
 
TableExprGroupCountAll(TableExprNodeRep *node)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class counting number of rows in a group containing a value.
 
TableExprGroupCount(TableExprNodeRep *node)
 
virtual ~TableExprGroupCount()
 
TableExprNodeArrayColumn * itsColumn
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class determining the fractile of values in a group.
 
virtual Bool isLazy() const
Does the aggregate function use lazy semantics? The default implementation returns False.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
virtual Double getDouble(const vector< TableExprId > &ids)
 
TableExprGroupFractileDouble(TableExprNodeRep *node, Double fractile)
 
virtual ~TableExprGroupFractileDouble()
 
Abstract base class for aggregate functions giving a bool scalar.
 
Abstract base class for aggregate functions giving a dcomplex scalar.
 
Abstract base class for aggregate functions giving a double scalar.
 
Abstract base class for aggregate functions giving an integer scalar.
 
Aggregate class determining the maximum double value in a group.
 
virtual ~TableExprGroupMaxDouble()
 
TableExprGroupMaxDouble(TableExprNodeRep *node)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class determining the maximum integer value in a group.
 
TableExprGroupMaxInt(TableExprNodeRep *node)
 
virtual ~TableExprGroupMaxInt()
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class determining the mean of complex values in a group.
 
virtual ~TableExprGroupMeanDComplex()
 
TableExprGroupMeanDComplex(TableExprNodeRep *node)
 
virtual void finish()
If needed, finish the aggregation.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class determining the mean of values in a group.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
TableExprGroupMeanDouble(TableExprNodeRep *node)
 
virtual ~TableExprGroupMeanDouble()
 
virtual void finish()
If needed, finish the aggregation.
 
Aggregate class determining the minimum double value in a group.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
virtual ~TableExprGroupMinDouble()
 
TableExprGroupMinDouble(TableExprNodeRep *node)
 
Aggregate class determining the minimum integer value in a group.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
TableExprGroupMinInt(TableExprNodeRep *node)
 
virtual ~TableExprGroupMinInt()
 
Aggregate class counting the number of false values in a group.
 
virtual ~TableExprGroupNFalse()
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
TableExprGroupNFalse(TableExprNodeRep *node)
 
Aggregate class counting the number of true values in a group.
 
TableExprGroupNTrue(TableExprNodeRep *node)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
virtual ~TableExprGroupNTrue()
 
Aggregate class determining the product of complex values in a group.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
virtual ~TableExprGroupProductDComplex()
 
TableExprGroupProductDComplex(TableExprNodeRep *node)
 
Aggregate class determining the product of double values in a group.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
TableExprGroupProductDouble(TableExprNodeRep *node)
 
virtual ~TableExprGroupProductDouble()
 
Aggregate class determining the product of integer values in a group.
 
virtual ~TableExprGroupProductInt()
 
TableExprGroupProductInt(TableExprNodeRep *node)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class determining the RMS of values in a group.
 
virtual ~TableExprGroupRmsDouble()
 
TableExprGroupRmsDouble(TableExprNodeRep *node)
 
virtual void finish()
If needed, finish the aggregation.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class determining the standard deviation of values in a group.
 
virtual void finish()
If needed, finish the aggregation.
 
TableExprGroupStdDevDComplex(TableExprNodeRep *node, uInt ddof)
 
virtual ~TableExprGroupStdDevDComplex()
 
Aggregate class determining the standard deviation of values in a group.
 
virtual void finish()
If needed, finish the aggregation.
 
virtual ~TableExprGroupStdDevDouble()
 
TableExprGroupStdDevDouble(TableExprNodeRep *node, uInt ddof)
 
Aggregate class determining the sum of complex values in a group.
 
TableExprGroupSumDComplex(TableExprNodeRep *node)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
virtual ~TableExprGroupSumDComplex()
 
Aggregate class determining the sum of double values in a group.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
TableExprGroupSumDouble(TableExprNodeRep *node)
 
virtual ~TableExprGroupSumDouble()
 
Aggregate class determining the sum of integer values in a group.
 
TableExprGroupSumInt(TableExprNodeRep *node)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
virtual ~TableExprGroupSumInt()
 
Aggregate class determining the sum of squares of complex values in a group.
 
TableExprGroupSumSqrDComplex(TableExprNodeRep *node)
 
virtual ~TableExprGroupSumSqrDComplex()
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class determining the sum of squares of double values in a group.
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
virtual ~TableExprGroupSumSqrDouble()
 
TableExprGroupSumSqrDouble(TableExprNodeRep *node)
 
Aggregate class determining the sum of squares of integer values in a group.
 
virtual ~TableExprGroupSumSqrInt()
 
TableExprGroupSumSqrInt(TableExprNodeRep *node)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Aggregate class determining the variance of values in a group.
 
virtual ~TableExprGroupVarianceDComplex()
 
TableExprGroupVarianceDComplex(TableExprNodeRep *node, uInt ddof)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
virtual void finish()
If needed, finish the aggregation.
 
Aggregate class determining the variance of values in a group.
 
virtual void finish()
If needed, finish the aggregation.
 
virtual ~TableExprGroupVarianceDouble()
 
TableExprGroupVarianceDouble(TableExprNodeRep *node, uInt ddof)
 
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
 
Base class for Array column in table select expression.
 
Abstract base class for a node in a table column expression tree.
 
this file contains all the compiler specific defines
 
LatticeExprNode fractile(const LatticeExprNode &expr, const LatticeExprNode &fraction)
Determine the value of the element at the part fraction from the beginning of the given lattice.
 
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
 
bool Bool
Define the standard types used by Casacore.