casacore
Loading...
Searching...
No Matches
TVecLogic.h
Go to the documentation of this file.
1// # TVecLogic.h: Internal functions for table vector logical operations
2// # Copyright (C) 1994,1995,1999
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_TVECLOGIC_H
27#define TABLES_TVECLOGIC_H
28
29// # Includes
30#include <casacore/casa/aips.h>
31
32namespace casacore { // # NAMESPACE CASACORE - BEGIN
33
34// # Forward Declarations
35template <class T>
36class TabVecRep;
37
38// <summary>
39// Comparison between two table vectors
40// </summary>
41
42// <use visibility=local>
43
44// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
45// </reviewed>
46
47// <synopsis>
48// Element by element comparisons between two table vectors
49// or between a table vector and a scalar.
50// The result is true only if the comparison is true for every element
51// of the table vectors.
52// At some point operators will be available that return masks where the
53// comparison is true.
54// The left and right operands must be conformant (i.e. have equal length).
55// The functions are the implementation of the wrapper functions
56// defined in TabVecLogic.h.
57// </synopsis>
58
59// <group name=vectorComparison>
60template <class T>
61Bool tabVecReptvLE(const TabVecRep<T>& left, const TabVecRep<T>& right);
62template <class T>
63Bool tabVecReptvLT(const TabVecRep<T>& left, const TabVecRep<T>& right);
64template <class T>
65Bool tabVecReptvGE(const TabVecRep<T>& left, const TabVecRep<T>& right);
66template <class T>
67Bool tabVecReptvGT(const TabVecRep<T>& left, const TabVecRep<T>& right);
68template <class T>
69Bool tabVecReptvEQ(const TabVecRep<T>& left, const TabVecRep<T>& right);
70template <class T>
71Bool tabVecReptvNE(const TabVecRep<T>& left, const TabVecRep<T>& right);
72// </group>
73
74// <summary>
75// Comparison between a table vector and a scalar
76// </summary>
77
78// <use visibility=local>
79
80// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
81// </reviewed>
82
83// <synopsis>
84// Element by element comparisons between a table vector and a scalar,
85// which behaves as if it were a conformant table vector filled with the
86// scalar value.
87// At some point operators will be available that return masks where the
88// comparison is true.
89// The functions are the implementation of the wrapper functions
90// defined in TabVecLogic.h.
91// </synopsis>
92
93// <group name=scalarComparison>
94template <class T>
95Bool tabVecRepvalrLE(const TabVecRep<T>& left, const T& right);
96template <class T>
97Bool tabVecRepvallLE(const T& left, const TabVecRep<T>& right);
98template <class T>
99Bool tabVecRepvalrLT(const TabVecRep<T>& left, const T& right);
100template <class T>
101Bool tabVecRepvallLT(const T& left, const TabVecRep<T>& right);
102template <class T>
103Bool tabVecRepvalrGE(const TabVecRep<T>& left, const T& right);
104template <class T>
105Bool tabVecRepvallGE(const T& left, const TabVecRep<T>& right);
106template <class T>
107Bool tabVecRepvalrGT(const TabVecRep<T>& left, const T& right);
108template <class T>
109Bool tabVecRepvallGT(const T& left, const TabVecRep<T>& right);
110template <class T>
111Bool tabVecRepvalrEQ(const TabVecRep<T>& left, const T& right);
112template <class T>
113Bool tabVecRepvallEQ(const T& left, const TabVecRep<T>& right);
114template <class T>
115Bool tabVecRepvalrNE(const TabVecRep<T>& left, const T& right);
116template <class T>
117Bool tabVecRepvallNE(const T& left, const TabVecRep<T>& right);
118// </group>
119
120} // namespace casacore
121
122#ifndef CASACORE_NO_AUTO_TEMPLATES
123#include <casacore/tables/Tables/TVecLogic.tcc>
124#endif // # CASACORE_NO_AUTO_TEMPLATES
125#endif
Templated base class for table vectors.
Definition TVec.h:101
For temporary backward namespace compatibility, use casa as alias for casacore.
Definition mainpage.dox:28
bool Bool
Define the standard types used by Casacore.
Definition aipstype.h:40
Comparison between a table vector and a scalar.
Definition TVecLogic.h:94
Bool tabVecRepvalrLE(const TabVecRep< T > &left, const T &right)
Bool tabVecRepvalrGE(const TabVecRep< T > &left, const T &right)
Bool tabVecRepvalrGT(const TabVecRep< T > &left, const T &right)
Bool tabVecRepvallGT(const T &left, const TabVecRep< T > &right)
Bool tabVecRepvalrNE(const TabVecRep< T > &left, const T &right)
Bool tabVecRepvallNE(const T &left, const TabVecRep< T > &right)
Bool tabVecRepvalrEQ(const TabVecRep< T > &left, const T &right)
Bool tabVecRepvallGE(const T &left, const TabVecRep< T > &right)
Bool tabVecRepvallLE(const T &left, const TabVecRep< T > &right)
Bool tabVecRepvallLT(const T &left, const TabVecRep< T > &right)
Bool tabVecRepvallEQ(const T &left, const TabVecRep< T > &right)
Bool tabVecRepvalrLT(const TabVecRep< T > &left, const T &right)
Bool tabVecReptvNE(const TabVecRep< T > &left, const TabVecRep< T > &right)
Bool tabVecReptvGE(const TabVecRep< T > &left, const TabVecRep< T > &right)
Bool tabVecReptvEQ(const TabVecRep< T > &left, const TabVecRep< T > &right)
Bool tabVecReptvGT(const TabVecRep< T > &left, const TabVecRep< T > &right)
Bool tabVecReptvLE(const TabVecRep< T > &left, const TabVecRep< T > &right)
Bool tabVecReptvLT(const TabVecRep< T > &left, const TabVecRep< T > &right)