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> 39 template <
class T>
class Vector;
40 template <
class T>
class Matrix;
41 template <
class T>
class Cube;
123 template<
typename T,
typename CompareOperator>
126 template<
typename T,
typename CompareOperator>
127 bool arrayCompareAll (
const Array<T>& left, T right,
129 template<
typename T,
typename CompareOperator>
130 bool arrayCompareAll (T left,
const Array<T>& right,
136 template<
typename T,
typename CompareOperator>
139 template<
typename T,
typename CompareOperator>
140 bool arrayCompareAny (
const Array<T>& left, T right,
142 template<
typename T,
typename CompareOperator>
143 bool arrayCompareAny (T left,
const Array<T>& right,
193 template<
class T> LogicalArray operator <= (const Array<T> &l,
195 template<
class T> LogicalArray operator < (const Array<T> &l,
264 {
return a.
size() <= 1 || allEQ(*a.
data(), a); }
270 template<
class T> LogicalArray
isInf (
const Array<T> &array);
284 template<
class T> LogicalArray operator <= (const Array<T> &
array,
const T &val);
285 template<
class T> LogicalArray operator <= (const T &val, const Array<T> &
array);
286 template<
class T> LogicalArray operator < (const Array<T> &
array,
const T &val);
287 template<
class T> LogicalArray operator < (const T &val, const Array<T> &
array);
296 template<
class T> LogicalArray
near (
const Array<T> &array,
const T &val,
298 template<
class T> LogicalArray
near (
const T &val,
const Array<T> &array,
300 template<
class T> LogicalArray
nearAbs (
const Array<T> &array,
const T &val,
302 template<
class T> LogicalArray
nearAbs (
const T &val,
const Array<T> &array,
373 template<
class T>
Bool anyNearAbs (
const Array<T> &array,
const T &val,
375 template<
class T>
Bool anyNearAbs (
const T &val,
const Array<T> &array,
380 template<
class T>
Bool anyAND (
const Array<T> &array,
const T &val);
381 template<
class T>
Bool anyAND (
const T &val,
const Array<T> &array);
382 template<
class T>
Bool anyOR (
const Array<T> &array,
const T &val);
383 template<
class T>
Bool anyOR (
const T &val,
const Array<T> &array);
391 {
return allEQ (array,
True); }
452 #ifndef CASACORE_NO_AUTO_TEMPLATES 453 #include <casacore/casa/Arrays/ArrayLogical.tcc> 454 #endif //# CASACORE_NO_AUTO_TEMPLATES A Vector of integers, for indexing into Array<T> objects.
bool allNearAbs(const C1 &l, const C2 &r, U tolerance)
Test if all elements of the containers are absolutely near each other.
bool allNear(const C1 &l, const C2 &r, U tolerance)
Test if all elements of the containers are relatively near each other.
size_t nelements() const
How many elements does this array have? Product of all axis lengths.
size_t ntrue(const Array< T > &array)
bool operator==(const std11_allocator< T > &, const std11_allocator< T > &)
Bool anyLT(const TableVector< T > &l, const TableVector< T > &r)
bool operator!=(const std11_allocator< T > &, const std11_allocator< T > &)
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
Bool near(const GaussianBeam &left, const GaussianBeam &other, const Double relWidthTol, const Quantity &absPaTol)
LatticeExprNode ntrue(const LatticeExprNode &expr)
Bool allTrue(const Array< Bool > &array)
Are all elements true?
LatticeExprNode operator>=(const LatticeExprNode &left, const LatticeExprNode &right)
Bool anyNE(const TableVector< T > &l, const TableVector< T > &r)
T * data()
Get a pointer to the beginning of the array.
Bool operator()(const Array< Bool > &arr) const
LatticeExprNode nfalse(const LatticeExprNode &expr)
LatticeExprNode operator!(const LatticeExprNode &expr)
TableExprNode isInf(const TableExprNode &node)
TableExprNode isFinite(const TableExprNode &node)
Function to test if a scalar or array is finite.
bool Bool
Define the standard types used by Casacore.
Bool anyGE(const TableVector< T > &l, const TableVector< T > &r)
Bool anyGT(const TableVector< T > &l, const TableVector< T > &r)
template <class T, class U> class vector;
LatticeExprNode operator>(const LatticeExprNode &left, const LatticeExprNode &right)
Bool allSame(const Array< T > &a)
Test if all elements in an array are the same.
Bool anyEQ(const TableVector< T > &l, const TableVector< T > &r)
Bool anyTrue(const Array< Bool > &array)
Is any all element true?
TableExprNode nearAbs(const TableExprNode &left, const TableExprNode &right)
LatticeExprNode isNaN(const LatticeExprNode &expr)
Test if a value is a NaN.
Bool anyLE(const TableVector< T > &l, const TableVector< T > &r)
Element by element comparisons between the "l" and "r" table vectors.
LatticeExprNode operator||(const LatticeExprNode &left, const LatticeExprNode &right)
this file contains all the compiler specific defines
LatticeExprNode operator&&(const LatticeExprNode &left, const LatticeExprNode &right)
Logical binary operators.