This LEL class handles scalar (unary) constants. More...
#include <LELUnary.h>
Public Member Functions | |
LELUnaryConst () | |
Default constructor creates a scalar with a false mask. | |
LELUnaryConst (const T val) | |
Constructor takes a scalar. | |
~LELUnaryConst () | |
Destructor does nothing. | |
virtual void | eval (LELArray< T > &result, const Slicer §ion) const |
Evaluate the expression. | |
virtual LELScalar< T > | getScalar () const |
Evaluate the scalar expression (get the constant). | |
virtual Bool | prepareScalarExpr () |
Do further preparations (e.g. | |
virtual String | className () const |
Get class name. | |
Private Attributes | |
LELScalar< T > | val_p |
This LEL class handles scalar (unary) constants.
Internal
This derived LEL letter class handles scalar (unary) constants
This LEL letter class is derived from LELInterface. It is used to construct LEL objects that represent scalars constants. They can be of type Float,Double,Complex,DComplex and Bool.
A description of the implementation details of the LEL classes can be found in Note 216
Examples are not very useful as the user would never use these classes directly. Look in LatticeExprNode.cc to see how it invokes these classes. Examples of how the user would indirectly use this class (through the envelope) are:
IPosition shape(2,5,10); ArrayLattice<Float> x(shape); x.set(1.0); ArrayLattice<Float> y(shape); ArrayLattice<Float> z(shape); y.copyData(x+2.0); // y = x + 2.0 z.copyData(True); // z = True
Constants are a basic mathematical expression.
Definition at line 96 of file LELUnary.h.
casacore::LELUnaryConst< T >::LELUnaryConst | ( | ) |
Default constructor creates a scalar with a false mask.
casacore::LELUnaryConst< T >::LELUnaryConst | ( | const T | val | ) |
Constructor takes a scalar.
casacore::LELUnaryConst< T >::~LELUnaryConst | ( | ) |
Destructor does nothing.
virtual String casacore::LELUnaryConst< T >::className | ( | ) | const [virtual] |
Get class name.
Implements casacore::LELInterface< T >.
virtual void casacore::LELUnaryConst< T >::eval | ( | LELArray< T > & | result, | |
const Slicer & | section | |||
) | const [virtual] |
Evaluate the expression.
This throws an exception, since only a scalar can be returned.
Implements casacore::LELInterface< T >.
virtual LELScalar<T> casacore::LELUnaryConst< T >::getScalar | ( | ) | const [virtual] |
Evaluate the scalar expression (get the constant).
Implements casacore::LELInterface< T >.
virtual Bool casacore::LELUnaryConst< T >::prepareScalarExpr | ( | ) | [virtual] |
Do further preparations (e.g.
optimization) on the expression.
Implements casacore::LELInterface< T >.
LELScalar<T> casacore::LELUnaryConst< T >::val_p [private] |
Definition at line 127 of file LELUnary.h.