casacore
Loading...
Searching...
No Matches
ExprMathNodeArray.h
Go to the documentation of this file.
1//# ExprMathArrayNode.h: Nodes representing mathematical array operators in table select expression tree
2//# Copyright (C) 1997,1999,2000
3//# Associated Universities, Inc. Washington DC, USA.
4//#
5//# This library is free software; you can redistribute it and/or modify it
6//# under the terms of the GNU Library General Public License as published by
7//# the Free Software Foundation; either version 2 of the License, or (at your
8//# option) any later version.
9//#
10//# This library is distributed in the hope that it will be useful, but WITHOUT
11//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13//# License for more details.
14//#
15//# You should have received a copy of the GNU Library General Public License
16//# along with this library; if not, write to the Free Software Foundation,
17//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18//#
19//# Correspondence concerning AIPS++ should be addressed as follows:
20//# Internet email: aips2-request@nrao.edu.
21//# Postal address: AIPS++ Project Office
22//# National Radio Astronomy Observatory
23//# 520 Edgemont Road
24//# Charlottesville, VA 22903-2475 USA
25//#
26//# $Id: ExprMathNodeArray.h 21262 2012-09-07 12:38:36Z gervandiepen $
27
28#ifndef TABLES_EXPRMATHNODEARRAY_H
29#define TABLES_EXPRMATHNODEARRAY_H
30
31//# Includes
32#include <casacore/casa/aips.h>
33#include <casacore/tables/TaQL/ExprNodeArray.h>
34#include <casacore/casa/Arrays/Array.h>
35
36namespace casacore { //# NAMESPACE CASACORE - BEGIN
37
38//# Forward Declarations
39
40//# This file defines classes derived from TableExprNode representing
41//# the data type and operator in a table expression.
42//#
43//# Data types Bool, Int64, Double, DComplex and String are used.
44//# Char, uChar, Short, uShort, Int, and uInt are converted to Int64,
45//# Float to Double, and Complex to DComplex.
46//# Binary operators +, -, *, /, and % are recognized.
47//# Also unary + and - are recognized.
48
49
50
51// <summary>
52// Array addition in table select expression tree
53// </summary>
54
55// <use visibility=local>
56
57// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
58// </reviewed>
59
60// <prerequisite>
61//# Classes you should understand before using this one.
62// <li> TableExprNode
63// <li> TableExprNodeRep
64// </prerequisite>
65
66// <synopsis>
67// This abstract class represents an addition in a table expression tree.
68// </synopsis>
69
76
77
78// <summary>
79// Int Array addition in table select expression tree
80// </summary>
81
82// <use visibility=local>
83
84// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
85// </reviewed>
86
87// <prerequisite>
88//# Classes you should understand before using this one.
89// <li> TableExprNode
90// <li> TableExprNodeRep
91// </prerequisite>
92
93// <synopsis>
94// This class represents an addition in a table select expression tree.
95// Strings can also be added (ie. concatenated).
96// Numeric data types will be promoted if possible, so for instance
97// an addition of Int and Complex is possible.
98// </synopsis>
99
107
108
109// <summary>
110// Double Array addition in table select expression tree
111// </summary>
112
113// <use visibility=local>
114
115// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
116// </reviewed>
117
118// <prerequisite>
119//# Classes you should understand before using this one.
120// <li> TableExprNode
121// <li> TableExprNodeRep
122// </prerequisite>
123
124// <synopsis>
125// This class represents an addition in a table select expression tree.
126// Strings can also be added (ie. concatenated).
127// Numeric data types will be promoted if possible, so for instance
128// an addition of Int and Complex is possible.
129// </synopsis>
130
138
139
140// <summary>
141// DComplex Array addition in table select expression tree
142// </summary>
143
144// <use visibility=local>
145
146// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
147// </reviewed>
148
149// <prerequisite>
150//# Classes you should understand before using this one.
151// <li> TableExprNode
152// <li> TableExprNodeRep
153// </prerequisite>
154
155// <synopsis>
156// This class represents an addition in a table select expression tree.
157// Strings can also be added (ie. concatenated).
158// Numeric data types will be promoted if possible, so for instance
159// an addition of Int and Complex is possible.
160// </synopsis>
161
169
170
171// <summary>
172// String Array addition in table select expression tree
173// </summary>
174
175// <use visibility=local>
176
177// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
178// </reviewed>
179
180// <prerequisite>
181//# Classes you should understand before using this one.
182// <li> TableExprNode
183// <li> TableExprNodeRep
184// </prerequisite>
185
186// <synopsis>
187// This class represents an addition in a table select expression tree.
188// Strings can also be added (ie. concatenated).
189// Numeric data types will be promoted if possible, so for instance
190// an addition of Int and Complex is possible.
191// </synopsis>
192
200
201
202// <summary>
203// Date Array addition in table select expression tree
204// </summary>
205
206// <use visibility=local>
207
208// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
209// </reviewed>
210
211// <prerequisite>
212//# Classes you should understand before using this one.
213// <li> TableExprNode
214// <li> TableExprNodeRep
215// </prerequisite>
216
217// <synopsis>
218// This class represents an addition in a table select expression tree.
219// Strings can also be added (ie. concatenated).
220// Numeric data types will be promoted if possible, so for instance
221// an addition of Int and Complex is possible.
222// </synopsis>
223
233
234
235
236// <summary>
237// Array addition in table select expression tree
238// </summary>
239
240// <use visibility=local>
241
242// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
243// </reviewed>
244
245// <prerequisite>
246//# Classes you should understand before using this one.
247// <li> TableExprNode
248// <li> TableExprNodeRep
249// </prerequisite>
250
251// <synopsis>
252// This abstract class represents an addition in a table expression tree.
253// </synopsis>
254
261
262
263// <summary>
264// Int Array subtraction in table select expression tree
265// </summary>
266
267// <use visibility=local>
268
269// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
270// </reviewed>
271
272// <prerequisite>
273//# Classes you should understand before using this one.
274// <li> TableExprNode
275// <li> TableExprNodeRep
276// </prerequisite>
277
278// <synopsis>
279// This class represents a subtraction in a table select expression tree.
280// Numeric data types will be promoted if possible, so for instance
281// a subtraction of Int and Complex is possible.
282// </synopsis>
283
291
292
293// <summary>
294// Double Array subtraction in table select expression tree
295// </summary>
296
297// <use visibility=local>
298
299// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
300// </reviewed>
301
302// <prerequisite>
303//# Classes you should understand before using this one.
304// <li> TableExprNode
305// <li> TableExprNodeRep
306// </prerequisite>
307
308// <synopsis>
309// This class represents a subtraction in a table select expression tree.
310// Numeric data types will be promoted if possible, so for instance
311// a subtraction of Int and Complex is possible.
312// </synopsis>
313
321
322
323// <summary>
324// DComplex Array subtraction in table select expression tree
325// </summary>
326
327// <use visibility=local>
328
329// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
330// </reviewed>
331
332// <prerequisite>
333//# Classes you should understand before using this one.
334// <li> TableExprNode
335// <li> TableExprNodeRep
336// </prerequisite>
337
338// <synopsis>
339// This class represents a subtraction in a table select expression tree.
340// Numeric data types will be promoted if possible, so for instance
341// a subtraction of Int and Complex is possible.
342// </synopsis>
343
351
352
353// <summary>
354// Date Array subtraction in table select expression tree
355// </summary>
356
357// <use visibility=local>
358
359// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
360// </reviewed>
361
362// <prerequisite>
363//# Classes you should understand before using this one.
364// <li> TableExprNode
365// <li> TableExprNodeRep
366// </prerequisite>
367
368// <synopsis>
369// This class represents a subtraction in a table select expression tree.
370// Numeric data types will be promoted if possible, so for instance
371// a subtraction of Int and Complex is possible.
372// </synopsis>
373
383
384
385
386// <summary>
387// Array addition in table select expression tree
388// </summary>
389
390// <use visibility=local>
391
392// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
393// </reviewed>
394
395// <prerequisite>
396//# Classes you should understand before using this one.
397// <li> TableExprNode
398// <li> TableExprNodeRep
399// </prerequisite>
400
401// <synopsis>
402// This abstract class represents an addition in a table expression tree.
403// </synopsis>
404
412
413
414// <summary>
415// Int Array multiplication in table select expression tree
416// </summary>
417
418// <use visibility=local>
419
420// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
421// </reviewed>
422
423// <prerequisite>
424//# Classes you should understand before using this one.
425// <li> TableExprNode
426// <li> TableExprNodeRep
427// </prerequisite>
428
429// <synopsis>
430// This class represents a multiplication in a table select expression tree.
431// Numeric data types will be promoted if possible, so for instance
432// a multiplication of Int and Complex is possible.
433// </synopsis>
434
442
443
444// <summary>
445// Double Array multiplication in table select expression tree
446// </summary>
447
448// <use visibility=local>
449
450// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
451// </reviewed>
452
453// <prerequisite>
454//# Classes you should understand before using this one.
455// <li> TableExprNode
456// <li> TableExprNodeRep
457// </prerequisite>
458
459// <synopsis>
460// This class represents a multiplication in a table select expression tree.
461// Numeric data types will be promoted if possible, so for instance
462// a multiplication of Int and Complex is possible.
463// </synopsis>
464
472
473
474// <summary>
475// DComplex Array multiplication in table select expression tree
476// </summary>
477
478// <use visibility=local>
479
480// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
481// </reviewed>
482
483// <prerequisite>
484//# Classes you should understand before using this one.
485// <li> TableExprNode
486// <li> TableExprNodeRep
487// </prerequisite>
488
489// <synopsis>
490// This class represents a multiplication in a table select expression tree.
491// Numeric data types will be promoted if possible, so for instance
492// a multiplication of Int and Complex is possible.
493// </synopsis>
494
502
503
504
505// <summary>
506// Array addition in table select expression tree
507// </summary>
508
509// <use visibility=local>
510
511// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
512// </reviewed>
513
514// <prerequisite>
515//# Classes you should understand before using this one.
516// <li> TableExprNode
517// <li> TableExprNodeRep
518// </prerequisite>
519
520// <synopsis>
521// This abstract class represents an addition in a table expression tree.
522// </synopsis>
523
531
532
533// <summary>
534// Double Array division in table select expression tree
535// </summary>
536
537// <use visibility=local>
538
539// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
540// </reviewed>
541
542// <prerequisite>
543//# Classes you should understand before using this one.
544// <li> TableExprNode
545// <li> TableExprNodeRep
546// </prerequisite>
547
548// <synopsis>
549// This class represents a division in a table select expression tree.
550// Numeric data types will be promoted if possible, so for instance
551// a division of Int and Complex is possible.
552// </synopsis>
553
561
562
563// <summary>
564// DComplex Array division in table select expression tree
565// </summary>
566
567// <use visibility=local>
568
569// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
570// </reviewed>
571
572// <prerequisite>
573//# Classes you should understand before using this one.
574// <li> TableExprNode
575// <li> TableExprNodeRep
576// </prerequisite>
577
578// <synopsis>
579// This class represents a division in a table select expression tree.
580// Numeric data types will be promoted if possible, so for instance
581// a division of Int and Complex is possible.
582// </synopsis>
583
591
592
593
594// <summary>
595// Array addition in table select expression tree
596// </summary>
597
598// <use visibility=local>
599
600// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
601// </reviewed>
602
603// <prerequisite>
604//# Classes you should understand before using this one.
605// <li> TableExprNode
606// <li> TableExprNodeRep
607// </prerequisite>
608
609// <synopsis>
610// This abstract class represents an addition in a table expression tree.
611// </synopsis>
612
620
621
622// <summary>
623// Int Array modulo in table select expression tree
624// </summary>
625
626// <use visibility=local>
627
628// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
629// </reviewed>
630
631// <prerequisite>
632//# Classes you should understand before using this one.
633// <li> TableExprNode
634// <li> TableExprNodeRep
635// </prerequisite>
636
637// <synopsis>
638// This class represents a modulo operation in a table select expression tree.
639// It is only possible for datatype Int.
640// </synopsis>
641
649
650
651// <summary>
652// Double Array modulo in table select expression tree
653// </summary>
654
655// <use visibility=local>
656
657// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
658// </reviewed>
659
660// <prerequisite>
661//# Classes you should understand before using this one.
662// <li> TableExprNode
663// <li> TableExprNodeRep
664// </prerequisite>
665
666// <synopsis>
667// This class represents a modulo operation in a table select expression tree.
668// It is only possible for datatype Double.
669// </synopsis>
670
678
679
680
681// <summary>
682// Int Array bitwise and in table select expression tree
683// </summary>
684
685// <use visibility=local>
686
687// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
688// </reviewed>
689
690// <prerequisite>
691//# Classes you should understand before using this one.
692// <li> TableExprNode
693// <li> TableExprNodeRep
694// </prerequisite>
695
696// <synopsis>
697// This class represents a bitwise and operation in a table select expression
698// tree. It is only possible for datatype Int.
699// </synopsis>
700
708
709
710// <summary>
711// Int Array bitwise or in table select expression tree
712// </summary>
713
714// <use visibility=local>
715
716// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
717// </reviewed>
718
719// <prerequisite>
720//# Classes you should understand before using this one.
721// <li> TableExprNode
722// <li> TableExprNodeRep
723// </prerequisite>
724
725// <synopsis>
726// This class represents a bitwise or operation in a table select expression
727// tree. It is only possible for datatype Int.
728// </synopsis>
729
737
738
739// <summary>
740// Int Array bitwise xor in table select expression tree
741// </summary>
742
743// <use visibility=local>
744
745// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
746// </reviewed>
747
748// <prerequisite>
749//# Classes you should understand before using this one.
750// <li> TableExprNode
751// <li> TableExprNodeRep
752// </prerequisite>
753
754// <synopsis>
755// This class represents a bitwise xor operation in a table select expression
756// tree. It is only possible for datatype Int.
757// </synopsis>
758
766
767
768
769// <summary>
770// Unary minus in table select expression tree
771// </summary>
772
773// <use visibility=local>
774
775// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
776// </reviewed>
777
778// <prerequisite>
779//# Classes you should understand before using this one.
780// <li> TableExprNode
781// </prerequisite>
782
783// <synopsis>
784// This class represents a unary minus in a table select expression tree.
785// This is defined for numeric data types only.
786// </synopsis>
787
797
798
799// <summary>
800// Bitwise negate in table select expression tree
801// </summary>
802
803// <use visibility=local>
804
805// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
806// </reviewed>
807
808// <prerequisite>
809//# Classes you should understand before using this one.
810// <li> TableExprNode
811// </prerequisite>
812
813// <synopsis>
814// This class represents a bitwise negate in a table select expression tree.
815// This is defined for Int data types only.
816// </synopsis>
817
825
826
827} //# NAMESPACE CASACORE - END
828
829#endif
Int Array bitwise and in table select expression tree.
TableExprNodeArrayBitAndInt(const TableExprNodeRep &)
MArray< Int64 > getArrayInt(const TableExprId &id)
Bitwise negate in table select expression tree.
TableExprNodeArrayBitNegate(const TableExprNodeRep &)
MArray< Int64 > getArrayInt(const TableExprId &id)
Int Array bitwise or in table select expression tree.
MArray< Int64 > getArrayInt(const TableExprId &id)
TableExprNodeArrayBitOrInt(const TableExprNodeRep &)
Int Array bitwise xor in table select expression tree.
TableExprNodeArrayBitXorInt(const TableExprNodeRep &)
MArray< Int64 > getArrayInt(const TableExprId &id)
DComplex Array division in table select expression tree.
TableExprNodeArrayDivideDComplex(const TableExprNodeRep &)
MArray< DComplex > getArrayDComplex(const TableExprId &id)
The default implementation of getArrayDComplex does getArrayDouble and converts the result.
Double Array division in table select expression tree.
TableExprNodeArrayDivideDouble(const TableExprNodeRep &)
MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
Array addition in table select expression tree.
TableExprNodeArrayDivide(NodeDataType, const TableExprNodeRep &)
virtual void handleUnits()
Handle the units of the children and possibly set the parent's unit.
Unary minus in table select expression tree.
MArray< DComplex > getArrayDComplex(const TableExprId &id)
The default implementation of getArrayDComplex does getArrayDouble and converts the result.
TableExprNodeArrayMIN(const TableExprNodeRep &)
MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
MArray< Int64 > getArrayInt(const TableExprId &id)
DComplex Array subtraction in table select expression tree.
TableExprNodeArrayMinusDComplex(const TableExprNodeRep &)
MArray< DComplex > getArrayDComplex(const TableExprId &id)
The default implementation of getArrayDComplex does getArrayDouble and converts the result.
Date Array subtraction in table select expression tree.
virtual void handleUnits()
Handle the units of the children and possibly set the parent's unit.
MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
MArray< MVTime > getArrayDate(const TableExprId &id)
TableExprNodeArrayMinusDate(const TableExprNodeRep &)
Double Array subtraction in table select expression tree.
MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
TableExprNodeArrayMinusDouble(const TableExprNodeRep &)
Int Array subtraction in table select expression tree.
TableExprNodeArrayMinusInt(const TableExprNodeRep &)
MArray< Int64 > getArrayInt(const TableExprId &id)
Array addition in table select expression tree.
TableExprNodeArrayMinus(NodeDataType, const TableExprNodeRep &)
Double Array modulo in table select expression tree.
MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
TableExprNodeArrayModuloDouble(const TableExprNodeRep &)
Int Array modulo in table select expression tree.
MArray< Int64 > getArrayInt(const TableExprId &id)
TableExprNodeArrayModuloInt(const TableExprNodeRep &)
Array addition in table select expression tree.
TableExprNodeArrayModulo(NodeDataType, const TableExprNodeRep &)
virtual void handleUnits()
Handle the units of the children and possibly set the parent's unit.
DComplex Array addition in table select expression tree.
MArray< DComplex > getArrayDComplex(const TableExprId &id)
The default implementation of getArrayDComplex does getArrayDouble and converts the result.
TableExprNodeArrayPlusDComplex(const TableExprNodeRep &)
Date Array addition in table select expression tree.
MArray< MVTime > getArrayDate(const TableExprId &id)
TableExprNodeArrayPlusDate(const TableExprNodeRep &)
MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
virtual void handleUnits()
Handle the units of the children and possibly set the parent's unit.
Double Array addition in table select expression tree.
MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
TableExprNodeArrayPlusDouble(const TableExprNodeRep &)
Int Array addition in table select expression tree.
MArray< Int64 > getArrayInt(const TableExprId &id)
TableExprNodeArrayPlusInt(const TableExprNodeRep &)
String Array addition in table select expression tree.
TableExprNodeArrayPlusString(const TableExprNodeRep &)
MArray< String > getArrayString(const TableExprId &id)
TableExprNodeArrayPlus(NodeDataType, const TableExprNodeRep &)
DComplex Array multiplication in table select expression tree.
TableExprNodeArrayTimesDComplex(const TableExprNodeRep &)
MArray< DComplex > getArrayDComplex(const TableExprId &id)
The default implementation of getArrayDComplex does getArrayDouble and converts the result.
Double Array multiplication in table select expression tree.
MArray< Double > getArrayDouble(const TableExprId &id)
The default implementation of getArrayDouble does getArrayInt and converts the result.
TableExprNodeArrayTimesDouble(const TableExprNodeRep &)
Int Array multiplication in table select expression tree.
TableExprNodeArrayTimesInt(const TableExprNodeRep &)
MArray< Int64 > getArrayInt(const TableExprId &id)
Array addition in table select expression tree.
TableExprNodeArrayTimes(NodeDataType, const TableExprNodeRep &)
virtual void handleUnits()
Handle the units of the children and possibly set the parent's unit.
Abstract base class for a node in a table column expression tree.
NodeDataType
Define the data types of a node.
this file contains all the compiler specific defines
Definition mainpage.dox:28