28 #ifndef TABLES_EXPRFUNCNODEARRAY_H
29 #define TABLES_EXPRFUNCNODEARRAY_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/tables/TaQL/ExprNodeArray.h>
34 #include <casacore/tables/TaQL/ExprFuncNode.h>
77 const vector<TENShPtr>& nodes,
const IPosition & getDiagonalArg(const TableExprId &id, const IPosition &shp)
Get the arguments for the diagonals function.
IPosition getOrder(const TableExprId &id, Int ndim)
Get the transpose order of the array axes.
IPosition removeAxes(const IPosition &axes, Int ndim) const
Remove axes exceeding ndim.
TableExprFuncNode::FunctionType funcType() const
virtual MArray< Bool > getArrayBool(const TableExprId &id)
'get' Functions to get the desired result of a function
virtual void getColumnNodes(std::vector< TableExprNodeRep * > &cols)
Get the nodes representing a table column.
MArray< Double > angdistx(const MArray< Double > &a1, const MArray< Double > &a2) const
The angular distance between each pair of the arguments.
virtual MArray< MVTime > getArrayDate(const TableExprId &id)
std::vector< TENShPtr > & rwOperands()
~TableExprFuncNodeArray()
Destructor.
const std::vector< TENShPtr > & operands() const
Some functions to be used by TableExprNodeFuncArray.
IPosition getReverseAxes(const TableExprId &id, uInt ndim)
Get the axes for the reverse function.
IPosition getAxes(const TableExprId &id, Int ndim, uInt axarg=1, Bool swapRemove=True)
Get the collapse axes for the partial functions.
const IPosition & getArrayShape(const TableExprId &id, uInt axarg=1)
Get the shape for the array, boxed and running functions.
virtual MArray< Int64 > getArrayInt(const TableExprId &id)
TableExprFuncNodeArray(TableExprFuncNode::FunctionType, NodeDataType, ValueType, const TableExprNodeSet &source, const vector< TENShPtr > &nodes, const Block< Int > &dtypeOper, const TaQLStyle &)
Constructor.
TableExprFuncNode * getChild()
Get the function node.
const IPosition & getAlternate(const TableExprId &id)
Set the alternate value expandAlt_p for array expand and return it.
virtual MArray< String > getArrayString(const TableExprId &id)
IPosition adjustShape(const IPosition &shape, const IPosition &origShape) const
Adjust the resize shape by replacing negative axes with the original axis (if present) or 1.
virtual MArray< DComplex > getArrayDComplex(const TableExprId &id)
The default implementation of getArrayDComplex does getArrayDouble and converts the result.
const TableExprFuncNode * getChild() const
NodeDataType argDataType() const
virtual MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
MArray< T > TEFResize(const MArray< T > &arr, const TableExprId &id)
Templated function to resize/expand an array.
void tryToConst()
Try if the function gives a constant result.
virtual void getAggrNodes(std::vector< TableExprNodeRep * > &aggr)
Get the nodes representing an aggregate function.
NodeDataType argDataType() const
const std::vector< TENShPtr > & operands() const
Some functions to be used by TableExprNodeFuncArray.
FunctionType funcType() const
std::vector< TENShPtr > & rwOperands()
NodeDataType
Define the data types of a node.
const IPosition & shape() const
Get the fixed shape (same for all rows).
Int ndim() const
Get the fixed dimensionality (same for all rows).
ValueType
Define the value types.
Class to hold multiple table expression nodes.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.