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
34
35namespace casacore { //# NAMESPACE CASACORE - BEGIN
36
37
38 // <summary>
39 // Aggregate class counting if any array value in a group is true
40 // </summary>
41 // <use visibility=local>
42 // <reviewed reviewer="" date="" tests="tExprGroup">
43 // </reviewed>
44 // <synopsis>
45 // Aggregate class counting if any array value in a group is true.
46 // </synopsis>
48 {
49 public:
52 virtual void apply (const TableExprId& id);
53 };
54
55 // <summary>
56 // Aggregate class counting if all array values in a group are true
57 // </summary>
58 // <use visibility=local>
59 // <reviewed reviewer="" date="" tests="tExprGroup">
60 // </reviewed>
61 // <synopsis>
62 // Aggregate class counting if all array values in a group are true.
63 // </synopsis>
65 {
66 public:
69 virtual void apply (const TableExprId& id);
70 };
71
72 // <summary>
73 // Aggregate class counting the number of true array values in a group
74 // </summary>
75 // <use visibility=local>
76 // <reviewed reviewer="" date="" tests="tExprGroup">
77 // </reviewed>
78 // <synopsis>
79 // Aggregate class counting the number of true array values in a group.
80 // </synopsis>
88
89 // <summary>
90 // Aggregate class counting the number of false array values in a group
91 // </summary>
92 // <use visibility=local>
93 // <reviewed reviewer="" date="" tests="tExprGroup">
94 // </reviewed>
95 // <synopsis>
96 // Aggregate class counting the number of false array values in a group.
97 // </synopsis>
105
106
107 // <summary>
108 // Aggregate class determining the minimum integer array value in a group
109 // </summary>
110 // <use visibility=local>
111 // <reviewed reviewer="" date="" tests="tExprGroup">
112 // </reviewed>
113 // <synopsis>
114 // Aggregate class determining the minimum integer array value in a group.
115 // </synopsis>
123
124 // <summary>
125 // Aggregate class determining the maximum integer array value in a group
126 // </summary>
127 // <use visibility=local>
128 // <reviewed reviewer="" date="" tests="tExprGroup">
129 // </reviewed>
130 // <synopsis>
131 // Aggregate class determining the maximum integer array value in a group.
132 // </synopsis>
140
141 // <summary>
142 // Aggregate class determining the sum of integer array values in a group
143 // </summary>
144 // <use visibility=local>
145 // <reviewed reviewer="" date="" tests="tExprGroup">
146 // </reviewed>
147 // <synopsis>
148 // Aggregate class determining the sum of integer array values in a group.
149 // </synopsis>
157
158 // <summary>
159 // Aggregate class determining the product of integer array values in a group
160 // </summary>
161 // <use visibility=local>
162 // <reviewed reviewer="" date="" tests="tExprGroup">
163 // </reviewed>
164 // <synopsis>
165 // Aggregate class determining the product of integer array values in a group.
166 // </synopsis>
174
175 // <summary>
176 // Aggregate class determining the sum of squares of integer array values
177 // in a group
178 // </summary>
179 // <use visibility=local>
180 // <reviewed reviewer="" date="" tests="tExprGroup">
181 // </reviewed>
182 // <synopsis>
183 // Aggregate class determining the sum of squares of integer array values
184 // in a group.
185 // </synopsis>
193
194
195 // <summary>
196 // Aggregate class determining the minimum double array value in a group
197 // </summary>
198 // <use visibility=local>
199 // <reviewed reviewer="" date="" tests="tExprGroup">
200 // </reviewed>
201 // <synopsis>
202 // Aggregate class determining the minimum double array value in a group.
203 // </synopsis>
211
212 // <summary>
213 // Aggregate class determining the maximum double array value in a group
214 // </summary>
215 // <use visibility=local>
216 // <reviewed reviewer="" date="" tests="tExprGroup">
217 // </reviewed>
218 // <synopsis>
219 // Aggregate class determining the maximum double array value in a group.
220 // </synopsis>
228
229 // <summary>
230 // Aggregate class determining the sum of double array values in a group
231 // </summary>
232 // <use visibility=local>
233 // <reviewed reviewer="" date="" tests="tExprGroup">
234 // </reviewed>
235 // <synopsis>
236 // Aggregate class determining the sum of double array values in a group.
237 // </synopsis>
245
246 // <summary>
247 // Aggregate class determining the product of double array values in a group
248 // </summary>
249 // <use visibility=local>
250 // <reviewed reviewer="" date="" tests="tExprGroup">
251 // </reviewed>
252 // <synopsis>
253 // Aggregate class determining the product of double array values in a group.
254 // </synopsis>
262
263 // <summary>
264 // Aggregate class determining the sum of squares of double array values
265 // in a group
266 // </summary>
267 // <use visibility=local>
268 // <reviewed reviewer="" date="" tests="tExprGroup">
269 // </reviewed>
270 // <synopsis>
271 // Aggregate class determining the sum of squares of double array values
272 // in a group.
273 // </synopsis>
281
282 // <summary>
283 // Aggregate class determining the mean of array values in a group
284 // </summary>
285 // <use visibility=local>
286 // <reviewed reviewer="" date="" tests="tExprGroup">
287 // </reviewed>
288 // <synopsis>
289 // Aggregate class determining the mean of array values in a group.
290 // </synopsis>
292 {
293 public:
296 virtual void apply (const TableExprId& id);
297 virtual void finish();
298 private:
300 };
301
302 // <summary>
303 // Aggregate class determining the variance of array values in a group
304 // </summary>
305 // <use visibility=local>
306 // <reviewed reviewer="" date="" tests="tExprGroup">
307 // </reviewed>
308 // <synopsis>
309 // Aggregate class determining the variance of array values in a group.
310 // It uses a running algorithm
311 // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
312 // </synopsis>
325
326 // <summary>
327 // Aggregate class determining the standard devation of array values
328 // in a group
329 // </summary>
330 // <use visibility=local>
331 // <reviewed reviewer="" date="" tests="tExprGroup">
332 // </reviewed>
333 // <synopsis>
334 // Aggregate class determining the standard deviation of array values
335 // in a group. It uses a running algorithm
336 // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
337 // </synopsis>
345
346 // <summary>
347 // Aggregate class determining the RMS of array values in a group
348 // </summary>
349 // <use visibility=local>
350 // <reviewed reviewer="" date="" tests="tExprGroup">
351 // </reviewed>
352 // <synopsis>
353 // Aggregate class determining the RMS of array values in a group.
354 // </synopsis>
356 {
357 public:
360 virtual void apply (const TableExprId& id);
361 virtual void finish();
362 private:
364 };
365
366 // <summary>
367 // Aggregate class determining the fractile of array values in a group
368 // </summary>
369 // <use visibility=local>
370 // <reviewed reviewer="" date="" tests="tExprGroup">
371 // </reviewed>
372 // <synopsis>
373 // Aggregate class determining the fractile of array values in a group.
374 // <br>It is a lazy aggregate class, thus <src>apply</src> does nothing.
375 // Instead, <src>getDouble</src> assembles the values and determines the
376 // fractile.
377 // </synopsis>
379 {
380 public:
384 virtual Bool isLazy() const;
385 virtual void apply (const TableExprId& id);
386 virtual Double getDouble (const vector<TableExprId>& ids);
387 private:
389 };
390
391
392 // <summary>
393 // Aggregate class determining the sum of complex array values in a group
394 // </summary>
395 // <use visibility=local>
396 // <reviewed reviewer="" date="" tests="tExprGroup">
397 // </reviewed>
398 // <synopsis>
399 // Aggregate class determining the sum of complex array values in a group.
400 // </synopsis>
408
409 // <summary>
410 // Aggregate class determining the product of complex array values in a group
411 // </summary>
412 // <use visibility=local>
413 // <reviewed reviewer="" date="" tests="tExprGroup">
414 // </reviewed>
415 // <synopsis>
416 // Aggregate class determining the product of complex array values in a group.
417 // </synopsis>
425
426 // <summary>
427 // Aggregate class determining the sum of squares of complex array values
428 // in a group
429 // </summary>
430 // <use visibility=local>
431 // <reviewed reviewer="" date="" tests="tExprGroup">
432 // </reviewed>
433 // <synopsis>
434 // Aggregate class determining the sum of squares of complex array values
435 // in a group.
436 // </synopsis>
444
445 // <summary>
446 // Aggregate class determining the mean of complex array values in a group
447 // </summary>
448 // <use visibility=local>
449 // <reviewed reviewer="" date="" tests="tExprGroup">
450 // </reviewed>
451 // <synopsis>
452 // Aggregate class determining the mean of complex array values in a group.
453 // </synopsis>
464
465 // <summary>
466 // Aggregate class determining the variance of array values in a group
467 // </summary>
468 // <use visibility=local>
469 // <reviewed reviewer="" date="" tests="tExprGroup">
470 // </reviewed>
471 // <synopsis>
472 // Aggregate class determining the variance of array values in a group.
473 // It uses a running algorithm
474 // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
475 // Note that the result is a Double value (not DComplex).
476 // </synopsis>
489
490 // <summary>
491 // Aggregate class determining the standard devation of array values
492 // in a group
493 // </summary>
494 // <use visibility=local>
495 // <reviewed reviewer="" date="" tests="tExprGroup">
496 // </reviewed>
497 // <synopsis>
498 // Aggregate class determining the standard deviation of array values
499 // in a group. It uses a running algorithm
500 // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
501 // </synopsis>
509
510 // <summary>
511 // Aggregate class counting per array index in a group if any is true
512 // </summary>
513 // <use visibility=local>
514 // <reviewed reviewer="" date="" tests="tExprGroup">
515 // </reviewed>
516 // <synopsis>
517 // Aggregate class counting per array index in a group if any is true.
518 // </synopsis>
526
527 // <summary>
528 // Aggregate class counting per array index in a group if all are true
529 // </summary>
530 // <use visibility=local>
531 // <reviewed reviewer="" date="" tests="tExprGroup">
532 // </reviewed>
533 // <synopsis>
534 // Aggregate class counting per array index in a group if all are true.
535 // </synopsis>
543
544 // <summary>
545 // Aggregate class counting per array index in a group the nr of true values
546 // </summary>
547 // <use visibility=local>
548 // <reviewed reviewer="" date="" tests="tExprGroup">
549 // </reviewed>
550 // <synopsis>
551 // Aggregate class counting per array index in a group the nr of true values.
552 // </synopsis>
560
561 // <summary>
562 // Aggregate class counting per array index in a group the nr of false values
563 // </summary>
564 // <use visibility=local>
565 // <reviewed reviewer="" date="" tests="tExprGroup">
566 // </reviewed>
567 // <synopsis>
568 // Aggregate class counting per array index in a group the nr of false values.
569 // </synopsis>
577
578 // <summary>
579 // Aggregate class determining per array index in a group the minimum value
580 // </summary>
581 // <use visibility=local>
582 // <reviewed reviewer="" date="" tests="tExprGroup">
583 // </reviewed>
584 // <synopsis>
585 // Aggregate class determining per array index in a group the minimum value.
586 // </synopsis>
588 {
589 public:
592 virtual void apply (const TableExprId& id);
593 virtual void finish();
594 };
595
596 // <summary>
597 // Aggregate class determining per array index in a group the maximum value
598 // </summary>
599 // <use visibility=local>
600 // <reviewed reviewer="" date="" tests="tExprGroup">
601 // </reviewed>
602 // <synopsis>
603 // Aggregate class determining per array index in a group the maximum value.
604 // </synopsis>
606 {
607 public:
610 virtual void apply (const TableExprId& id);
611 virtual void finish();
612 };
613
614 // <summary>
615 // Aggregate class determining per array index in a group the sum of values
616 // </summary>
617 // <use visibility=local>
618 // <reviewed reviewer="" date="" tests="tExprGroup">
619 // </reviewed>
620 // <synopsis>
621 // Aggregate class determining per array index in a group the sum of values.
622 // </synopsis>
630
631 // <summary>
632 // Aggregate class determining per array index in a group the product of values
633 // </summary>
634 // <use visibility=local>
635 // <reviewed reviewer="" date="" tests="tExprGroup">
636 // </reviewed>
637 // <synopsis>
638 // Aggregate class determining per array index in a group the product of values.
639 // </synopsis>
648
649 // <summary>
650 // Aggregate class determining per array index in a group the sum of value squares
651 // in a group
652 // </summary>
653 // <use visibility=local>
654 // <reviewed reviewer="" date="" tests="tExprGroup">
655 // </reviewed>
656 // <synopsis>
657 // Aggregate class determining per array index in a group the sum of value squares.
658 // </synopsis>
666
667
668 // <summary>
669 // Aggregate class determining the minimum double array value in a group
670 // </summary>
671 // <use visibility=local>
672 // <reviewed reviewer="" date="" tests="tExprGroup">
673 // </reviewed>
674 // <synopsis>
675 // Aggregate class determining the minimum double array value in a group.
676 // </synopsis>
685
686 // <summary>
687 // Aggregate class determining the maximum double array value in a group
688 // </summary>
689 // <use visibility=local>
690 // <reviewed reviewer="" date="" tests="tExprGroup">
691 // </reviewed>
692 // <synopsis>
693 // Aggregate class determining the maximum double array value in a group.
694 // </synopsis>
703
704 // <summary>
705 // Aggregate class determining the sum of double array values in a group
706 // </summary>
707 // <use visibility=local>
708 // <reviewed reviewer="" date="" tests="tExprGroup">
709 // </reviewed>
710 // <synopsis>
711 // Aggregate class determining the sum of double array values in a group.
712 // </synopsis>
720
721 // <summary>
722 // Aggregate class determining the product of double array values in a group
723 // </summary>
724 // <use visibility=local>
725 // <reviewed reviewer="" date="" tests="tExprGroup">
726 // </reviewed>
727 // <synopsis>
728 // Aggregate class determining the product of double array values in a group.
729 // </synopsis>
738
739 // <summary>
740 // Aggregate class determining the sum of squares of double array values
741 // in a group
742 // </summary>
743 // <use visibility=local>
744 // <reviewed reviewer="" date="" tests="tExprGroup">
745 // </reviewed>
746 // <synopsis>
747 // Aggregate class determining the sum of squares of double array values
748 // in a group.
749 // </synopsis>
757
758 // <summary>
759 // Aggregate class determining the mean of array values in a group
760 // </summary>
761 // <use visibility=local>
762 // <reviewed reviewer="" date="" tests="tExprGroup">
763 // </reviewed>
764 // <synopsis>
765 // Aggregate class determining the mean of array values in a group.
766 // </synopsis>
777
778 // <summary>
779 // Aggregate class determining the variance of array values in a group
780 // </summary>
781 // <use visibility=local>
782 // <reviewed reviewer="" date="" tests="tExprGroup">
783 // </reviewed>
784 // <synopsis>
785 // Aggregate class determining the variance of array values in a group.
786 // It uses a running algorithm
787 // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
788 // </synopsis>
801
802 // <summary>
803 // Aggregate class determining the standard devation of array values
804 // in a group
805 // </summary>
806 // <use visibility=local>
807 // <reviewed reviewer="" date="" tests="tExprGroup">
808 // </reviewed>
809 // <synopsis>
810 // Aggregate class determining the standard deviation of array values
811 // in a group. It uses a running algorithm
812 // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
813 // </synopsis>
821
822 // <summary>
823 // Aggregate class determining the RMS of array values in a group
824 // </summary>
825 // <use visibility=local>
826 // <reviewed reviewer="" date="" tests="tExprGroup">
827 // </reviewed>
828 // <synopsis>
829 // Aggregate class determining the RMS of array values in a group.
830 // </synopsis>
841
842
843 // <summary>
844 // Aggregate class determining the sum of complex array values in a group
845 // </summary>
846 // <use visibility=local>
847 // <reviewed reviewer="" date="" tests="tExprGroup">
848 // </reviewed>
849 // <synopsis>
850 // Aggregate class determining the sum of complex array values in a group.
851 // </synopsis>
859
860 // <summary>
861 // Aggregate class determining the product of complex array values in a group
862 // </summary>
863 // <use visibility=local>
864 // <reviewed reviewer="" date="" tests="tExprGroup">
865 // </reviewed>
866 // <synopsis>
867 // Aggregate class determining the product of complex array values in a group.
868 // </synopsis>
877
878 // <summary>
879 // Aggregate class determining the sum of squares of complex array values
880 // in a group
881 // </summary>
882 // <use visibility=local>
883 // <reviewed reviewer="" date="" tests="tExprGroup">
884 // </reviewed>
885 // <synopsis>
886 // Aggregate class determining the sum of squares of complex array values
887 // in a group.
888 // </synopsis>
896
897 // <summary>
898 // Aggregate class determining the mean of complex array values in a group
899 // </summary>
900 // <use visibility=local>
901 // <reviewed reviewer="" date="" tests="tExprGroup">
902 // </reviewed>
903 // <synopsis>
904 // Aggregate class determining the mean of complex array values in a group.
905 // </synopsis>
916
917 // <summary>
918 // Aggregate class determining the variance of array values in a group
919 // </summary>
920 // <use visibility=local>
921 // <reviewed reviewer="" date="" tests="tExprGroup">
922 // </reviewed>
923 // <synopsis>
924 // Aggregate class determining the variance of array values in a group.
925 // It uses a running algorithm
926 // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
927 // Note that result is a Double value (npot DComplex).
928 // </synopsis>
941
942 // <summary>
943 // Aggregate class determining the standard devation of array values
944 // in a group
945 // </summary>
946 // <use visibility=local>
947 // <reviewed reviewer="" date="" tests="tExprGroup">
948 // </reviewed>
949 // <synopsis>
950 // Aggregate class determining the standard deviation of array values
951 // in a group. It uses a running algorithm
952 // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
953 // </synopsis>
961
962
963 // <summary>
964 // Base aggregate class determining the histogram of values in a group
965 // </summary>
966 // <use visibility=local>
967 // <reviewed reviewer="" date="" tests="tExprGroup">
968 // </reviewed>
969 // <synopsis>
970 // Base aggregate class determining the histogram of values in a group
971 // </synopsis>
973 {
974 public:
976 Int64 nbin, Double start, Double end);
978 virtual MArray<Int64> getArrayInt (const vector<TableExprId>&);
979 protected:
980 // Add the value to the histogram.
982 private:
986 };
987
988 // <summary>
989 // Aggregate class determining the histogram of scalar values in a group
990 // </summary>
991 // <use visibility=local>
992 // <reviewed reviewer="" date="" tests="tExprGroup">
993 // </reviewed>
994 // <synopsis>
995 // Aggregate class determining the histogram of scalar values in a group
996 // </synopsis>
998 {
999 public:
1001 Int64 nbin, Double start, Double end);
1003 virtual void apply (const TableExprId& id);
1004 };
1005
1006 // <summary>
1007 // Aggregate class determining the histogram of integer array values in a group
1008 // </summary>
1009 // <use visibility=local>
1010 // <reviewed reviewer="" date="" tests="tExprGroup">
1011 // </reviewed>
1012 // <synopsis>
1013 // Aggregate class determining the histogram of integer array values in a group
1014 // </synopsis>
1016 {
1017 public:
1019 Int64 nbin, Double start, Double end);
1021 virtual void apply (const TableExprId& id);
1022 };
1023
1024 // <summary>
1025 // Aggregate class determining the histogram of double array values in a group
1026 // </summary>
1027 // <use visibility=local>
1028 // <reviewed reviewer="" date="" tests="tExprGroup">
1029 // </reviewed>
1030 // <synopsis>
1031 // Aggregate class determining the histogram of double array values in a group
1032 // </synopsis>
1034 {
1035 public:
1037 Int64 nbin, Double start, Double end);
1039 virtual void apply (const TableExprId& id);
1040 };
1041
1042
1043} //# NAMESPACE CASACORE - END
1044
1045#endif
Aggregate class counting if all array values in a group are true.
TableExprGroupArrayAll(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Aggregate class counting per array index in a group if all are true.
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.
Aggregate class counting per array index in a group if any is true.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayAnys(TableExprNodeRep *node)
Aggregate class counting the number of false array values in a group.
TableExprGroupArrayNFalse(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Aggregate class counting per array index in a group the nr of false values.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayNFalses(TableExprNodeRep *node)
Aggregate class counting the number of true array values in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayNTrue(TableExprNodeRep *node)
Aggregate class counting per array index in a group the nr of true values.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupArrayNTrues(TableExprNodeRep *node)
Aggregate class determining the fractile of array values in a group.
TableExprGroupFractileArrayDouble(TableExprNodeRep *node, Double fractile)
virtual Bool isLazy() const
Does the aggregate function use lazy semantics? The default implementation returns False.
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.
Abstract base class for aggregate functions giving a bool array.
Definition ExprGroup.h:631
Abstract base class for aggregate functions giving a dcomplex array.
Definition ExprGroup.h:715
Abstract base class for aggregate functions giving a double array.
Definition ExprGroup.h:687
Abstract base class for aggregate functions giving an integer array.
Definition ExprGroup.h:659
Abstract base class for classes calculating an aggregated group result.
Definition ExprGroup.h:200
Abstract base class for aggregate functions giving a bool scalar.
Definition ExprGroup.h:467
Abstract base class for aggregate functions giving a dcomplex scalar.
Definition ExprGroup.h:550
Abstract base class for aggregate functions giving a double scalar.
Definition ExprGroup.h:523
Abstract base class for aggregate functions giving an integer scalar.
Definition ExprGroup.h:496
Base aggregate class determining the histogram of values in a group.
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.
Aggregate class determining the histogram of double array values in a group.
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.
Aggregate class determining the histogram of integer array values in a group.
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.
Aggregate class determining the histogram of scalar values in a group.
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)
Aggregate class determining the maximum double array value in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMaxArrayDouble(TableExprNodeRep *node)
Aggregate class determining the maximum integer array value in a group.
TableExprGroupMaxArrayInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Aggregate class determining the maximum double array value in a group.
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.
Aggregate class determining per array index in a group the maximum value.
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)
Aggregate class determining the mean of complex array values in a group.
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.
Aggregate class determining the mean of array values in a group.
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)
Aggregate class determining the mean of complex array values in a group.
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.
Aggregate class determining the mean of array values in a group.
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.
Aggregate class determining the minimum double array value in a group.
TableExprGroupMinArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Aggregate class determining the minimum integer array value in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMinArrayInt(TableExprNodeRep *node)
Aggregate class determining the minimum double array value in a group.
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.
Aggregate class determining per array index in a group the minimum value.
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.
Aggregate class determining the product of complex array values in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupProductArrayDComplex(TableExprNodeRep *node)
Aggregate class determining the product of double array values in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupProductArrayDouble(TableExprNodeRep *node)
Aggregate class determining the product of integer array values in a group.
TableExprGroupProductArrayInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Aggregate class determining the product of complex array values in a group.
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.
Aggregate class determining the product of double array values in a group.
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.
Aggregate class determining per array index in a group the product of values.
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)
Aggregate class determining the RMS of array values in a group.
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.
Aggregate class determining the RMS of array values in a group.
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)
Aggregate class determining the standard devation of array values in a group.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupStdDevArrayDComplex(TableExprNodeRep *node, uInt ddof)
Aggregate class determining the standard devation of array values in a group.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupStdDevArrayDouble(TableExprNodeRep *node, uInt ddof)
Aggregate class determining the standard devation of array values in a group.
TableExprGroupStdDevsArrayDComplex(TableExprNodeRep *node, uInt ddof)
virtual void finish()
If needed, finish the aggregation.
Aggregate class determining the standard devation of array values in a group.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupStdDevsArrayDouble(TableExprNodeRep *node, uInt ddof)
Aggregate class determining the sum of complex array values in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumArrayDComplex(TableExprNodeRep *node)
Aggregate class determining the sum of double array values in a group.
TableExprGroupSumArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Aggregate class determining the sum of integer array values in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumArrayInt(TableExprNodeRep *node)
Aggregate class determining the sum of squares of complex array values in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrArrayDComplex(TableExprNodeRep *node)
Aggregate class determining the sum of squares of double array values in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrArrayDouble(TableExprNodeRep *node)
Aggregate class determining the sum of squares of integer array values in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrArrayInt(TableExprNodeRep *node)
Aggregate class determining the sum of squares of complex array values in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrsArrayDComplex(TableExprNodeRep *node)
Aggregate class determining the sum of squares of double array values in a group.
TableExprGroupSumSqrsArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Aggregate class determining per array index in a group the sum of value squares in a group.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumSqrsArrayInt(TableExprNodeRep *node)
Aggregate class determining the sum of complex array values in a group.
TableExprGroupSumsArrayDComplex(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Aggregate class determining the sum of double array values in a group.
TableExprGroupSumsArrayDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Aggregate class determining per array index in a group the sum of values.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumsArrayInt(TableExprNodeRep *node)
Aggregate class determining the variance of array values in a group.
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)
Aggregate class determining the variance of array values in a group.
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.
Aggregate class determining the variance of array values in a group.
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.
Aggregate class determining the variance of array values in a group.
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.
this file contains all the compiler specific defines
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
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
double Double
Definition aipstype.h:53