26#ifndef TABLES_EXPRNODE_H
27#define TABLES_EXPRNODE_H
30#include <casacore/casa/aips.h>
31#include <casacore/tables/TaQL/ExprNodeRep.h>
32#include <casacore/tables/TaQL/ExprRange.h>
33#include <casacore/tables/TaQL/ExprFuncNode.h>
34#include <casacore/tables/TaQL/TaQLStyle.h>
35#include <casacore/tables/TaQL/MArray.h>
36#include <casacore/tables/Tables/RowNumbers.h>
37#include <casacore/casa/Arrays/ArrayFwd.h>
38#include <casacore/casa/Utilities/DataType.h>
39#include <casacore/casa/BasicSL/Complex.h>
51class TableExprNodeBinary;
52class TableExprNodeSet;
53template<
class T>
class Block;
54template<
class T>
class MArray;
274 {
node_p->disableApplySelection(); }
279 {
node_p->applySelection (rownrs); }
283 {
return node_p->getTableInfo(); }
293 {
return node_p->unit(); }
297 {
return node_p->attributes(); }
313 {
return node_p->nrow(); }
393#ifndef IMPLICIT_CTDS_32BIT
425 void show (ostream&)
const;
576 {
node_p->ranges (blrange); }
632 {
return node_p->getInt (
id); }
634 {
return node_p->getDouble (
id); }
636 {
return node_p->getDComplex (
id); }
638 {
return node_p->getDate (
id); }
640 {
return node_p->getString (
id); }
642 {
return node_p->getArrayBool (
id).array(); }
644 {
return node_p->getArrayInt (
id).array(); }
646 {
return node_p->getArrayDouble (
id).array(); }
648 {
return node_p->getArrayDComplex (
id).array(); }
650 {
return node_p->getArrayString (
id).array(); }
652 {
return node_p->getArrayDate (
id).array(); }
654 {
return node_p->getBoolAS (
id); }
656 {
return node_p->getIntAS (
id); }
658 {
return node_p->getDoubleAS (
id); }
660 {
return node_p->getDComplexAS (
id); }
662 {
return node_p->getStringAS (
id); }
664 {
return node_p->getDateAS (
id); }
667 {
return node_p->getColumnBool (rownrs); }
669 {
return node_p->getColumnuChar (rownrs); }
671 {
return node_p->getColumnShort (rownrs); }
673 {
return node_p->getColumnuShort (rownrs); }
675 {
return node_p->getColumnInt (rownrs); }
677 {
return node_p->getColumnuInt (rownrs); }
679 {
return node_p->getColumnInt64 (rownrs); }
681 {
return node_p->getColumnFloat (rownrs); }
683 {
return node_p->getColumnDouble (rownrs); }
685 {
return node_p->getColumnComplex (rownrs); }
687 {
return node_p->getColumnDComplex (rownrs); }
689 {
return node_p->getColumnString (rownrs); }
1252 left, right, tolerance);
1265 left, right, tolerance);
1302 sourcePos, conePos, radii);
1309 sourcePos, conePos, radii);
1316 sourcePos, conePos, radii);
1787 array, fraction, axes);
1817 node, halfBoxWidth);
1823 node, halfBoxWidth);
1829 node, halfBoxWidth);
1835 node, halfBoxWidth);
1841 node, halfBoxWidth);
1847 node, halfBoxWidth);
1853 node, halfBoxWidth);
1859 node, halfBoxWidth);
1865 node, halfBoxWidth);
1871 node, halfBoxWidth);
1877 node, halfBoxWidth);
1883 node, halfBoxWidth);
1889 node, halfBoxWidth);
1895 node, halfBoxWidth);
1901 node, halfBoxWidth);
1907 node, halfBoxWidth);
1913 node, halfBoxWidth);
1919 node, halfBoxWidth);
1925 node, halfBoxWidth);
1931 node, halfBoxWidth);
2000 condition, arg1, arg2);
DComplex getDComplex() const
Array< DComplex > getArrayDComplex() const
Array< Double > getArrayDouble() const
Array< Bool > getArrayBool() const
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
Class to connect a Table and its alias name.
const Table & table() const
Get the Table object.
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.
void get(const TableExprId &id, Bool &value)
General get functions for template purposes.
Array< DComplex > getColumnDComplex(const RowNumbers &rownrs) const
Array< Short > getColumnShort(const Vector< uInt > &rownrs) const
TableExprNode(const MArray< Int > &value)
TableExprNode(const Array< String > &value)
TENShPtr newModulo(const TENShPtr &right) const
Int64 getInt(const TableExprId &id) const
TENShPtr node_p
The actual (counted referenced) representation of a node.
TableExprNode(const Float &value)
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
static TableRecord * findLastKeyRec(const TableRecord &keyset, const Vector< String > &fieldNames, String &fullName)
Handle all field names except the last one.
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).
Array< DComplex > getColumnDComplex(const Vector< uInt > &rownrs) const
static TableExprNode keyCol(const TableExprInfo &tabInfo, const String &name, const Vector< String > &fieldNames)
Create a column node or constant keyword node.
TableExprNode(const Int64 &value)
TENShPtr newGE(const TENShPtr &right) const
const Record & attributes() const
Get the attributes of the expression.
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)
TableExprInfo getTableInfo() const
Get the table info of the expression node.
TableExprNode(const MArray< Bool > &value)
TableExprNode(const Array< Bool > &value)
Array< uShort > getColumnuShort(const RowNumbers &rownrs) const
Array< String > getColumnString(const Vector< uInt > &rownrs) const
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
Array< Double > getColumnDouble(const Vector< uInt > &rownrs) 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< Bool > getColumnBool(const Vector< uInt > &rownrs) const
The same functions as above for the old Vector<uInt>.
Array< Int64 > getColumnInt64(const RowNumbers &rownrs) const
TENShPtr newBitXor(const TENShPtr &right) const
Array< uChar > getColumnuChar(const RowNumbers &rownrs) const
TableExprNode(const DComplex &value)
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
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?
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.
static TableExprNode newFunctionNode(TableExprFuncNode::FunctionType, const TableExprNodeSet &set, const TableExprInfo &tabInfo, const TaQLStyle &=TaQLStyle(0))
Create function node of the given type with the given arguments.
TableExprNode & operator=(const TableExprNode &)
Assignment (reference semantics).
Array< Double > getColumnDouble(const RowNumbers &rownrs) const
TableExprNode(const Array< Complex > &value)
Table table() const __attribute__((deprecated("Use getTableInfo().table() instead")))
Get the table to which the expression node belongs.
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)
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< Float > getColumnFloat(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)
TableExprNode(const MArray< uInt64 > &value)
const Unit & unit() const
Get the unit of the expression.
static TableExprNode newFunctionNode(TableExprFuncNode::FunctionType, const TableExprNode &array, const TableExprNodeSet &axes)
static void throwInvDT(const String &message)
Throw invalid data type exception.
Array< Int > getColumnInt(const Vector< uInt > &rownrs) const
TableExprNode(const MArray< DComplex > &value)
TableExprNode(const Array< uChar > &value)
TableExprNode useUnit(const Unit &unit) const
Use a unit for the given TableExprNode.
TableExprNode(const Regex &value)
TableExprNode operator()(const TableExprNodeSet &indices)
Slicing in a node containing an array.
TableExprNode(const Array< MVTime > &value)
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
static TableExprNode newColumnNode(const TableExprInfo &, const String &colName, const Vector< String > &fieldNames)
Create a column node on behalf of the Table class.
TENShPtr newGT(const TENShPtr &right) const
static TableExprNode newRownrNode(const TableExprInfo &, uInt origin)
Create rownumber() function node.
void disableApplySelection()
Do not apply the selection.
Array< uChar > getColumnuChar(const Vector< uInt > &rownrs) const
TableExprNode(const Double &value)
static TableExprNode newUDFNode(const String &name, const TableExprNodeSet &set, const TableExprInfo &tableInfo, const TaQLStyle &=TaQLStyle(0))
Create a user defined function node.
MArray< Double > getDoubleAS(const TableExprId &id) const
Array< Int64 > getColumnInt64(const Vector< uInt > &rownrs) 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.
static TableExprNode newRowidNode(const TableExprInfo &)
Create rowid() function node.
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.
TENShPtr newAND(const TENShPtr &right) const
Array< String > getArrayString(const TableExprId &id) const
Array< uShort > getColumnuShort(const Vector< uInt > &rownrs) const
Array< uInt > getColumnuInt(const Vector< uInt > &rownrs) const
TableExprNode(TableExprNodeRep *rep)
Construct from a node representation.
const TENShPtr & getRep() const
returns const pointer to the underlying TableExprNodeRep object.
static TableExprNode newRandomNode(const TableExprInfo &)
Create rand() function node.
Array< uInt > getColumnuInt(const RowNumbers &rownrs) const
TableExprNode(const Array< Short > &value)
TableExprNode(const MArray< Double > &value)
Array< Complex > getColumnComplex(const Vector< uInt > &rownrs) const
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
static std::vector< TENShPtr > convertBlockTEN(Block< TableExprNode > &nodes)
convert Block of TableExprNode to vector of TENShPtr.
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.
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 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.
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)
TableExprNode stddevs(const TableExprNode &array, const TableExprNodeSet &collapseAxes)
TableExprNode cube(const TableExprNode &node)
TableExprNode mjd(const TableExprNode &node)
LatticeExprNode avdev(const LatticeExprNode &expr)
String toString(const SubScanKey &subScanKey)
std::shared_ptr< TableExprNodeRep > TENShPtr
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 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)