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