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:
389  void copyArray (const Array<Double>& arr, vector<Double>& buffer) const;
391  };
392 
393 
394  // <summary>
395  // Aggregate class determining the sum of complex array values in a group
396  // </summary>
397  // <use visibility=local>
398  // <reviewed reviewer="" date="" tests="tExprGroup">
399  // </reviewed>
400  // <synopsis>
401  // Aggregate class determining the sum of complex array values in a group.
402  // </synopsis>
404  {
405  public:
408  virtual void apply (const TableExprId& id);
409  };
410 
411  // <summary>
412  // Aggregate class determining the product of complex array values in a group
413  // </summary>
414  // <use visibility=local>
415  // <reviewed reviewer="" date="" tests="tExprGroup">
416  // </reviewed>
417  // <synopsis>
418  // Aggregate class determining the product of complex array values in a group.
419  // </synopsis>
421  {
422  public:
425  virtual void apply (const TableExprId& id);
426  };
427 
428  // <summary>
429  // Aggregate class determining the sum of squares of complex array values
430  // in a group
431  // </summary>
432  // <use visibility=local>
433  // <reviewed reviewer="" date="" tests="tExprGroup">
434  // </reviewed>
435  // <synopsis>
436  // Aggregate class determining the sum of squares of complex array values
437  // in a group.
438  // </synopsis>
440  {
441  public:
444  virtual void apply (const TableExprId& id);
445  };
446 
447  // <summary>
448  // Aggregate class determining the mean of complex array values in a group
449  // </summary>
450  // <use visibility=local>
451  // <reviewed reviewer="" date="" tests="tExprGroup">
452  // </reviewed>
453  // <synopsis>
454  // Aggregate class determining the mean of complex array values in a group.
455  // </synopsis>
457  {
458  public:
461  virtual void apply (const TableExprId& id);
462  virtual void finish();
463  private:
465  };
466 
467  // <summary>
468  // Aggregate class counting per array index in a group if any is true
469  // </summary>
470  // <use visibility=local>
471  // <reviewed reviewer="" date="" tests="tExprGroup">
472  // </reviewed>
473  // <synopsis>
474  // Aggregate class counting per array index in a group if any is true.
475  // </synopsis>
477  {
478  public:
480  virtual ~TableExprGroupArrayAnys();
481  virtual void apply (const TableExprId& id);
482  };
483 
484  // <summary>
485  // Aggregate class counting per array index in a group if all are true
486  // </summary>
487  // <use visibility=local>
488  // <reviewed reviewer="" date="" tests="tExprGroup">
489  // </reviewed>
490  // <synopsis>
491  // Aggregate class counting per array index in a group if all are true.
492  // </synopsis>
494  {
495  public:
497  virtual ~TableExprGroupArrayAlls();
498  virtual void apply (const TableExprId& id);
499  };
500 
501  // <summary>
502  // Aggregate class counting per array index in a group the nr of true values
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 the nr of true values.
509  // </synopsis>
511  {
512  public:
514  virtual ~TableExprGroupArrayNTrues();
515  virtual void apply (const TableExprId& id);
516  };
517 
518  // <summary>
519  // Aggregate class counting per array index in a group the nr of false values
520  // </summary>
521  // <use visibility=local>
522  // <reviewed reviewer="" date="" tests="tExprGroup">
523  // </reviewed>
524  // <synopsis>
525  // Aggregate class counting per array index in a group the nr of false values.
526  // </synopsis>
528  {
529  public:
531  virtual ~TableExprGroupArrayNFalses();
532  virtual void apply (const TableExprId& id);
533  };
534 
535  // <summary>
536  // Aggregate class determining per array index in a group the minimum value
537  // </summary>
538  // <use visibility=local>
539  // <reviewed reviewer="" date="" tests="tExprGroup">
540  // </reviewed>
541  // <synopsis>
542  // Aggregate class determining per array index in a group the minimum value.
543  // </synopsis>
545  {
546  public:
548  virtual ~TableExprGroupMinsArrayInt();
549  virtual void apply (const TableExprId& id);
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  };
568 
569  // <summary>
570  // Aggregate class determining per array index in a group the sum of values
571  // </summary>
572  // <use visibility=local>
573  // <reviewed reviewer="" date="" tests="tExprGroup">
574  // </reviewed>
575  // <synopsis>
576  // Aggregate class determining per array index in a group the sum of values.
577  // </synopsis>
579  {
580  public:
582  virtual ~TableExprGroupSumsArrayInt();
583  virtual void apply (const TableExprId& id);
584  };
585 
586  // <summary>
587  // Aggregate class determining per array index in a group the product of values
588  // </summary>
589  // <use visibility=local>
590  // <reviewed reviewer="" date="" tests="tExprGroup">
591  // </reviewed>
592  // <synopsis>
593  // Aggregate class determining per array index in a group the product of values.
594  // </synopsis>
596  {
597  public:
600  virtual void apply (const TableExprId& id);
601  };
602 
603  // <summary>
604  // Aggregate class determining per array index in a group the sum of value squares
605  // in a group
606  // </summary>
607  // <use visibility=local>
608  // <reviewed reviewer="" date="" tests="tExprGroup">
609  // </reviewed>
610  // <synopsis>
611  // Aggregate class determining per array index in a group the sum of value squares.
612  // </synopsis>
614  {
615  public:
618  virtual void apply (const TableExprId& id);
619  };
620 
621 
622  // <summary>
623  // Aggregate class determining the minimum double array value in a group
624  // </summary>
625  // <use visibility=local>
626  // <reviewed reviewer="" date="" tests="tExprGroup">
627  // </reviewed>
628  // <synopsis>
629  // Aggregate class determining the minimum double array value in a group.
630  // </synopsis>
632  {
633  public:
636  virtual void apply (const TableExprId& id);
637  };
638 
639  // <summary>
640  // Aggregate class determining the maximum double array value in a group
641  // </summary>
642  // <use visibility=local>
643  // <reviewed reviewer="" date="" tests="tExprGroup">
644  // </reviewed>
645  // <synopsis>
646  // Aggregate class determining the maximum double array value in a group.
647  // </synopsis>
649  {
650  public:
653  virtual void apply (const TableExprId& id);
654  };
655 
656  // <summary>
657  // Aggregate class determining the sum of double array values in a group
658  // </summary>
659  // <use visibility=local>
660  // <reviewed reviewer="" date="" tests="tExprGroup">
661  // </reviewed>
662  // <synopsis>
663  // Aggregate class determining the sum of double array values in a group.
664  // </synopsis>
666  {
667  public:
670  virtual void apply (const TableExprId& id);
671  };
672 
673  // <summary>
674  // Aggregate class determining the product of double array values in a group
675  // </summary>
676  // <use visibility=local>
677  // <reviewed reviewer="" date="" tests="tExprGroup">
678  // </reviewed>
679  // <synopsis>
680  // Aggregate class determining the product of double array values in a group.
681  // </synopsis>
683  {
684  public:
687  virtual void apply (const TableExprId& id);
688  };
689 
690  // <summary>
691  // Aggregate class determining the sum of squares of double array values
692  // in a group
693  // </summary>
694  // <use visibility=local>
695  // <reviewed reviewer="" date="" tests="tExprGroup">
696  // </reviewed>
697  // <synopsis>
698  // Aggregate class determining the sum of squares of double array values
699  // in a group.
700  // </synopsis>
702  {
703  public:
706  virtual void apply (const TableExprId& id);
707  };
708 
709  // <summary>
710  // Aggregate class determining the mean of array values in a group
711  // </summary>
712  // <use visibility=local>
713  // <reviewed reviewer="" date="" tests="tExprGroup">
714  // </reviewed>
715  // <synopsis>
716  // Aggregate class determining the mean of array values in a group.
717  // </synopsis>
719  {
720  public:
723  virtual void apply (const TableExprId& id);
724  virtual void finish();
725  private:
727  };
728 
729  // <summary>
730  // Aggregate class determining the variance of array values in a group
731  // </summary>
732  // <use visibility=local>
733  // <reviewed reviewer="" date="" tests="tExprGroup">
734  // </reviewed>
735  // <synopsis>
736  // Aggregate class determining the variance of array values in a group.
737  // It uses a running algorithm
738  // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
739  // </synopsis>
741  {
742  public:
745  virtual void apply (const TableExprId& id);
746  virtual void finish();
747  protected:
750  };
751 
752  // <summary>
753  // Aggregate class determining the standard devation of array values
754  // in a group
755  // </summary>
756  // <use visibility=local>
757  // <reviewed reviewer="" date="" tests="tExprGroup">
758  // </reviewed>
759  // <synopsis>
760  // Aggregate class determining the standard deviation of array values
761  // in a group. It uses a running algorithm
762  // (see en.wikipedia.org/wiki/Algorithms_for_calculating_variance)
763  // </synopsis>
765  {
766  public:
769  virtual void finish();
770  };
771 
772  // <summary>
773  // Aggregate class determining the RMS of array values in a group
774  // </summary>
775  // <use visibility=local>
776  // <reviewed reviewer="" date="" tests="tExprGroup">
777  // </reviewed>
778  // <synopsis>
779  // Aggregate class determining the RMS of array values in a group.
780  // </synopsis>
782  {
783  public:
786  virtual void apply (const TableExprId& id);
787  virtual void finish();
788  private:
790  };
791 
792 
793  // <summary>
794  // Aggregate class determining the sum of complex array values in a group
795  // </summary>
796  // <use visibility=local>
797  // <reviewed reviewer="" date="" tests="tExprGroup">
798  // </reviewed>
799  // <synopsis>
800  // Aggregate class determining the sum of complex array values in a group.
801  // </synopsis>
803  {
804  public:
807  virtual void apply (const TableExprId& id);
808  };
809 
810  // <summary>
811  // Aggregate class determining the product of complex array values in a group
812  // </summary>
813  // <use visibility=local>
814  // <reviewed reviewer="" date="" tests="tExprGroup">
815  // </reviewed>
816  // <synopsis>
817  // Aggregate class determining the product of complex array values in a group.
818  // </synopsis>
820  {
821  public:
824  virtual void apply (const TableExprId& id);
825  };
826 
827  // <summary>
828  // Aggregate class determining the sum of squares of complex array values
829  // in a group
830  // </summary>
831  // <use visibility=local>
832  // <reviewed reviewer="" date="" tests="tExprGroup">
833  // </reviewed>
834  // <synopsis>
835  // Aggregate class determining the sum of squares of complex array values
836  // in a group.
837  // </synopsis>
839  {
840  public:
843  virtual void apply (const TableExprId& id);
844  };
845 
846  // <summary>
847  // Aggregate class determining the mean of complex array values in a group
848  // </summary>
849  // <use visibility=local>
850  // <reviewed reviewer="" date="" tests="tExprGroup">
851  // </reviewed>
852  // <synopsis>
853  // Aggregate class determining the mean of complex array values in a group.
854  // </synopsis>
856  {
857  public:
860  virtual void apply (const TableExprId& id);
861  virtual void finish();
862  private:
864  };
865 
866 
867  // <summary>
868  // Base aggregate class determining the histogram of values in a group
869  // </summary>
870  // <use visibility=local>
871  // <reviewed reviewer="" date="" tests="tExprGroup">
872  // </reviewed>
873  // <synopsis>
874  // Base aggregate class determining the histogram of values in a group
875  // </synopsis>
877  {
878  public:
880  Int64 nbin, Double start, Double end);
881  virtual ~TableExprGroupHistBase();
882  virtual Array<Int64> getArrayInt (const vector<TableExprId>&);
883  protected:
884  // Add the value to the histogram.
885  void add (Double value);
886  private:
890  };
891 
892  // <summary>
893  // Aggregate class determining the histogram of scalar values in a group
894  // </summary>
895  // <use visibility=local>
896  // <reviewed reviewer="" date="" tests="tExprGroup">
897  // </reviewed>
898  // <synopsis>
899  // Aggregate class determining the histogram of scalar values in a group
900  // </synopsis>
902  {
903  public:
905  Int64 nbin, Double start, Double end);
906  virtual ~TableExprGroupHistScalar();
907  virtual void apply (const TableExprId& id);
908  };
909 
910  // <summary>
911  // Aggregate class determining the histogram of integer array values in a group
912  // </summary>
913  // <use visibility=local>
914  // <reviewed reviewer="" date="" tests="tExprGroup">
915  // </reviewed>
916  // <synopsis>
917  // Aggregate class determining the histogram of integer array values in a group
918  // </synopsis>
920  {
921  public:
922  explicit TableExprGroupHistInt (TableExprNodeRep* node,
923  Int64 nbin, Double start, Double end);
924  virtual ~TableExprGroupHistInt();
925  virtual void apply (const TableExprId& id);
926  };
927 
928  // <summary>
929  // Aggregate class determining the histogram of double array values in a group
930  // </summary>
931  // <use visibility=local>
932  // <reviewed reviewer="" date="" tests="tExprGroup">
933  // </reviewed>
934  // <synopsis>
935  // Aggregate class determining the histogram of double array values in a group
936  // </synopsis>
938  {
939  public:
941  Int64 nbin, Double start, Double end);
942  virtual ~TableExprGroupHistDouble();
943  virtual void apply (const TableExprId& id);
944  };
945 
946 
947 } //# NAMESPACE CASACORE - END
948 
949 #endif
Aggregate class determining the standard devation of array values in a group.
virtual Array< Int64 > getArrayInt(const vector< TableExprId > &=vector< TableExprId >())
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:520
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:150
Abstract base class for aggregate functions giving a double scalar.
Definition: ExprGroup.h:493
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:657
Aggregate class determining the minimum integer array value in a group.
Aggregate class determining the minimum double array value in a group.
Abstract base class for aggregate functions giving a bool array.
Definition: ExprGroup.h:601
Aggregate class determining the maximum double array value in a group.
Abstract base class for aggregate functions giving a bool scalar.
Definition: ExprGroup.h:437
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:52
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:39
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:98
Abstract base class for aggregate functions giving a dcomplex array.
Definition: ExprGroup.h:685
Aggregate class determining the maximum double array value in a group.
Abstract base class for aggregate functions giving an integer scalar.
Definition: ExprGroup.h:466
Abstract base class for aggregate functions giving an integer array.
Definition: ExprGroup.h:629
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.