00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00026 #ifndef logic_h
00027 #define logic_h
00028
00029 #include "arts.h"
00030 #include "matpackVII.h"
00031
00032
00033 bool is_bool( const Index& x );
00034
00035 bool is_multiple( const Index& x, const Index& y );
00036
00037 bool is_size( ConstVectorView x,
00038 const Index& l );
00039
00040 bool is_size( ConstMatrixView x,
00041 const Index& r,
00042 const Index& c );
00043
00044 bool is_size( ConstTensor3View x,
00045 const Index& p,
00046 const Index& r,
00047 const Index& c );
00048
00049 bool is_size( ConstTensor4View x,
00050 const Index& b,
00051 const Index& p,
00052 const Index& r,
00053 const Index& c );
00054
00055 bool is_size( ConstTensor5View x,
00056 const Index& s,
00057 const Index& b,
00058 const Index& p,
00059 const Index& r,
00060 const Index& c );
00061
00062 bool is_size( ConstTensor6View x,
00063 const Index& v,
00064 const Index& s,
00065 const Index& b,
00066 const Index& p,
00067 const Index& r,
00068 const Index& c );
00069
00070 bool is_size( ConstTensor7View x,
00071 const Index& l,
00072 const Index& v,
00073 const Index& s,
00074 const Index& b,
00075 const Index& p,
00076 const Index& r,
00077 const Index& c );
00078
00079 bool is_sorted( ConstVectorView x );
00080
00081 bool is_increasing( ConstVectorView x );
00082
00083 bool is_increasing( const ArrayOfIndex& x );
00084
00085 bool is_decreasing( ConstVectorView x );
00086
00087 bool is_unique( const ArrayOfIndex& x );
00088
00089 bool is_singular( ConstMatrixView A );
00090
00091 bool is_diagonal( ConstMatrixView A );
00092
00093 bool is_same_within_epsilon( const Numeric& a,
00094 const Numeric& b,
00095 const Numeric& epsilon );
00096
00098
00100
00102
00110 template< class T >
00111 bool is_size( const Array<T>& x,
00112 const Index& n )
00113 {
00114 return( n == x.nelem() );
00115 }
00116
00117 #endif // logic_h