26#ifndef TABLES_EXPRFUNCNODEARRAY_H
27#define TABLES_EXPRFUNCNODEARRAY_H
30#include <casacore/casa/aips.h>
31#include <casacore/tables/TaQL/ExprNodeArray.h>
32#include <casacore/tables/TaQL/ExprFuncNode.h>
75 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)
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)
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)
void tryToConst()
Try if the function gives a constant result.
virtual void flattenTree(std::vector< TableExprNodeRep * > &)
Flatten the node tree by adding the node and its children to the vector.
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.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.