Go to the documentation of this file.
28 #ifndef CASA_ARRAYLOGICAL_H
29 #define CASA_ARRAYLOGICAL_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Arrays/Array.h>
34 #include <casacore/casa/Arrays/LogiArray.h>
35 #include <casacore/casa/Arrays/ArrayMathBase.h>
40 template <
class T>
class Vector;
41 template <
class T>
class Matrix;
42 template <
class T>
class Cube;
124 template<
typename T,
typename CompareOperator>
127 template<
typename T,
typename CompareOperator>
130 template<
typename T,
typename CompareOperator>
137 template<
typename T,
typename CompareOperator>
140 template<
typename T,
typename CompareOperator>
143 template<
typename T,
typename CompareOperator>
265 {
return a.
size() <= 1 || allEQ(*a.
data(), a); }
448 template<
typename T,
typename RES=
size_t>
454 template<
typename T,
typename RES=
size_t>
465 #ifndef CASACORE_NO_AUTO_TEMPLATES
466 #include <casacore/casa/Arrays/ArrayLogical.tcc>
467 #endif //# CASACORE_NO_AUTO_TEMPLATES
virtual RES operator()(const Array< T > &arr) const
Bool anyOR(const Array< T > &l, const Array< T > &r)
Bool allNear(const Array< T > &l, const Array< T > &r, Double tol)
Bool anyEQ(const T &val, const Array< T > &array)
Bool allNear(const T &val, const Array< T > &array, Double tol)
Basic class for math on Array objects.
A Vector of integers, for indexing into Array<T> objects.
Bool anyEQ(const Array< T > &l, const Array< T > &r)
LogicalArray operator!(const Array< T > &l)
Logical negation of an array.
Bool allLT(const T &val, const Array< T > &array)
virtual Bool operator()(const Array< T > &arr) const
Bool anyAND(const Array< T > &l, const Array< T > &r)
This only makes sense if the array element type is logical valued.
LogicalArray nearAbs(const Array< T > &l, const Array< T > &r, Double tol)
Bool allNE(const Array< T > &array, const T &val)
LogicalArray operator||(const Array< T > &l, const Array< T > &r)
Bool anyOR(const T &val, const Array< T > &array)
bool operator!=(const casacore_allocator< T, ALIGNMENT > &, const casacore_allocator< T, ALIGNMENT > &)
Bool allGE(const T &val, const Array< T > &array)
virtual RES operator()(const Array< T > &arr) const
Bool anyEQ(const TableVector< T > &l, const TableVector< T > &r)
LogicalArray near(const Array< T > &array, const T &val, Double tol)
Array< Bool > partialAllTrue(const Array< Bool > &array, const IPosition &collapseAxes)
The same functions as above, but for selected axes.
bool arrayCompareAll(T left, const Array< T > &right, CompareOperator op)
Bool allEQ(const T &val, const Array< T > &array)
Bool allSame(const Array< T > &a)
Test if all elements in an array are the same.
Bool allGE(const Array< T > &l, const Array< T > &r)
LogicalArray isInf(const Array< T > &array)
Bool allNear(const Array< T > &array, const T &val, Double tol)
Bool allGT(const Array< T > &l, const Array< T > &r)
Array< uInt > partialNFalse(const Array< T > &array, const IPosition &collapseAxes)
Bool allEQ(const Array< T > &array, const T &val)
LatticeExprNode nfalse(const LatticeExprNode &expr)
Bool anyGE(const T &val, const Array< T > &array)
Bool allLT(const Array< T > &array, const T &val)
LatticeExprNode operator>=(const LatticeExprNode &left, const LatticeExprNode &right)
Array< uInt > partialNTrue(const Array< T > &array, const IPosition &collapseAxes)
The same functions as above, but determine ntrue and nfalse for the given axes only.
LogicalArray near(const Array< T > &l, const Array< T > &r, Double tol)
Bool anyAND(const T &val, const Array< T > &array)
Bool allNearAbs(const Array< T > &array, const T &val, Double tol)
bool arrayCompareAny(const Array< T > &left, const Array< T > &right, CompareOperator op)
Determine if the comparisons between corresponding array elements yield True.
LatticeExprNode operator<(const LatticeExprNode &left, const LatticeExprNode &right)
Bool anyNearAbs(const Array< T > &l, const Array< T > &r, Double tol)
LogicalArray nearAbs(const T &val, const Array< T > &array, Double tol)
Bool anyLE(const T &val, const Array< T > &array)
Bool anyLT(const Array< T > &l, const Array< T > &r)
Bool anyTrue(const Array< Bool > &array)
Is any element true?
Bool anyNearAbs(const Array< T > &array, const T &val, Double tol)
T * data()
Get a pointer to the beginning of the array.
bool arrayCompareAll(const Array< T > &left, T right, CompareOperator op)
LogicalArray operator&&(const Array< T > &l, const Array< T > &r)
This only makes sense if the array element type is logical valued.
Bool anyGT(const Array< T > &l, const Array< T > &r)
Bool allGT(const Array< T > &array, const T &val)
bool operator==(const casacore_allocator< T, ALIGNMENT > &, const casacore_allocator< T, ALIGNMENT > &)
Bool anyNE(const Array< T > &l, const Array< T > &r)
LogicalArray near(const T &val, const Array< T > &array, Double tol)
Bool anyLT(const Array< T > &array, const T &val)
Bool allOR(const T &val, const Array< T > &array)
Array< Bool > partialAnyTrue(const Array< Bool > &array, const IPosition &collapseAxes)
Logical operations for Arrays.
LogicalArray nearAbs(const Array< T > &array, const T &val, Double tol)
LogicalArray operator==(const Array< T > &l, const Array< T > &r)
LogicalArray operator<=(const Array< T > &l, const Array< T > &r)
Element by element comparisons between the "l" and "r" arrays.
Bool anyGE(const Array< T > &l, const Array< T > &r)
LatticeExprNode operator&&(const LatticeExprNode &left, const LatticeExprNode &right)
Logical binary operators.
Bool allNearAbs(const Array< T > &l, const Array< T > &r, Double tol)
virtual Bool operator()(const Array< T > &arr) const
Bool anyLE(const Array< T > &array, const T &val)
Element by element comparisons between an array and a scalar, which behaves as if it were a conforman...
LatticeExprNode operator||(const LatticeExprNode &left, const LatticeExprNode &right)
Bool anyAND(const Array< T > &array, const T &val)
This only makes sense if the array element type is logical valued.
Bool allAND(const Array< T > &array, const T &val)
This only makes sense if the array element type is logical valued.
Bool anyEQ(const Array< T > &array, const T &val)
size_t ntrue(const Array< T > &array)
Bool allLE(const T &val, const Array< T > &array)
LogicalArray operator<(const Array< T > &l, const Array< T > &r)
LatticeExprNode operator!(const LatticeExprNode &expr)
Bool anyOR(const Array< T > &array, const T &val)
this file contains all the compiler specific defines
Bool anyGT(const T &val, const Array< T > &array)
Bool anyNE(const T &val, const Array< T > &array)
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
Bool anyNear(const Array< T > &array, const T &val, Double tol)
Bool allNearAbs(const T &val, const Array< T > &array, Double tol)
LatticeExprNode ntrue(const LatticeExprNode &expr)
Bool allGE(const Array< T > &array, const T &val)
Bool anyNearAbs(const T &val, const Array< T > &array, Double tol)
LogicalArray operator!=(const Array< T > &l, const Array< T > &r)
Bool anyGT(const Array< T > &array, const T &val)
Bool allLE(const Array< T > &array, const T &val)
Element by element comparisons between an array and a scalar, which behaves as if it were a conforman...
Bool allLT(const Array< T > &l, const Array< T > &r)
Bool allLE(const Array< T > &l, const Array< T > &r)
Element by element comparisons between the "l" and "r" arrays.
Bool anyLE(const Array< T > &l, const Array< T > &r)
Element by element comparisons between the "l" and "r" arrays.
Bool allAND(const T &val, const Array< T > &array)
LogicalArray isFinite(const Array< T > &array)
Bool anyNear(const Array< T > &l, const Array< T > &r, Double tol)
bool arrayCompareAny(T left, const Array< T > &right, CompareOperator op)
Bool anyNear(const T &val, const Array< T > &array, Double tol)
template <class T, class U> class vector;
Bool allOR(const Array< T > &array, const T &val)
LatticeExprNode operator<=(const LatticeExprNode &left, const LatticeExprNode &right)
Bool allGT(const T &val, const Array< T > &array)
bool Bool
Define the standard types used by Casacore.
bool arrayCompareAll(const Array< T > &left, const Array< T > &right, CompareOperator op)
Determine if the comparisons between corresponding array elements yield True.
bool arrayCompareAny(const Array< T > &left, T right, CompareOperator op)
Bool anyLT(const T &val, const Array< T > &array)
size_t nfalse(const Array< T > &array)
Determine the number of true or false elements.
Bool allEQ(const Array< T > &l, const Array< T > &r)
Bool allNE(const T &val, const Array< T > &array)
Bool anyNE(const Array< T > &array, const T &val)
Bool allAND(const Array< T > &l, const Array< T > &r)
This only makes sense if the array element type is logical valued.
LogicalArray operator>=(const Array< T > &l, const Array< T > &r)
LatticeExprNode operator>(const LatticeExprNode &left, const LatticeExprNode &right)
Bool anyGE(const Array< T > &array, const T &val)
Bool allTrue(const Array< Bool > &array)
Are all elements true?
Bool allOR(const Array< T > &l, const Array< T > &r)
LogicalArray operator>(const Array< T > &l, const Array< T > &r)
LogicalArray isNaN(const Array< T > &array)
Element by element test for NaN or (In)finity.
Bool allNE(const Array< T > &l, const Array< T > &r)