casacore
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: 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: TaQLNode.h 21051 2011-04-20 11:46:29Z gervandiepen $
27 
28 #ifndef TABLES_EXPRGROUPAGGRFUNCARRAY_H
29 #define TABLES_EXPRGROUPAGGRFUNCARRAY_H
30 
31 //# Includes
32 #include <casacore/casa/aips.h>
33 #include <casacore/tables/TaQL/ExprGroup.h>
34 #include <vector>
35 
36 
37 namespace casacore { //# NAMESPACE CASACORE - BEGIN
38 
39 
40  // <summary>
41  // Aggregate class counting if any array value in a group is true
42  // </summary>
43  // <use visibility=local>
44  // <reviewed reviewer="" date="" tests="tExprGroup">
45  // </reviewed>
46  // <synopsis>
47  // Aggregate class counting if any array value in a group is true.
48  // </synopsis>
50  {
51  public:
53  virtual ~TableExprGroupArrayAny();
54  virtual void apply (const TableExprId& id);
55  };
56 
57  // <summary>
58  // Aggregate class counting if all array values in a group are true
59  // </summary>
60  // <use visibility=local>
61  // <reviewed reviewer="" date="" tests="tExprGroup">
62  // </reviewed>
63  // <synopsis>
64  // Aggregate class counting if all array values in a group are true.
65  // </synopsis>
67  {
68  public:
70  virtual ~TableExprGroupArrayAll();
71  virtual void apply (const TableExprId& id);
72  };
73 
74  // <summary>
75  // Aggregate class counting the number of true array values in a group
76  // </summary>
77  // <use visibility=local>
78  // <reviewed reviewer="" date="" tests="tExprGroup">
79  // </reviewed>
80  // <synopsis>
81  // Aggregate class counting the number of true array values in a group.
82  // </synopsis>
84  {
85  public:
87  virtual ~TableExprGroupArrayNTrue();
88  virtual void apply (const TableExprId& id);
89  };
90 
91  // <summary>
92  // Aggregate class counting the number of false array values in a group
93  // </summary>
94  // <use visibility=local>
95  // <reviewed reviewer="" date="" tests="tExprGroup">
96  // </reviewed>
97  // <synopsis>
98  // Aggregate class counting the number of false array values in a group.
99  // </synopsis>
101  {
102  public:
104  virtual ~TableExprGroupArrayNFalse();
105  virtual void apply (const TableExprId& id);
106  };
107 
108 
109  // <summary>
110  // Aggregate class determining the minimum integer array value in a group
111  // </summary>
112  // <use visibility=local>
113  // <reviewed reviewer="" date="" tests="tExprGroup">
114  // </reviewed>
115  // <synopsis>
116  // Aggregate class determining the minimum integer array value in a group.
117  // </synopsis>
119  {
120  public:
122  virtual ~TableExprGroupMinArrayInt();
123  virtual void apply (const TableExprId& id);
124  };
125 
126  // <summary>
127  // Aggregate class determining the maximum integer array value in a group
128  // </summary>
129  // <use visibility=local>
130  // <reviewed reviewer="" date="" tests="tExprGroup">
131  // </reviewed>
132  // <synopsis>
133  // Aggregate class determining the maximum integer array value in a group.
134  // </synopsis>
136  {
137  public:
139  virtual ~TableExprGroupMaxArrayInt();
140  virtual void apply (const TableExprId& id);
141  };
142 
143  // <summary>
144  // Aggregate class determining the sum of integer array values in a group
145  // </summary>
146  // <use visibility=local>
147  // <reviewed reviewer="" date="" tests="tExprGroup">
148  // </reviewed>
149  // <synopsis>
150  // Aggregate class determining the sum of integer array values in a group.
151  // </synopsis>
153  {
154  public:
156  virtual ~TableExprGroupSumArrayInt();
157  virtual void apply (const TableExprId& id);
158  };
159 
160  // <summary>
161  // Aggregate class determining the product of integer array values in a group
162  // </summary>
163  // <use visibility=local>
164  // <reviewed reviewer="" date="" tests="tExprGroup">
165  // </reviewed>
166  // <synopsis>
167  // Aggregate class determining the product of integer array values in a group.
168  // </synopsis>
170  {
171  public:
174  virtual void apply (const TableExprId& id);
175  };
176 
177  // <summary>
178  // Aggregate class determining the sum of squares of integer array values
179  // in a group
180  // </summary>
181  // <use visibility=local>
182  // <reviewed reviewer="" date="" tests="tExprGroup">
183  // </reviewed>
184  // <synopsis>
185  // Aggregate class determining the sum of squares of integer array values
186  // in a group.
187  // </synopsis>
189  {
190  public:
192  virtual ~TableExprGroupSumSqrArrayInt();
193  virtual void apply (const TableExprId& id);
194  };
195 
196 
197  // <summary>
198  // Aggregate class determining the minimum double array value in a group
199  // </summary>
200  // <use visibility=local>
201  // <reviewed reviewer="" date="" tests="tExprGroup">
202  // </reviewed>
203  // <synopsis>
204  // Aggregate class determining the minimum double array value in a group.
205  // </synopsis>
207  {
208  public:
210  virtual ~TableExprGroupMinArrayDouble();
211  virtual void apply (const TableExprId& id);
212  };
213 
214  // <summary>
215  // Aggregate class determining the maximum double array value in a group
216  // </summary>
217  // <use visibility=local>
218  // <reviewed reviewer="" date="" tests="tExprGroup">
219  // </reviewed>
220  // <synopsis>
221  // Aggregate class determining the maximum double array value in a group.
222  // </synopsis>
224  {
225  public:
227  virtual ~TableExprGroupMaxArrayDouble();
228  virtual void apply (const TableExprId& id);
229  };
230 
231  // <summary>
232  // Aggregate class determining the sum of double array values in a group
233  // </summary>
234  // <use visibility=local>
235  // <reviewed reviewer="" date="" tests="tExprGroup">
236  // </reviewed>
237  // <synopsis>
238  // Aggregate class determining the sum of double array values in a group.
239  // </synopsis>
241  {
242  public:
244  virtual ~TableExprGroupSumArrayDouble();
245  virtual void apply (const TableExprId& id);
246  };
247 
248  // <summary>
249  // Aggregate class determining the product of double array values in a group
250  // </summary>
251  // <use visibility=local>
252  // <reviewed reviewer="" date="" tests="tExprGroup">
253  // </reviewed>
254  // <synopsis>
255  // Aggregate class determining the product of double array values in a group.
256  // </synopsis>
258  {
259  public:
262  virtual void apply (const TableExprId& id);
263  };
264 
265  // <summary>
266  // Aggregate class determining the sum of squares of double array values
267  // in a group
268  // </summary>
269  // <use visibility=local>
270  // <reviewed reviewer="" date="" tests="tExprGroup">
271  // </reviewed>
272  // <synopsis>
273  // Aggregate class determining the sum of squares of double array values
274  // in a group.
275  // </synopsis>
277  {
278  public:
281  virtual void apply (const TableExprId& id);
282  };
283 
284  // <summary>
285  // Aggregate class determining the mean 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 mean of array values in a group.
292  // </synopsis>
294  {
295  public:
298  virtual void apply (const TableExprId& id);
299  virtual void finish();
300  private:
302  };
303 
304  // <summary>
305  // Aggregate class determining the variance of array values in a group
306  // </summary>
307  // <use visibility=local>
308  // <reviewed reviewer="" date="" tests="tExprGroup">
309  // </reviewed>
310  // <synopsis>
311  // Aggregate class determining the variance of array values in a group.
312  // It uses a running algorithm
313  // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
314  // </synopsis>
316  {
317  public:
320  virtual void apply (const TableExprId& id);
321  virtual void finish();
322  protected:
325  };
326 
327  // <summary>
328  // Aggregate class determining the standard devation of array values
329  // in a group
330  // </summary>
331  // <use visibility=local>
332  // <reviewed reviewer="" date="" tests="tExprGroup">
333  // </reviewed>
334  // <synopsis>
335  // Aggregate class determining the standard deviation of array values
336  // in a group. It uses a running algorithm
337  // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
338  // </synopsis>
340  {
341  public:
344  virtual void finish();
345  };
346 
347  // <summary>
348  // Aggregate class determining the RMS 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 RMS of array values in a group.
355  // </synopsis>
357  {
358  public:
360  virtual ~TableExprGroupRmsArrayDouble();
361  virtual void apply (const TableExprId& id);
362  virtual void finish();
363  private:
365  };
366 
367  // <summary>
368  // Aggregate class determining the fractile of array values in a group
369  // </summary>
370  // <use visibility=local>
371  // <reviewed reviewer="" date="" tests="tExprGroup">
372  // </reviewed>
373  // <synopsis>
374  // Aggregate class determining the fractile of array values in a group.
375  // <br>It is a lazy aggregate class, thus <src>apply</src> does nothing.
376  // Instead, <src>getDouble</src> assembles the values and determines the
377  // fractile.
378  // </synopsis>
380  {
381  public:
383  Double fractile);
385  virtual Bool isLazy() const;
386  virtual void apply (const TableExprId& id);
387  virtual Double getDouble (const vector<TableExprId>& ids);
388  private:
390  };
391 
392 
393  // <summary>
394  // Aggregate class determining the sum of complex array values in a group
395  // </summary>
396  // <use visibility=local>
397  // <reviewed reviewer="" date="" tests="tExprGroup">
398  // </reviewed>
399  // <synopsis>
400  // Aggregate class determining the sum of complex array values in a group.
401  // </synopsis>
403  {
404  public:
407  virtual void apply (const TableExprId& id);
408  };
409 
410  // <summary>
411  // Aggregate class determining the product of complex array values in a group
412  // </summary>
413  // <use visibility=local>
414  // <reviewed reviewer="" date="" tests="tExprGroup">
415  // </reviewed>
416  // <synopsis>
417  // Aggregate class determining the product of complex array values in a group.
418  // </synopsis>
420  {
421  public:
424  virtual void apply (const TableExprId& id);
425  };
426 
427  // <summary>
428  // Aggregate class determining the sum of squares of complex array values
429  // in a group
430  // </summary>
431  // <use visibility=local>
432  // <reviewed reviewer="" date="" tests="tExprGroup">
433  // </reviewed>
434  // <synopsis>
435  // Aggregate class determining the sum of squares of complex array values
436  // in a group.
437  // </synopsis>
439  {
440  public:
443  virtual void apply (const TableExprId& id);
444  };
445 
446  // <summary>
447  // Aggregate class determining the mean of complex array values in a group
448  // </summary>
449  // <use visibility=local>
450  // <reviewed reviewer="" date="" tests="tExprGroup">
451  // </reviewed>
452  // <synopsis>
453  // Aggregate class determining the mean of complex array values in a group.
454  // </synopsis>
456  {
457  public:
460  virtual void apply (const TableExprId& id);
461  virtual void finish();
462  private:
464  };
465 
466  // <summary>
467  // Aggregate class counting per array index in a group if any is true
468  // </summary>
469  // <use visibility=local>
470  // <reviewed reviewer="" date="" tests="tExprGroup">
471  // </reviewed>
472  // <synopsis>
473  // Aggregate class counting per array index in a group if any is true.
474  // </synopsis>
476  {
477  public:
479  virtual ~TableExprGroupArrayAnys();
480  virtual void apply (const TableExprId& id);
481  };
482 
483  // <summary>
484  // Aggregate class counting per array index in a group if all are true
485  // </summary>
486  // <use visibility=local>
487  // <reviewed reviewer="" date="" tests="tExprGroup">
488  // </reviewed>
489  // <synopsis>
490  // Aggregate class counting per array index in a group if all are true.
491  // </synopsis>
493  {
494  public:
496  virtual ~TableExprGroupArrayAlls();
497  virtual void apply (const TableExprId& id);
498  };
499 
500  // <summary>
501  // Aggregate class counting per array index in a group the nr of true values
502  // </summary>
503  // <use visibility=local>
504  // <reviewed reviewer="" date="" tests="tExprGroup">
505  // </reviewed>
506  // <synopsis>
507  // Aggregate class counting per array index in a group the nr of true values.
508  // </synopsis>
510  {
511  public:
513  virtual ~TableExprGroupArrayNTrues();
514  virtual void apply (const TableExprId& id);
515  };
516 
517  // <summary>
518  // Aggregate class counting per array index in a group the nr of false 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 false values.
525  // </synopsis>
527  {
528  public:
530  virtual ~TableExprGroupArrayNFalses();
531  virtual void apply (const TableExprId& id);
532  };
533 
534  // <summary>
535  // Aggregate class determining per array index in a group the minimum value
536  // </summary>
537  // <use visibility=local>
538  // <reviewed reviewer="" date="" tests="tExprGroup">
539  // </reviewed>
540  // <synopsis>
541  // Aggregate class determining per array index in a group the minimum value.
542  // </synopsis>
544  {
545  public:
547  virtual ~TableExprGroupMinsArrayInt();
548  virtual void apply (const TableExprId& id);
549  virtual void finish();
550  };
551 
552  // <summary>
553  // Aggregate class determining per array index in a group the maximum value
554  // </summary>
555  // <use visibility=local>
556  // <reviewed reviewer="" date="" tests="tExprGroup">
557  // </reviewed>
558  // <synopsis>
559  // Aggregate class determining per array index in a group the maximum value.
560  // </synopsis>
562  {
563  public:
565  virtual ~TableExprGroupMaxsArrayInt();
566  virtual void apply (const TableExprId& id);
567  virtual void finish();
568  };
569 
570  // <summary>
571  // Aggregate class determining per array index in a group the sum of values
572  // </summary>
573  // <use visibility=local>
574  // <reviewed reviewer="" date="" tests="tExprGroup">
575  // </reviewed>
576  // <synopsis>
577  // Aggregate class determining per array index in a group the sum of values.
578  // </synopsis>
580  {
581  public:
583  virtual ~TableExprGroupSumsArrayInt();
584  virtual void apply (const TableExprId& id);
585  };
586 
587  // <summary>
588  // Aggregate class determining per array index in a group the product of values
589  // </summary>
590  // <use visibility=local>
591  // <reviewed reviewer="" date="" tests="tExprGroup">
592  // </reviewed>
593  // <synopsis>
594  // Aggregate class determining per array index in a group the product of values.
595  // </synopsis>
597  {
598  public:
601  virtual void apply (const TableExprId& id);
602  virtual void finish();
603  };
604 
605  // <summary>
606  // Aggregate class determining per array index in a group the sum of value squares
607  // in a group
608  // </summary>
609  // <use visibility=local>
610  // <reviewed reviewer="" date="" tests="tExprGroup">
611  // </reviewed>
612  // <synopsis>
613  // Aggregate class determining per array index in a group the sum of value squares.
614  // </synopsis>
616  {
617  public:
620  virtual void apply (const TableExprId& id);
621  };
622 
623 
624  // <summary>
625  // Aggregate class determining the minimum double array value in a group
626  // </summary>
627  // <use visibility=local>
628  // <reviewed reviewer="" date="" tests="tExprGroup">
629  // </reviewed>
630  // <synopsis>
631  // Aggregate class determining the minimum double array value in a group.
632  // </synopsis>
634  {
635  public:
638  virtual void apply (const TableExprId& id);
639  virtual void finish();
640  };
641 
642  // <summary>
643  // Aggregate class determining the maximum double array value in a group
644  // </summary>
645  // <use visibility=local>
646  // <reviewed reviewer="" date="" tests="tExprGroup">
647  // </reviewed>
648  // <synopsis>
649  // Aggregate class determining the maximum double array value in a group.
650  // </synopsis>
652  {
653  public:
656  virtual void apply (const TableExprId& id);
657  virtual void finish();
658  };
659 
660  // <summary>
661  // Aggregate class determining the sum of double array values in a group
662  // </summary>
663  // <use visibility=local>
664  // <reviewed reviewer="" date="" tests="tExprGroup">
665  // </reviewed>
666  // <synopsis>
667  // Aggregate class determining the sum of double array values in a group.
668  // </synopsis>
670  {
671  public:
674  virtual void apply (const TableExprId& id);
675  };
676 
677  // <summary>
678  // Aggregate class determining the product of double array values in a group
679  // </summary>
680  // <use visibility=local>
681  // <reviewed reviewer="" date="" tests="tExprGroup">
682  // </reviewed>
683  // <synopsis>
684  // Aggregate class determining the product of double array values in a group.
685  // </synopsis>
687  {
688  public:
691  virtual void apply (const TableExprId& id);
692  virtual void finish();
693  };
694 
695  // <summary>
696  // Aggregate class determining the sum of squares of double array values
697  // in a group
698  // </summary>
699  // <use visibility=local>
700  // <reviewed reviewer="" date="" tests="tExprGroup">
701  // </reviewed>
702  // <synopsis>
703  // Aggregate class determining the sum of squares of double array values
704  // in a group.
705  // </synopsis>
707  {
708  public:
711  virtual void apply (const TableExprId& id);
712  };
713 
714  // <summary>
715  // Aggregate class determining the mean of array values in a group
716  // </summary>
717  // <use visibility=local>
718  // <reviewed reviewer="" date="" tests="tExprGroup">
719  // </reviewed>
720  // <synopsis>
721  // Aggregate class determining the mean of array values in a group.
722  // </synopsis>
724  {
725  public:
728  virtual void apply (const TableExprId& id);
729  virtual void finish();
730  private:
732  };
733 
734  // <summary>
735  // Aggregate class determining the variance of array values in a group
736  // </summary>
737  // <use visibility=local>
738  // <reviewed reviewer="" date="" tests="tExprGroup">
739  // </reviewed>
740  // <synopsis>
741  // Aggregate class determining the variance of array values in a group.
742  // It uses a running algorithm
743  // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
744  // </synopsis>
746  {
747  public:
750  virtual void apply (const TableExprId& id);
751  virtual void finish();
752  protected:
755  };
756 
757  // <summary>
758  // Aggregate class determining the standard devation of array values
759  // in a group
760  // </summary>
761  // <use visibility=local>
762  // <reviewed reviewer="" date="" tests="tExprGroup">
763  // </reviewed>
764  // <synopsis>
765  // Aggregate class determining the standard deviation of array values
766  // in a group. It uses a running algorithm
767  // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
768  // </synopsis>
770  {
771  public:
774  virtual void finish();
775  };
776 
777  // <summary>
778  // Aggregate class determining the RMS of array values in a group
779  // </summary>
780  // <use visibility=local>
781  // <reviewed reviewer="" date="" tests="tExprGroup">
782  // </reviewed>
783  // <synopsis>
784  // Aggregate class determining the RMS of array values in a group.
785  // </synopsis>
787  {
788  public:
791  virtual void apply (const TableExprId& id);
792  virtual void finish();
793  private:
795  };
796 
797 
798  // <summary>
799  // Aggregate class determining the sum of complex array values in a group
800  // </summary>
801  // <use visibility=local>
802  // <reviewed reviewer="" date="" tests="tExprGroup">
803  // </reviewed>
804  // <synopsis>
805  // Aggregate class determining the sum of complex array values in a group.
806  // </synopsis>
808  {
809  public:
812  virtual void apply (const TableExprId& id);
813  };
814 
815  // <summary>
816  // Aggregate class determining the product of complex array values in a group
817  // </summary>
818  // <use visibility=local>
819  // <reviewed reviewer="" date="" tests="tExprGroup">
820  // </reviewed>
821  // <synopsis>
822  // Aggregate class determining the product of complex array values in a group.
823  // </synopsis>
825  {
826  public:
829  virtual void apply (const TableExprId& id);
830  virtual void finish();
831  };
832 
833  // <summary>
834  // Aggregate class determining the sum of squares of complex array values
835  // in a group
836  // </summary>
837  // <use visibility=local>
838  // <reviewed reviewer="" date="" tests="tExprGroup">
839  // </reviewed>
840  // <synopsis>
841  // Aggregate class determining the sum of squares of complex array values
842  // in a group.
843  // </synopsis>
845  {
846  public:
849  virtual void apply (const TableExprId& id);
850  };
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>
862  {
863  public:
866  virtual void apply (const TableExprId& id);
867  virtual void finish();
868  private:
870  };
871 
872 
873  // <summary>
874  // Base aggregate class determining the histogram of values in a group
875  // </summary>
876  // <use visibility=local>
877  // <reviewed reviewer="" date="" tests="tExprGroup">
878  // </reviewed>
879  // <synopsis>
880  // Base aggregate class determining the histogram of values in a group
881  // </synopsis>
883  {
884  public:
886  Int64 nbin, Double start, Double end);
887  virtual ~TableExprGroupHistBase();
888  virtual MArray<Int64> getArrayInt (const vector<TableExprId>&);
889  protected:
890  // Add the value to the histogram.
891  void add (Double value);
892  private:
896  };
897 
898  // <summary>
899  // Aggregate class determining the histogram of scalar values in a group
900  // </summary>
901  // <use visibility=local>
902  // <reviewed reviewer="" date="" tests="tExprGroup">
903  // </reviewed>
904  // <synopsis>
905  // Aggregate class determining the histogram of scalar values in a group
906  // </synopsis>
908  {
909  public:
911  Int64 nbin, Double start, Double end);
912  virtual ~TableExprGroupHistScalar();
913  virtual void apply (const TableExprId& id);
914  };
915 
916  // <summary>
917  // Aggregate class determining the histogram of integer array values in a group
918  // </summary>
919  // <use visibility=local>
920  // <reviewed reviewer="" date="" tests="tExprGroup">
921  // </reviewed>
922  // <synopsis>
923  // Aggregate class determining the histogram of integer array values in a group
924  // </synopsis>
926  {
927  public:
928  explicit TableExprGroupHistInt (TableExprNodeRep* node,
929  Int64 nbin, Double start, Double end);
930  virtual ~TableExprGroupHistInt();
931  virtual void apply (const TableExprId& id);
932  };
933 
934  // <summary>
935  // Aggregate class determining the histogram of double array values in a group
936  // </summary>
937  // <use visibility=local>
938  // <reviewed reviewer="" date="" tests="tExprGroup">
939  // </reviewed>
940  // <synopsis>
941  // Aggregate class determining the histogram of double array values in a group
942  // </synopsis>
944  {
945  public:
947  Int64 nbin, Double start, Double end);
948  virtual ~TableExprGroupHistDouble();
949  virtual void apply (const TableExprId& id);
950  };
951 
952 
953 } //# NAMESPACE CASACORE - END
954 
955 #endif
Aggregate class determining the standard devation of array values in a group.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
Definition: aipsxtype.h:38
Abstract base class for aggregate functions giving a dcomplex scalar.
Definition: ExprGroup.h:552
virtual Double getDouble(const vector< TableExprId > &=vector< TableExprId >())
Aggregate class determining the sum of squares of integer array values in a group.
Aggregate class determining the mean of complex array values in a group.
Aggregate class determining the product of complex array values in a group.
Base aggregate class determining the histogram of values in a group.
Aggregate class counting per array index in a group the nr of false values.
Aggregate class counting if any array value in a group is true.
Aggregate class determining the mean of array values in a group.
Aggregate class determining the variance of array values in a group.
Aggregate class determining the variance of array values in a group.
Aggregate class determining the RMS of array values in a group.
Aggregate class determining the sum of squares of complex array values in a group.
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...
Aggregate class determining the histogram of scalar values in a group.
Aggregate class determining per array index in a group the product of values.
Aggregate class counting per array index in a group if all are true.
Abstract base class for a node in a table column expression tree.
Definition: ExprNodeRep.h:157
Abstract base class for aggregate functions giving a double scalar.
Definition: ExprGroup.h:525
Aggregate class determining the minimum double array value in a group.
Aggregate class determining the sum of complex array values in a group.
Aggregate class determining the maximum integer array value in a group.
Aggregate class determining the product of double array values in a group.
Aggregate class determining the sum of double array values in a group.
Abstract base class for aggregate functions giving a double array.
Definition: ExprGroup.h:689
Aggregate class determining the minimum integer array value in a group.
Aggregate class determining the minimum double array value in a group.
virtual MArray< Int64 > getArrayInt(const vector< TableExprId > &=vector< TableExprId >())
Abstract base class for aggregate functions giving a bool array.
Definition: ExprGroup.h:633
Aggregate class determining the maximum double array value in a group.
Abstract base class for aggregate functions giving a bool scalar.
Definition: ExprGroup.h:469
Aggregate class determining per array index in a group the sum of values.
Aggregate class determining the histogram of double array values in a group.
double Double
Definition: aipstype.h:55
Aggregate class determining per array index in a group the minimum value.
Aggregate class determining the mean of complex array values in a group.
Aggregate class determining the product of double array values in a group.
virtual void apply(const TableExprId &id)
Get the operand&#39;s value for the given row and apply it to the aggregation.
Aggregate class counting the number of false array values in a group.
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
virtual Bool isLazy() const
Does the aggregate function use lazy semantics? The default implementation returns False...
Aggregate class determining the sum of double array values in a group.
Aggregate class determining per array index in a group the maximum value.
Aggregate class determining the sum of complex array values in a group.
Aggregate class counting if all array values in a group are true.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupArrayAny(TableExprNodeRep *node)
Aggregate class counting per array index in a group the nr of true values.
Aggregate class determining the product of integer array values in a group.
Abstract base class for classes calculating an aggregated group result.
Definition: ExprGroup.h:201
Aggregate class determining the sum of squares of double array values in a group. ...
Aggregate class determining the sum of squares of double array values in a group. ...
Aggregate class determining the mean of array values in a group.
Aggregate class determining the histogram of integer array values in a group.
The identification of a TaQL selection subject.
Definition: TableExprId.h:97
Abstract base class for aggregate functions giving a dcomplex array.
Definition: ExprGroup.h:717
Aggregate class determining the maximum double array value in a group.
Abstract base class for aggregate functions giving an integer scalar.
Definition: ExprGroup.h:498
Abstract base class for aggregate functions giving an integer array.
Definition: ExprGroup.h:661
Aggregate class determining the RMS of array values in a group.
Aggregate class counting the number of true array values in a group.
Aggregate class determining the product of complex array values in a group.
Aggregate class determining the sum of integer array values in a group.
Aggregate class counting per array index in a group if any is true.
this file contains all the compiler specific defines
Definition: mainpage.dox:28
Aggregate class determining the fractile of array values in a group.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
Aggregate class determining per array index in a group the sum of value squares in a group...
Aggregate class determining the sum of squares of complex array values in a group.
Aggregate class determining the standard devation of array values in a group.