@@ -347,6 +347,7 @@ python::object eval_asarray(PairQuantity& obj, python::object& a)
347347const char * evtp_NONE = " NONE" ;
348348const char * evtp_BASIC = " BASIC" ;
349349const char * evtp_OPTIMIZED = " OPTIMIZED" ;
350+ const char * evtp_CHECK = " CHECK" ;
350351
351352std::string stringevaluatortype (PQEvaluatorType tp)
352353{
@@ -358,6 +359,10 @@ std::string stringevaluatortype(PQEvaluatorType tp)
358359 return evtp_BASIC;
359360 case OPTIMIZED:
360361 return evtp_OPTIMIZED;
362+ #if DIFFPY_VERSION >= 1003002023
363+ case CHECK:
364+ return evtp_CHECK;
365+ #endif
361366 }
362367 const char * emsg = " Unknown internal value of PQEvaluatorType." ;
363368 PyErr_SetString (PyExc_NotImplementedError, emsg);
@@ -376,8 +381,15 @@ void setevaluatortype(PairQuantity& pq, const std::string& tp)
376381{
377382 if (tp == evtp_BASIC) return pq.setEvaluatorType (BASIC);
378383 if (tp == evtp_OPTIMIZED) return pq.setEvaluatorType (OPTIMIZED);
384+ #if DIFFPY_VERSION >= 1003002023
385+ if (tp == evtp_CHECK) return pq.setEvaluatorType (CHECK);
386+ python::object emsg = (" evaluatortype must be one of %r." %
387+ python::make_tuple (python::make_tuple (
388+ evtp_BASIC, evtp_OPTIMIZED, evtp_CHECK)));
389+ #else
379390 python::object emsg = (" evaluatortype must be either %r or %r." %
380391 python::make_tuple (evtp_BASIC, evtp_OPTIMIZED));
392+ #endif
381393 PyErr_SetObject (PyExc_ValueError, emsg.ptr ());
382394 throw_error_already_set ();
383395}
0 commit comments