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,
virtual MArray< Bool > getArrayBool(const TableExprId &id)
'get' Functions to get the desired result of a function
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< MVTime > getArrayDate(const TableExprId &id)
virtual void getColumnNodes(std::vector< TableExprNodeRep * > &cols)
Get the nodes representing a table column.
const IPosition & getArrayShape(const TableExprId &id, uInt axarg=1)
Get the shape for the array, boxed and running functions.
~TableExprFuncNodeArray()
Destructor.
MArray< Double > angdistx(const MArray< Double > &a1, const MArray< Double > &a2) const
The angular distance between each pair of the arguments.
MArray< T > TEFResize(const MArray< T > &arr, const TableExprId &id)
Templated function to resize/expand an array.
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.
std::vector< TENShPtr > & rwOperands()
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.
virtual MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
const TableExprFuncNode * getChild() const
const IPosition & getAlternate(const TableExprId &id)
Set the alternate value expandAlt_p for array expand and return it.
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.
const std::vector< TENShPtr > & operands() const
Some functions to be used by TableExprNodeFuncArray.
virtual MArray< String > getArrayString(const TableExprId &id)
NodeDataType argDataType() const
TableExprFuncNode * getChild()
Get the function node.
virtual MArray< DComplex > getArrayDComplex(const TableExprId &id)
The default implementation of getArrayDComplex does getArrayDouble and converts the result.
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
std::vector< TENShPtr > & rwOperands()
const std::vector< TENShPtr > & operands() const
Some functions to be used by TableExprNodeFuncArray.
FunctionType funcType() const
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.