28 #ifndef TABLES_EXPRNODE_H
29 #define TABLES_EXPRNODE_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/tables/TaQL/ExprNodeRep.h>
34 #include <casacore/tables/TaQL/ExprRange.h>
35 #include <casacore/tables/TaQL/ExprFuncNode.h>
36 #include <casacore/tables/TaQL/TaQLStyle.h>
37 #include <casacore/tables/TaQL/MArray.h>
38 #include <casacore/tables/Tables/RowNumbers.h>
39 #include <casacore/casa/Arrays/ArrayFwd.h>
40 #include <casacore/casa/Utilities/CountedPtr.h>
41 #include <casacore/casa/Utilities/DataType.h>
42 #include <casacore/casa/BasicSL/Complex.h>
54 class TableExprNodeBinary;
55 class TableExprNodeSet;
56 template<
class T>
class Block;
57 template<
class T>
class MArray;
386 #ifndef IMPLICIT_CTDS_32BIT
418 void show (ostream&)
const;
1248 left, right, tolerance);
1261 left, right, tolerance);
1298 sourcePos, conePos, radii);
1305 sourcePos, conePos, radii);
1312 sourcePos, conePos, radii);
1783 array, fraction, axes);
1813 node, halfBoxWidth);
1819 node, halfBoxWidth);
1825 node, halfBoxWidth);
1831 node, halfBoxWidth);
1837 node, halfBoxWidth);
1843 node, halfBoxWidth);
1849 node, halfBoxWidth);
1855 node, halfBoxWidth);
1861 node, halfBoxWidth);
1867 node, halfBoxWidth);
1873 node, halfBoxWidth);
1879 node, halfBoxWidth);
1885 node, halfBoxWidth);
1891 node, halfBoxWidth);
1897 node, halfBoxWidth);
1903 node, halfBoxWidth);
1909 node, halfBoxWidth);
1915 node, halfBoxWidth);
1921 node, halfBoxWidth);
1927 node, halfBoxWidth);
1996 condition, arg1, arg2);
t * get() const
Get the underlying pointer.
const Array< T > & array() const
Get access to the array.
String: the storage and methods of handling collections of characters.
@ sinFUNC
for Int, Double or DComplex returning Double or Complex
@ complexFUNC
for DComplex or String returning DComplex
@ isdefFUNC
for any array returning Bool scalar
@ stringFUNC
return values as strings
@ boolFUNC
for Int, Double, Complex or String returning Bool
@ angdistFUNC
angular distance returning radians
@ iifFUNC
special function resembling if statement
@ realFUNC
for Int, Double, DComplex, Bool or String returning Double
@ hmsFUNC
return angles as hms strings
@ arrsumFUNC
for Int, Double or Complex array returning the same
@ asinFUNC
for Int, Double or Complex returning Double or Complex
@ arranyFUNC
for Bool array returning Bool
@ arrmeanFUNC
for Int or Double array returning Double
@ arrayFUNC
for any type returning array of that type
@ shapeFUNC
for any array returning Int array
@ near2FUNC
for Int, or Double or Complex returning Bool (2 is with default tolerance)
@ conesFUNC
cone search functions, implemented in derived class
@ isnanFUNC
for Int, Double or DComplex array returning Bool
@ intFUNC
for Int, Double, Bool or String returning Int (using floor)
@ argFUNC
for Int, Double or DComplex returning Double
@ arrminFUNC
for Int or Double array returning Int or Double
@ hdmsFUNC
return angles as hms/dms strings
@ arrntrueFUNC
for Bool array returning Int scalar
@ imagFUNC
for Double or DComplex returning Double
@ ndimFUNC
for any array returning Int scalar
@ normFUNC
for Int, Double or DComplex returning Int or Double
@ dmsFUNC
return angles as dms strings
@ strlengthFUNC
for String
@ signFUNC
for Int or Double returning Int or Double
@ squareFUNC
for Int, Double or DComplex returning Int, Double or Complex
Abstract base class for a node having 0, 1, or 2 child nodes.
Abstract base class for a node in a table column expression tree.
virtual Array< Int > getColumnInt(const Vector< rownr_t > &rownrs)
virtual MArray< MVTime > getArrayDate(const TableExprId &id)
rownr_t nrow() const
Get the number of rows in the table associated with this expression.
const Unit & unit() const
Get the unit.
virtual Array< DComplex > getColumnDComplex(const Vector< rownr_t > &rownrs)
virtual Array< Int64 > getColumnInt64(const Vector< rownr_t > &rownrs)
virtual String getString(const TableExprId &id)
MArray< Int64 > getIntAS(const TableExprId &id)
MArray< String > getStringAS(const TableExprId &id)
virtual MArray< Bool > getArrayBool(const TableExprId &id)
Get an array value for this node in the given row.
virtual void applySelection(const Vector< rownr_t > &rownrs)
Re-create the column object for a selection of rows.
virtual Array< uInt > getColumnuInt(const Vector< rownr_t > &rownrs)
MArray< DComplex > getDComplexAS(const TableExprId &id)
virtual Bool getBool(const TableExprId &id)
Get a scalar value for this node in the given row.
virtual DComplex getDComplex(const TableExprId &id)
virtual MArray< String > getArrayString(const TableExprId &id)
virtual Array< uChar > getColumnuChar(const Vector< rownr_t > &rownrs)
MArray< MVTime > getDateAS(const TableExprId &id)
MArray< Bool > getBoolAS(const TableExprId &id)
Get a value as an array, even it it is a scalar.
virtual Array< Double > getColumnDouble(const Vector< rownr_t > &rownrs)
const Record & attributes() const
Get the attributes.
virtual Array< Complex > getColumnComplex(const Vector< rownr_t > &rownrs)
virtual MArray< Int64 > getArrayInt(const TableExprId &id)
virtual void ranges(Block< TableExprRange > &)
Convert the tree to a number of range vectors which at least select the same things.
virtual TaqlRegex getRegex(const TableExprId &id)
virtual Array< Short > getColumnShort(const Vector< rownr_t > &rownrs)
virtual MArray< Double > getArrayDouble(const TableExprId &id)
virtual Double getDouble(const TableExprId &id)
virtual Int64 getInt(const TableExprId &id)
virtual Array< uShort > getColumnuShort(const Vector< rownr_t > &rownrs)
virtual Array< Bool > getColumnBool(const Vector< rownr_t > &rownrs)
Get the value of the expression evaluated for the entire column.
virtual MArray< DComplex > getArrayDComplex(const TableExprId &id)
virtual void show(ostream &, uInt indent) const
Show the expression tree.
virtual MVTime getDate(const TableExprId &id)
virtual Array< Float > getColumnFloat(const Vector< rownr_t > &rownrs)
MArray< Double > getDoubleAS(const TableExprId &id)
Table & table()
Get table.
virtual Array< String > getColumnString(const Vector< rownr_t > &rownrs)
virtual void disableApplySelection()
Do not apply the selection.
ValueType valueType() const
Get the value type.
Class to hold multiple table expression nodes.
Array< DComplex > getColumnDComplex(const RowNumbers &rownrs) const
TableExprNode(const MArray< Int > &value)
TableExprNode(const Array< String > &value)
TENShPtr newModulo(const TENShPtr &right) const
const Record & attributes() const
Get the attributes of the expression.
Int64 getInt(const TableExprId &id) const
TENShPtr node_p
The actual (counted referenced) representation of a node.
TableExprNode(const Float &value)
static TableExprNode newUDFNode(const String &name, const TableExprNodeSet &set, const Table &table, const TaQLStyle &=TaQLStyle(0))
Create a user defined function node.
static TableExprNode newConeNode(TableExprFuncNode::FunctionType, const TableExprNode &node1, const TableExprNode &node2, const TableExprNode &node3)
TableExprNode(const MArray< Short > &value)
Array< DComplex > getArrayDComplex(const TableExprId &id) const
Double getDouble(const TableExprId &id) const
rownr_t nrow() const
Get the number of rows in the table associated with this expression.
~TableExprNode()
The destructor deletes all the underlying TableExprNode objects,.
TableExprNode(const TableExprNode &)
copy constructor (reference semantics).
TableExprNode(const Int64 &value)
TENShPtr newGE(const TENShPtr &right) const
MArray< MVTime > getDateAS(const TableExprId &id) const
static TableExprNode newConeNode(TableExprFuncNode::FunctionType, const TableExprNodeSet &set, uInt origin=0)
Create cone function node of the given type with the given arguments.
TableExprNode(const Complex &value)
MArray< String > getStringAS(const TableExprId &id) const
static TableExprNode newFunctionNode(TableExprFuncNode::FunctionType, const TableExprNode &array, const TableExprNode &node, const TableExprNodeSet &axes)
TableExprNode(const MArray< Bool > &value)
TableExprNode(const Array< Bool > &value)
Array< uShort > getColumnuShort(const RowNumbers &rownrs) const
static TableExprNode newFunctionNode(TableExprFuncNode::FunctionType, const TableExprNodeSet &set, const Table &table, const TaQLStyle &=TaQLStyle(0))
Create function node of the given type with the given arguments.
MArray< Bool > getBoolAS(const TableExprId &id) const
Get a value as an array, even it it is a scalar.
TableExprNode(const Array< Int > &value)
TableExprNode(const std::string &value)
TableExprNode(const MArray< MVTime > &value)
TENShPtr newOR(const TENShPtr &right) const
TableExprNode operator!() const
Unary NOT-operator on boolean TableExprNode's.
MArray< Int64 > getIntAS(const TableExprId &id) const
TableExprNode operator-() const
TableExprNode(const Array< uShort > &value)
Array< Int64 > getColumnInt64(const RowNumbers &rownrs) const
TENShPtr newBitXor(const TENShPtr &right) const
Array< uChar > getColumnuChar(const RowNumbers &rownrs) const
TableExprNode(const DComplex &value)
static std::vector< TENShPtr > convertBlockTEN(Block< TableExprNode > &nodes)
convert Block of TableExprNode to vector of TENShPtr.
Array< Complex > getColumnComplex(const RowNumbers &rownrs) const
static TableExprNode newFunctionNode(TableExprFuncNode::FunctionType, const TableExprNode &node1, const TableExprNode &node2, const TableExprNode &node3)
TENShPtr newDivide(const TENShPtr &right) const
TableExprNode(const MArray< uInt > &value)
TENShPtr newEQ(const TENShPtr &right) const
Array< String > getColumnString(const Vector< uInt > &rownrs) const
TableExprNode in(const TableExprNode &array, const TaQLStyle &=TaQLStyle(0)) const
The IN operator to test if a value is contained in an array or set.
Bool isScalar() const
Is the expression a scalar?
Array< Complex > getColumnComplex(const Vector< uInt > &rownrs) const
TENShPtr newTimes(const TENShPtr &right) const
TableExprNode(const Array< uInt64 > &value)
void get(const TableExprId &id, Bool &value) const
Get a value for this node in the given row.
Array< Float > getColumnFloat(const Vector< uInt > &rownrs) const
Array< Double > getColumnDouble(const RowNumbers &rownrs) const
Array< Int64 > getColumnInt64(const Vector< uInt > &rownrs) const
TableExprNode(const Array< Complex > &value)
const Table & table() const
Get table.
void ranges(Block< TableExprRange > &)
Convert the tree to a number of range vectors which at least select the same things.
static TableExprNode newFunctionNode(TableExprFuncNode::FunctionType, const TableExprNode &node1, const TableExprNode &node2)
static TableExprNode newFunctionNode(TableExprFuncNode::FunctionType, const TableExprNode &node)
static TableExprNode newRowidNode(const Table &table)
Create rowid() function node.
static TableExprNode newRownrNode(const Table &table, uInt origin)
Create rownumber() function node.
static TableExprNode newColumnNode(const Table &tab, const String &name, const Vector< String > &fieldNames)
Create a column node on behalf of the Table class.
const Unit & unit() const
Get the unit of the expression.
Bool isNull() const
Does the node contain no actual node?
Array< Float > getColumnFloat(const RowNumbers &rownrs) const
static TableExprNode newConeNode(TableExprFuncNode::FunctionType, const TableExprNode &node1, const TableExprNode &node2)
TableExprNode(const MArray< Float > &value)
Array< DComplex > getColumnDComplex(const Vector< uInt > &rownrs) const
TENShPtr newBitOr(const TENShPtr &right) const
MArray< DComplex > getDComplexAS(const TableExprId &id) const
TableExprNode(const String &value)
TableExprNode(const Int &value)
TENShPtr newIN(const TENShPtr &right, const TaQLStyle &) const
TableExprNode(const Array< Float > &value)
TableExprNode operator+() const
Unary operators on numeric TableExprNode's.
Array< Short > getColumnShort(const RowNumbers &rownrs) const
Array< MVTime > getArrayDate(const TableExprId &id) const
TENShPtr newBitAnd(const TENShPtr &right) const
TableExprNode(const MArray< Complex > &value)
TableExprNode(const Array< uInt > &value)
Array< uChar > getColumnuChar(const Vector< uInt > &rownrs) const
TableExprNode(const MArray< uInt64 > &value)
static TableExprNode newFunctionNode(TableExprFuncNode::FunctionType, const TableExprNode &array, const TableExprNodeSet &axes)
static void throwInvDT(const String &message)
Throw invalid data type exception.
TableExprNode(const MArray< DComplex > &value)
Array< Int > getColumnInt(const Vector< uInt > &rownrs) const
TableExprNode(const Array< uChar > &value)
static TableExprNode newRandomNode(const Table &table)
Create rand() function node.
TableExprNode useUnit(const Unit &unit) const
Use a unit for the given TableExprNode.
TableExprNode(const Regex &value)
Array< uShort > getColumnuShort(const Vector< uInt > &rownrs) const
TableExprNode operator()(const TableExprNodeSet &indices)
Slicing in a node containing an array.
TableExprNode(const Array< MVTime > &value)
Array< uInt > getColumnuInt(const Vector< uInt > &rownrs) const
TENShPtr newMinus(const TENShPtr &right) const
Bool checkTableSize(const Table &table, Bool canBeConst) const
Check if tables used in expression have the same number of rows as the given table.
TableExprNode operator~() const
Unary bitwise negate-operator on integer TableExprNode's.
Bool getBool(const TableExprId &id) const
TENShPtr newGT(const TENShPtr &right) const
void disableApplySelection()
Do not apply the selection.
TableExprNode(const Double &value)
Array< Double > getColumnDouble(const Vector< uInt > &rownrs) const
MArray< Double > getDoubleAS(const TableExprId &id) const
Array< String > getColumnString(const RowNumbers &rownrs) const
TableExprNode(const Array< Int64 > &value)
Array< Double > getArrayDouble(const TableExprId &id) const
TableExprNode(const MArray< String > &value)
static TableExprNode newArrayPartNode(const TableExprNode &arrayNode, const TableExprNodeSet &indices, const TaQLStyle &=TaQLStyle(0))
Create ArrayElement node for the given array with the given index.
TableExprNode(const StringDistance &value)
TableExprNode(const Array< Double > &value)
DataType dataType() const
Get the data type of the expression.
static TableExprNode newKeyConst(const TableRecord &, const Vector< String > &fieldNames)
Create a TableExprNodeConst for a table keyword (which is handled as a constant).
TableExprNode(const MVTime &value)
Array< Int64 > getArrayInt(const TableExprId &id) const
TENShPtr newPlus(const TENShPtr &right) const
Construct a new node for the given operation.
const TableExprNodeRep * getNodeRep() const
TableExprNode(const MArray< Int64 > &value)
TableExprNode(const TENShPtr &)
Construct a node from a node representation shared pointer which increments the reference count.
TableExprNode(const MArray< uChar > &value)
void adaptUnit(const Unit &)
Adapt the unit of the expression to the given unit (if not empty).
Array< Int > getColumnInt(const RowNumbers &rownrs) const
Array< Bool > getColumnBool(const RowNumbers &rownrs) const
Get the value of the expression evaluated for the entire column.
static TableRecord * findLastKeyRec(const TableRecord &keyset, const Vector< String > &fieldNames, String &fullName)
Handle all field names except the last one.
Array< Bool > getColumnBool(const Vector< uInt > &rownrs) const
The same functions as above for the old Vector<uInt>.
TENShPtr newAND(const TENShPtr &right) const
Array< String > getArrayString(const TableExprId &id) const
TableExprNode(TableExprNodeRep *rep)
Construct from a node representation.
const TENShPtr & getRep() const
returns const pointer to the underlying TableExprNodeRep object.
Array< uInt > getColumnuInt(const RowNumbers &rownrs) const
TableExprNode(const Array< Short > &value)
TableExprNode(const MArray< Double > &value)
Array< Short > getColumnShort(const Vector< uInt > &rownrs) const
TableExprNode & operator=(const TableExprNode &)
Assignment (reference semantics).
TableExprNode(const Bool &value)
Constructors to convert a constant value to a TableExprNode.
String getString(const TableExprId &id) const
DataType getColumnDataType() const
Get the data type for doing a getColumn on the expression.
Array< Bool > getArrayBool(const TableExprId &id) const
TableExprNode(const char *)
TableExprNode(const uInt64 &value)
void show(ostream &) const
Show the tree.
TableExprNode(const MArray< uShort > &value)
TableExprNode(const TaqlRegex &value)
MVTime getDate(const TableExprId &id) const
void applySelection(const Vector< rownr_t > &rownrs)
Re-create the column object for a selection of rows.
TableExprNode(const uInt &value)
TENShPtr newNE(const TENShPtr &right) const
TableExprNode in(const TableExprNodeSet &set, const TaQLStyle &=TaQLStyle(0)) const
DComplex getDComplex(const TableExprId &id) const
TableExprNode(const Array< DComplex > &value)
TENShPtr setBinaryNodeInfo(TableExprNodeBinary *tsnptr, const TENShPtr &right=TENShPtr()) const
Put the new binary node object in a shared pointer.
std::complex< Float > Complex
std::complex< Double > DComplex
this file contains all the compiler specific defines
TableExprNode runningAny(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
TableExprNode rmss(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
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.
TableExprNode pattern(const TableExprNode &node)
TableExprNode sums(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
The partial version of the functions above.
TableExprNode maxs(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode medians(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode boxedAny(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
TableExprNode boxedAll(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
TableExprNode sumSquares(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
LatticeExprNode exp(const LatticeExprNode &expr)
TableExprNode runningMin(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
Functions operating for each element on a box around that element.
LatticeExprNode isNaN(const LatticeExprNode &expr)
Test if a value is a NaN.
TableExprNode runningMean(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
TableExprNode operator|(const TableExprNode &left, const TableExprNode &right)
TableExprNode substr(const TableExprNode &str, const TableExprNode &pos)
TableExprNode boxedVariance(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
TableExprNode angdist(const TableExprNode &pos1, const TableExprNode &pos2)
Angular distance between positions.
LatticeExprNode operator&&(const LatticeExprNode &left, const LatticeExprNode &right)
Logical binary operators.
TableExprNode cones(const TableExprNode &sourcePos, const TableExprNode &cones)
Cone search; test if the position of a source is inside a cone.
LatticeExprNode asin(const LatticeExprNode &expr)
TableExprNode means(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
LatticeExprNode fmod(const LatticeExprNode &left, const LatticeExprNode &right)
TableExprNode boxedAvdev(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
LatticeExprNode operator>(const LatticeExprNode &left, const LatticeExprNode &right)
LatticeExprNode acos(const LatticeExprNode &expr)
LatticeExprNode ndim(const LatticeExprNode &expr)
1-argument function to get the dimensionality of a lattice.
LatticeExprNode replace(const LatticeExprNode &arg1, const LatticeExprNode &arg2)
This function replaces every masked-off element in the first argument with the corresponding element ...
TableExprNode datetime(const TableExprNode &node)
Functions for date-values.
TableExprNode upcase(const TableExprNode &node)
LatticeExprNode mean(const LatticeExprNode &expr)
LatticeExprNode max(const LatticeExprNode &left, const LatticeExprNode &right)
TableExprNode isFinite(const TableExprNode &node)
Function to test if a scalar or array is finite.
LatticeExprNode cosh(const LatticeExprNode &expr)
LatticeExprNode atan(const LatticeExprNode &expr)
TableExprNode mjdtodate(const TableExprNode &node)
TableExprNode cmonth(const TableExprNode &node)
TableExprNode operator&(const TableExprNode &left, const TableExprNode &right)
LatticeExprNode tanh(const LatticeExprNode &expr)
TableExprNode time(const TableExprNode &node)
LatticeExprNode sign(const LatticeExprNode &expr)
LatticeExprNode arg(const LatticeExprNode &expr)
LatticeExprNode log10(const LatticeExprNode &expr)
TableExprNode cdow(const TableExprNode &node)
TableExprNode transpose(const TableExprNode &array)
Transpose all axes of a (masked) array.
LatticeExprNode conj(const LatticeExprNode &expr)
LatticeExprNode formComplex(const LatticeExprNode &left, const LatticeExprNode &right)
Form a complex number from two real numbers.
TableExprNode ctime(const TableExprNode &node)
LatticeExprNode operator%(const LatticeExprNode &left, const LatticeExprNode &right)
LatticeExprNode sinh(const LatticeExprNode &expr)
LatticeExprNode sum(const LatticeExprNode &expr)
TableExprNode nearAbs(const TableExprNode &left, const TableExprNode &right)
LatticeExprNode operator+(const LatticeExprNode &expr)
Global functions operating on a LatticeExprNode.
MVBaseline operator*(const RotMatrix &left, const MVBaseline &right)
Rotate a Baseline vector with rotation matrix and other multiplications.
TableExprNode sumSquare(const TableExprNode &array)
TableExprNode boxedRms(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
TableExprNode weekday(const TableExprNode &node)
LatticeExprNode stddev(const LatticeExprNode &expr)
TableExprNode isInf(const TableExprNode &node)
LatticeExprNode min(const LatticeExprNode &left, const LatticeExprNode &right)
LatticeExprNode abs(const LatticeExprNode &expr)
Numerical 1-argument functions which result in a real number regardless of input expression type.
TableExprNode amplitude(const TableExprNode &node)
The amplitude (i.e.
T norm(const TableVector< T > &tv)
TableExprNode phase(const TableExprNode &node)
The phase (i.e.
TableExprNode boxedStddev(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
LatticeExprNode operator-(const LatticeExprNode &expr)
TableExprNode anys(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode isdefined(const TableExprNode &array)
Function operating on a field resulting in a bool scalar.
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
LatticeExprNode tan(const LatticeExprNode &expr)
TableExprNode day(const TableExprNode &node)
TableExprNode anyCone(const TableExprNode &sourcePos, const TableExprNode &cones)
The result is always a Bool scalar telling if any cone contains the source.
TableExprNode nfalses(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode dms(const TableExprNode &node)
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
bool operator==(const casacore_allocator< T, ALIGNMENT > &, const casacore_allocator< T, ALIGNMENT > &)
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
TableExprNode angdistx(const TableExprNode &pos1, const TableExprNode &pos2)
Angular distance as above, but only pair-wise enties are used if both arguments are arrays.
LatticeExprNode sin(const LatticeExprNode &expr)
Numerical 1-argument functions.
bool operator!=(const casacore_allocator< T, ALIGNMENT > &, const casacore_allocator< T, ALIGNMENT > &)
LatticeExprNode operator/(const LatticeExprNode &left, const LatticeExprNode &right)
TableExprNode ltrim(const TableExprNode &node)
LatticeExprNode atan2(const LatticeExprNode &left, const LatticeExprNode &right)
Numerical 2-argument functions.
LatticeExprNode variance(const LatticeExprNode &expr)
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
TableExprNode month(const TableExprNode &node)
TableExprNode capitalize(const TableExprNode &node)
TableExprNode downcase(const TableExprNode &node)
TableExprNode runningStddev(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
TableExprNode square(const TableExprNode &node)
LatticeExprNode any(const LatticeExprNode &expr)
Functions operating on a logical expression resulting in a scalar; Functions "any" (are any pixels "T...
TableExprNode year(const TableExprNode &node)
LatticeExprNode sqrt(const LatticeExprNode &expr)
TableExprNode date(const TableExprNode &node)
TableExprNode rtrim(const TableExprNode &node)
TableExprNode runningAll(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
TableExprNode arrayFlatten(const TableExprNode &array)
Flatten a masked array (get unmasked elements).
LatticeExprNode ntrue(const LatticeExprNode &expr)
TableExprNode findCone(const TableExprNode &sourcePos, const TableExprNode &cones)
The sourcePos can contain multiple sources.
CountedPtr< TableExprNodeRep > TENShPtr
T product(const TableVector< T > &tv)
TableExprNode cdate(const TableExprNode &node)
TableExprNode boxedMedian(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
TableExprNode fractiles(const TableExprNode &array, const TableExprNode &fraction, const TableExprNodeSet &collapseAxes)
TableExprNode boolean(const TableExprNode &node)
Convert numeric or string value to bool (0, no, false, - means false)
LatticeExprNode operator<(const LatticeExprNode &left, const LatticeExprNode &right)
TableExprNode stddevs(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode cube(const TableExprNode &node)
TableExprNode mjd(const TableExprNode &node)
LatticeExprNode avdev(const LatticeExprNode &expr)
LatticeExprNode operator>=(const LatticeExprNode &left, const LatticeExprNode &right)
String toString(const SubScanKey &subScanKey)
TableExprNode sqlpattern(const TableExprNode &node)
LatticeExprNode pow(const LatticeExprNode &left, const LatticeExprNode &right)
TableExprNode avdevs(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode runningMax(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
TableExprNode products(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode integer(const TableExprNode &node)
Convert double, bool, or string to int (using floor).
LatticeExprNode log(const LatticeExprNode &expr)
TableExprNode boxedMean(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
LatticeExprNode iif(const LatticeExprNode &condition, const LatticeExprNode &arg1, const LatticeExprNode &arg2)
Function resembling the ternary ?: construct in C++.
TableExprNode regex(const TableExprNode &node)
Functions for regular expression matching and pattern matching.
TableExprNode variances(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
bool Bool
Define the standard types used by Casacore.
LatticeExprNode operator^(const LatticeExprNode &left, const LatticeExprNode &right)
TableExprNode week(const TableExprNode &node)
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
TableExprNode alls(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode boxedMin(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
TableExprNode marray(const TableExprNode &array, const TableExprNode &mask)
Form a masked array.
TableExprNode trim(const TableExprNode &node)
TableExprNode boxedMax(const TableExprNode &node, const TableExprNodeSet &halfBoxWidth)
TableExprNode ctodt(const TableExprNode &node)
TableExprNode ntrues(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
LatticeExprNode cos(const LatticeExprNode &expr)
LatticeExprNode floor(const LatticeExprNode &expr)
TableExprNode mins(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode runningVariance(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
TableExprNode diagonal(const TableExprNode &array)
Get the diagonal of a (masked) array; If the array is not a Matrix, it will take the diagonals of the...
Bool near(const GaussianBeam &left, const GaussianBeam &other, const Double relWidthTol, const Quantity &absPaTol)
LatticeExprNode median(const LatticeExprNode &expr)
LatticeExprNode all(const LatticeExprNode &expr)
LatticeExprNode nelements(const LatticeExprNode &expr)
1-argument function to get the number of elements in a lattice.
LatticeExprNode round(const LatticeExprNode &expr)
LatticeExprNode operator<=(const LatticeExprNode &left, const LatticeExprNode &right)
LatticeExprNode ceil(const LatticeExprNode &expr)
LatticeExprNode real(const LatticeExprNode &expr)
LatticeExprNode operator||(const LatticeExprNode &left, const LatticeExprNode &right)
TableExprNode runningRms(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
LatticeExprNode nfalse(const LatticeExprNode &expr)
uInt64 rownr_t
Define the type of a row number in a table.
LatticeExprNode imag(const LatticeExprNode &expr)
TableExprNode hdms(const TableExprNode &node)
TableExprNode strlength(const TableExprNode &node)
String functions on scalars or arrays.
TableExprNode runningMedian(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
TableExprNode hms(const TableExprNode &node)
Functions for angle-values.
unsigned long long uInt64
TableExprNode runningAvdev(const TableExprNode &array, const TableExprNodeSet &halfBoxWidth)
TableExprNode arrayData(const TableExprNode &array)
Get the data array of a masked array.
TableExprNode arrayMask(const TableExprNode &array)
Get the mask of a masked array.
TableExprNode rms(const TableExprNode &array)