casacore
Loading...
Searching...
No Matches
ExprGroupAggrFuncArray.h
Go to the documentation of this file.
1// # ExprGroupAggrFuncArray.h: The various array reduction aggregation functions
2// # Copyright (C) 2013
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: casa-feedback@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#ifndef TABLES_EXPRGROUPAGGRFUNCARRAY_H
27#define TABLES_EXPRGROUPAGGRFUNCARRAY_H
28
29// # Includes
30#include <casacore/casa/aips.h>
31#include <casacore/tables/TaQL/ExprGroup.h>
32#include <vector>
33
34namespace casacore { // # NAMESPACE CASACORE - BEGIN
35
36// <summary>
37// Aggregate class counting if any array value in a group is true
38// </summary>
39// <use visibility=local>
40// <reviewed reviewer="" date="" tests="tExprGroup">
41// </reviewed>
42// <synopsis>
43// Aggregate class counting if any array value in a group is true.
44// </synopsis>
51
52// <summary>
53// Aggregate class counting if all array values in a group are true
54// </summary>
55// <use visibility=local>
56// <reviewed reviewer="" date="" tests="tExprGroup">
57// </reviewed>
58// <synopsis>
59// Aggregate class counting if all array values in a group are true.
60// </synopsis>
67
68// <summary>
69// Aggregate class counting the number of true array values in a group
70// </summary>
71// <use visibility=local>
72// <reviewed reviewer="" date="" tests="tExprGroup">
73// </reviewed>
74// <synopsis>
75// Aggregate class counting the number of true array values in a group.
76// </synopsis>
83
84// <summary>
85// Aggregate class counting the number of false array values in a group
86// </summary>
87// <use visibility=local>
88// <reviewed reviewer="" date="" tests="tExprGroup">
89// </reviewed>
90// <synopsis>
91// Aggregate class counting the number of false array values in a group.
92// </synopsis>
99
100// <summary>
101// Aggregate class determining the minimum integer array value in a group
102// </summary>
103// <use visibility=local>
104// <reviewed reviewer="" date="" tests="tExprGroup">
105// </reviewed>
106// <synopsis>
107// Aggregate class determining the minimum integer array value in a group.
108// </synopsis>
115
116// <summary>
117// Aggregate class determining the maximum integer array value in a group
118// </summary>
119// <use visibility=local>
120// <reviewed reviewer="" date="" tests="tExprGroup">
121// </reviewed>
122// <synopsis>
123// Aggregate class determining the maximum integer array value in a group.
124// </synopsis>
131
132// <summary>
133// Aggregate class determining the sum of integer array values in a group
134// </summary>
135// <use visibility=local>
136// <reviewed reviewer="" date="" tests="tExprGroup">
137// </reviewed>
138// <synopsis>
139// Aggregate class determining the sum of integer array values in a group.
140// </synopsis>
147
148// <summary>
149// Aggregate class determining the product of integer array values in a group
150// </summary>
151// <use visibility=local>
152// <reviewed reviewer="" date="" tests="tExprGroup">
153// </reviewed>
154// <synopsis>
155// Aggregate class determining the product of integer array values in a group.
156// </synopsis>
163
164// <summary>
165// Aggregate class determining the sum of squares of integer array values
166// in a group
167// </summary>
168// <use visibility=local>
169// <reviewed reviewer="" date="" tests="tExprGroup">
170// </reviewed>
171// <synopsis>
172// Aggregate class determining the sum of squares of integer array values
173// in a group.
174// </synopsis>
181
182// <summary>
183// Aggregate class determining the minimum double array value in a group
184// </summary>
185// <use visibility=local>
186// <reviewed reviewer="" date="" tests="tExprGroup">
187// </reviewed>
188// <synopsis>
189// Aggregate class determining the minimum double array value in a group.
190// </synopsis>
197
198// <summary>
199// Aggregate class determining the maximum double array value in a group
200// </summary>
201// <use visibility=local>
202// <reviewed reviewer="" date="" tests="tExprGroup">
203// </reviewed>
204// <synopsis>
205// Aggregate class determining the maximum double array value in a group.
206// </synopsis>
213
214// <summary>
215// Aggregate class determining the sum of double array values in a group
216// </summary>
217// <use visibility=local>
218// <reviewed reviewer="" date="" tests="tExprGroup">
219// </reviewed>
220// <synopsis>
221// Aggregate class determining the sum of double array values in a group.
222// </synopsis>
229
230// <summary>
231// Aggregate class determining the product of double array values in a group
232// </summary>
233// <use visibility=local>
234// <reviewed reviewer="" date="" tests="tExprGroup">
235// </reviewed>
236// <synopsis>
237// Aggregate class determining the product of double array values in a group.
238// </synopsis>
245
246// <summary>
247// Aggregate class determining the sum of squares of double array values
248// in a group
249// </summary>
250// <use visibility=local>
251// <reviewed reviewer="" date="" tests="tExprGroup">
252// </reviewed>
253// <synopsis>
254// Aggregate class determining the sum of squares of double array values
255// in a group.
256// </synopsis>
263
264// <summary>
265// Aggregate class determining the mean of array values in a group
266// </summary>
267// <use visibility=local>
268// <reviewed reviewer="" date="" tests="tExprGroup">
269// </reviewed>
270// <synopsis>
271// Aggregate class determining the mean of array values in a group.
272// </synopsis>
274 public:
277 virtual void apply(const TableExprId& id);
278 virtual void finish();
279
280 private:
282};
283
284// <summary>
285// Aggregate class determining the variance of array values in a group
286// </summary>
287// <use visibility=local>
288// <reviewed reviewer="" date="" tests="tExprGroup">
289// </reviewed>
290// <synopsis>
291// Aggregate class determining the variance of array values in a group.
292// It uses a running algorithm
293// (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
294// </synopsis>
307
308// <summary>
309// Aggregate class determining the standard devation of array values
310// in a group
311// </summary>
312// <use visibility=local>
313// <reviewed reviewer="" date="" tests="tExprGroup">
314// </reviewed>
315// <synopsis>
316// Aggregate class determining the standard deviation of array values
317// in a group. It uses a running algorithm
318// (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
319// </synopsis>
326
327// <summary>
328// Aggregate class determining the RMS of array values in a group
329// </summary>
330// <use visibility=local>
331// <reviewed reviewer="" date="" tests="tExprGroup">
332// </reviewed>
333// <synopsis>
334// Aggregate class determining the RMS of array values in a group.
335// </synopsis>
337 public:
340 virtual void apply(const TableExprId& id);
341 virtual void finish();
342
343 private:
345};
346
347// <summary>
348// Aggregate class determining the fractile of array values in a group
349// </summary>
350// <use visibility=local>
351// <reviewed reviewer="" date="" tests="tExprGroup">
352// </reviewed>
353// <synopsis>
354// Aggregate class determining the fractile of array values in a group.
355// <br>It is a lazy aggregate class, thus <src>apply</src> does nothing.
356// Instead, <src>getDouble</src> assembles the values and determines the
357// fractile.
358// </synopsis>
360 public:
363 virtual Bool isLazy() const;
364 virtual void apply(const TableExprId& id);
365 virtual Double getDouble(const vector<TableExprId>& ids);
366
367 private:
369};
370
371// <summary>
372// Aggregate class determining the sum of complex array values in a group
373// </summary>
374// <use visibility=local>
375// <reviewed reviewer="" date="" tests="tExprGroup">
376// </reviewed>
377// <synopsis>
378// Aggregate class determining the sum of complex array values in a group.
379// </synopsis>
386
387// <summary>
388// Aggregate class determining the product of complex array values in a group
389// </summary>
390// <use visibility=local>
391// <reviewed reviewer="" date="" tests="tExprGroup">
392// </reviewed>
393// <synopsis>
394// Aggregate class determining the product of complex array values in a group.
395// </synopsis>
402
403// <summary>
404// Aggregate class determining the sum of squares of complex array values
405// in a group
406// </summary>
407// <use visibility=local>
408// <reviewed reviewer="" date="" tests="tExprGroup">
409// </reviewed>
410// <synopsis>
411// Aggregate class determining the sum of squares of complex array values
412// in a group.
413// </synopsis>
420
421// <summary>
422// Aggregate class determining the mean of complex array values in a group
423// </summary>
424// <use visibility=local>
425// <reviewed reviewer="" date="" tests="tExprGroup">
426// </reviewed>
427// <synopsis>
428// Aggregate class determining the mean of complex array values in a group.
429// </synopsis>
440
441// <summary>
442// Aggregate class determining the variance of array values in a group
443// </summary>
444// <use visibility=local>
445// <reviewed reviewer="" date="" tests="tExprGroup">
446// </reviewed>
447// <synopsis>
448// Aggregate class determining the variance of array values in a group.
449// It uses a running algorithm
450// (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
451// Note that the result is a Double value (not DComplex).
452// </synopsis>
465
466// <summary>
467// Aggregate class determining the standard devation of array values
468// in a group
469// </summary>
470// <use visibility=local>
471// <reviewed reviewer="" date="" tests="tExprGroup">
472// </reviewed>
473// <synopsis>
474// Aggregate class determining the standard deviation of array values
475// in a group. It uses a running algorithm
476// (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
477// </synopsis>
484
485// <summary>
486// Aggregate class counting per array index in a group if any is true
487// </summary>
488// <use visibility=local>
489// <reviewed reviewer="" date="" tests="tExprGroup">
490// </reviewed>
491// <synopsis>
492// Aggregate class counting per array index in a group if any is true.
493// </synopsis>
500
501// <summary>
502// Aggregate class counting per array index in a group if all are true
503// </summary>
504// <use visibility=local>
505// <reviewed reviewer="" date="" tests="tExprGroup">
506// </reviewed>
507// <synopsis>
508// Aggregate class counting per array index in a group if all are true.
509// </synopsis>
516
517// <summary>
518// Aggregate class counting per array index in a group the nr of true values
519// </summary>
520// <use visibility=local>
521// <reviewed reviewer="" date="" tests="tExprGroup">
522// </reviewed>
523// <synopsis>
524// Aggregate class counting per array index in a group the nr of true values.
525// </synopsis>
532
533// <summary>
534// Aggregate class counting per array index in a group the nr of false values
535// </summary>
536// <use visibility=local>
537// <reviewed reviewer="" date="" tests="tExprGroup">
538// </reviewed>
539// <synopsis>
540// Aggregate class counting per array index in a group the nr of false values.
541// </synopsis>
548
549// <summary>
550// Aggregate class determining per array index in a group the minimum value
551// </summary>
552// <use visibility=local>
553// <reviewed reviewer="" date="" tests="tExprGroup">
554// </reviewed>
555// <synopsis>
556// Aggregate class determining per array index in a group the minimum value.
557// </synopsis>
565
566// <summary>
567// Aggregate class determining per array index in a group the maximum value
568// </summary>
569// <use visibility=local>
570// <reviewed reviewer="" date="" tests="tExprGroup">
571// </reviewed>
572// <synopsis>
573// Aggregate class determining per array index in a group the maximum value.
574// </synopsis>
582
583// <summary>
584// Aggregate class determining per array index in a group the sum of values
585// </summary>
586// <use visibility=local>
587// <reviewed reviewer="" date="" tests="tExprGroup">
588// </reviewed>
589// <synopsis>
590// Aggregate class determining per array index in a group the sum of values.
591// </synopsis>
598
599// <summary>
600// Aggregate class determining per array index in a group the product of values
601// </summary>
602// <use visibility=local>
603// <reviewed reviewer="" date="" tests="tExprGroup">
604// </reviewed>
605// <synopsis>
606// Aggregate class determining per array index in a group the product of values.
607// </synopsis>
615
616// <summary>
617// Aggregate class determining per array index in a group the sum of value squares
618// in a group
619// </summary>
620// <use visibility=local>
621// <reviewed reviewer="" date="" tests="tExprGroup">
622// </reviewed>
623// <synopsis>
624// Aggregate class determining per array index in a group the sum of value squares.
625// </synopsis>
632
633// <summary>
634// Aggregate class determining the minimum double array value in a group
635// </summary>
636// <use visibility=local>
637// <reviewed reviewer="" date="" tests="tExprGroup">
638// </reviewed>
639// <synopsis>
640// Aggregate class determining the minimum double array value in a group.
641// </synopsis>
649
650// <summary>
651// Aggregate class determining the maximum double array value in a group
652// </summary>
653// <use visibility=local>
654// <reviewed reviewer="" date="" tests="tExprGroup">
655// </reviewed>
656// <synopsis>
657// Aggregate class determining the maximum double array value in a group.
658// </synopsis>
666
667// <summary>
668// Aggregate class determining the sum of double array values in a group
669// </summary>
670// <use visibility=local>
671// <reviewed reviewer="" date="" tests="tExprGroup">
672// </reviewed>
673// <synopsis>
674// Aggregate class determining the sum of double array values in a group.
675// </synopsis>
682
683// <summary>
684// Aggregate class determining the product of double array values in a group
685// </summary>
686// <use visibility=local>
687// <reviewed reviewer="" date="" tests="tExprGroup">
688// </reviewed>
689// <synopsis>
690// Aggregate class determining the product of double array values in a group.
691// </synopsis>
699
700// <summary>
701// Aggregate class determining the sum of squares of double array values
702// in a group
703// </summary>
704// <use visibility=local>
705// <reviewed reviewer="" date="" tests="tExprGroup">
706// </reviewed>
707// <synopsis>
708// Aggregate class determining the sum of squares of double array values
709// in a group.
710// </synopsis>
717
718// <summary>
719// Aggregate class determining the mean of array values in a group
720// </summary>
721// <use visibility=local>
722// <reviewed reviewer="" date="" tests="tExprGroup">
723// </reviewed>
724// <synopsis>
725// Aggregate class determining the mean of array values in a group.
726// </synopsis>
737
738// <summary>
739// Aggregate class determining the variance of array values in a group
740// </summary>
741// <use visibility=local>
742// <reviewed reviewer="" date="" tests="tExprGroup">
743// </reviewed>
744// <synopsis>
745// Aggregate class determining the variance of array values in a group.
746// It uses a running algorithm
747// (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
748// </synopsis>
761
762// <summary>
763// Aggregate class determining the standard devation of array values
764// in a group
765// </summary>
766// <use visibility=local>
767// <reviewed reviewer="" date="" tests="tExprGroup">
768// </reviewed>
769// <synopsis>
770// Aggregate class determining the standard deviation of array values
771// in a group. It uses a running algorithm
772// (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
773// </synopsis>
780
781// <summary>
782// Aggregate class determining the RMS of array values in a group
783// </summary>
784// <use visibility=local>
785// <reviewed reviewer="" date="" tests="tExprGroup">
786// </reviewed>
787// <synopsis>
788// Aggregate class determining the RMS of array values in a group.
789// </synopsis>
800
801// <summary>
802// Aggregate class determining the sum of complex array values in a group
803// </summary>
804// <use visibility=local>
805// <reviewed reviewer="" date="" tests="tExprGroup">
806// </reviewed>
807// <synopsis>
808// Aggregate class determining the sum of complex array values in a group.
809// </synopsis>
816
817// <summary>
818// Aggregate class determining the product of complex array values in a group
819// </summary>
820// <use visibility=local>
821// <reviewed reviewer="" date="" tests="tExprGroup">
822// </reviewed>
823// <synopsis>
824// Aggregate class determining the product of complex array values in a group.
825// </synopsis>
833
834// <summary>
835// Aggregate class determining the sum of squares of complex array values
836// in a group
837// </summary>
838// <use visibility=local>
839// <reviewed reviewer="" date="" tests="tExprGroup">
840// </reviewed>
841// <synopsis>
842// Aggregate class determining the sum of squares of complex array values
843// in a group.
844// </synopsis>
851
852// <summary>
853// Aggregate class determining the mean of complex array values in a group
854// </summary>
855// <use visibility=local>
856// <reviewed reviewer="" date="" tests="tExprGroup">
857// </reviewed>
858// <synopsis>
859// Aggregate class determining the mean of complex array values in a group.
860// </synopsis>
871
872// <summary>
873// Aggregate class determining the variance of array values in a group
874// </summary>
875// <use visibility=local>
876// <reviewed reviewer="" date="" tests="tExprGroup">
877// </reviewed>
878// <synopsis>
879// Aggregate class determining the variance of array values in a group.
880// It uses a running algorithm
881// (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
882// Note that result is a Double value (npot DComplex).
883// </synopsis>
896
897// <summary>
898// Aggregate class determining the standard devation of array values
899// in a group
900// </summary>
901// <use visibility=local>
902// <reviewed reviewer="" date="" tests="tExprGroup">
903// </reviewed>
904// <synopsis>
905// Aggregate class determining the standard deviation of array values
906// in a group. It uses a running algorithm
907// (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
908// </synopsis>
915
916// <summary>
917// Base aggregate class determining the histogram of values in a group
918// </summary>
919// <use visibility=local>
920// <reviewed reviewer="" date="" tests="tExprGroup">
921// </reviewed>
922// <synopsis>
923// Base aggregate class determining the histogram of values in a group
924// </synopsis>
926 public:
929 virtual MArray<Int64> getArrayInt(const vector<TableExprId>&);
930
931 protected:
932 // Add the value to the histogram.
934
935 private:
939};
940
941// <summary>
942// Aggregate class determining the histogram of scalar values in a group
943// </summary>
944// <use visibility=local>
945// <reviewed reviewer="" date="" tests="tExprGroup">
946// </reviewed>
947// <synopsis>
948// Aggregate class determining the histogram of scalar values in a group
949// </synopsis>
951 public:
954 virtual void apply(const TableExprId& id);
955};
956
957// <summary>
958// Aggregate class determining the histogram of integer array values in a group
959// </summary>
960// <use visibility=local>
961// <reviewed reviewer="" date="" tests="tExprGroup">
962// </reviewed>
963// <synopsis>
964// Aggregate class determining the histogram of integer array values in a group
965// </synopsis>
967 public:
970 virtual void apply(const TableExprId& id);
971};
972
973// <summary>
974// Aggregate class determining the histogram of double array values in a group
975// </summary>
976// <use visibility=local>
977// <reviewed reviewer="" date="" tests="tExprGroup">
978// </reviewed>
979// <synopsis>
980// Aggregate class determining the histogram of double array values in a group
981// </synopsis>
983 public:
986 virtual void apply(const TableExprId& id);
987};
988
989} // namespace casacore
990
991#endif
TableExprGroupArrayAll(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayAlls(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayAny(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayAnys(TableExprNodeRep *node)
TableExprGroupArrayNFalse(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayNFalses(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayNTrue(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayNTrues(TableExprNodeRep *node)
TableExprGroupFractileArrayDouble(TableExprNodeRep *node, Double fractile)
virtual Bool isLazy() const
Does the aggregate function use lazy semantics?
virtual Double getDouble(const vector< TableExprId > &ids)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupFuncArrayBool(TableExprNodeRep *node)
Definition ExprGroup.h:587
TableExprGroupFuncArrayDComplex(TableExprNodeRep *node)
Definition ExprGroup.h:665
TableExprGroupFuncArrayDouble(TableExprNodeRep *node)
Definition ExprGroup.h:639
TableExprGroupFuncArrayInt(TableExprNodeRep *node)
Definition ExprGroup.h:613
TableExprGroupFuncBase(TableExprNodeRep *node)
Construct from the TaQL aggregation node.
TableExprGroupFuncBool(TableExprNodeRep *node)
Definition ExprGroup.h:440
TableExprGroupFuncDComplex(TableExprNodeRep *node, const DComplex &initValue=DComplex())
Definition ExprGroup.h:514
TableExprGroupFuncDouble(TableExprNodeRep *node, Double initValue=0)
Definition ExprGroup.h:490
TableExprGroupFuncInt(TableExprNodeRep *node, Int64 initValue=0)
Definition ExprGroup.h:465
virtual MArray< Int64 > getArrayInt(const vector< TableExprId > &)
TableExprGroupHistBase(TableExprNodeRep *node, Int64 nbin, Double start, Double end)
void add(Double value)
Add the value to the histogram.
TableExprGroupHistDouble(TableExprNodeRep *node, Int64 nbin, Double start, Double end)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupHistInt(TableExprNodeRep *node, Int64 nbin, Double start, Double end)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupHistScalar(TableExprNodeRep *node, Int64 nbin, Double start, Double end)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMaxArrayDouble(TableExprNodeRep *node)
TableExprGroupMaxArrayInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMaxsArrayDouble(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMaxsArrayInt(TableExprNodeRep *node)
TableExprGroupMeanArrayDComplex(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupMeanArrayDouble(TableExprNodeRep *node)
TableExprGroupMeansArrayDComplex(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMeansArrayDouble(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMinArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMinArrayInt(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
TableExprGroupMinsArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupMinsArrayInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupProductArrayDComplex(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupProductArrayDouble(TableExprNodeRep *node)
TableExprGroupProductArrayInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupProductsArrayDComplex(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupProductsArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void finish()
If needed, finish the aggregation.
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupProductsArrayInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupRmsArrayDouble(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupRmssArrayDouble(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
TableExprGroupStdDevArrayDComplex(TableExprNodeRep *node, uInt ddof)
virtual void finish()
If needed, finish the aggregation.
TableExprGroupStdDevArrayDouble(TableExprNodeRep *node, uInt ddof)
TableExprGroupStdDevsArrayDComplex(TableExprNodeRep *node, uInt ddof)
virtual void finish()
If needed, finish the aggregation.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupStdDevsArrayDouble(TableExprNodeRep *node, uInt ddof)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumArrayDComplex(TableExprNodeRep *node)
TableExprGroupSumArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumArrayInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrArrayDComplex(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrArrayInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrsArrayDComplex(TableExprNodeRep *node)
TableExprGroupSumSqrsArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrsArrayInt(TableExprNodeRep *node)
TableExprGroupSumsArrayDComplex(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumsArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumsArrayInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupVarianceArrayDComplex(TableExprNodeRep *node, uInt ddof)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupVarianceArrayDouble(TableExprNodeRep *node, uInt ddof)
virtual void finish()
If needed, finish the aggregation.
TableExprGroupVariancesArrayDComplex(TableExprNodeRep *node, uInt ddof)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupVariancesArrayDouble(TableExprNodeRep *node, uInt ddof)
Abstract base class for a node in a table column expression tree.
For temporary backward namespace compatibility, use casa as alias for casacore.
Definition mainpage.dox:28
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.
unsigned int uInt
Definition aipstype.h:49
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size).
Definition aipsxtype.h:36
bool Bool
Define the standard types used by Casacore.
Definition aipstype.h:40
NewDelAllocator< T > NewDelAllocator< T >::value
Definition Allocator.h:360
double Double
Definition aipstype.h:53
iterator end()
Definition Block.h:601