22 #ifndef ASTSHIM_DETAIL_UTILS_H 23 #define ASTSHIM_DETAIL_UTILS_H 37 static const int FITSLEN = 80;
41 if (
object !=
nullptr) {
46 template <
typename T1,
typename T2>
47 inline void assertEqual(T1 val1, std::string
const &descr1, T2 val2, std::string
const &descr2) {
49 std::ostringstream os;
50 os << descr1 <<
" = " << val1 <<
" != " << descr2 <<
" = " << val2;
51 throw std::invalid_argument(os.str());
60 if (val == AST__BAD) {
61 val = std::numeric_limits<double>::quiet_NaN();
80 os << name <<
"(" << axis <<
")";
101 return val != AST__BAD ? val : std::numeric_limits<double>::quiet_NaN();
109 upstr.reserve(str.size());
111 upstr += std::toupper(c);
void annulAstObject(AstObject *object)
A wrapper around astAnnul; intended as a custom deleter for std::unique_ptr.
Definition: utils.h:40
ndarray::Array< double, 2, 2 > Array2D
Definition: base.h:42
AST wrapper classes and functions.
Definition: attributes_channel.dox:1
std::string stringToUpper(std::string const &str)
Definition: utils.h:107
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Definition: base.cc:49
void astBadToNan(std::vector< double > &p)
Definition: utils.h:58
bool isSeries(AstCmpMap const *cmpMap)
Definition: utils.cc:47
std::string getClassName(AstObject const *rawObj)
Definition: utils.cc:37
std::string formatAxisAttr(std::string const &name, int axis)
Definition: utils.h:78
double safeDouble(double val)
Definition: utils.h:99
void assertEqual(T1 val1, std::string const &descr1, T2 val2, std::string const &descr2)
Definition: utils.h:47