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