| 319 | #if MGB_CAMBRICON |
| 320 | #if CNRT_MAJOR_VERSION < 5 |
| 321 | const char* mgb::cnml_get_error_string(cnmlStatus_t err) { |
| 322 | switch (err) { |
| 323 | #define cb(_err) \ |
| 324 | case _err: \ |
| 325 | return #_err |
| 326 | cb(CNML_STATUS_SUCCESS); |
| 327 | cb(CNML_STATUS_NODEVICE); |
| 328 | cb(CNML_STATUS_DOMAINERR); |
| 329 | cb(CNML_STATUS_INVALIDARG); |
| 330 | cb(CNML_STATUS_LENGTHERR); |
| 331 | cb(CNML_STATUS_OUTOFRANGE); |
| 332 | cb(CNML_STATUS_RANGEERR); |
| 333 | cb(CNML_STATUS_OVERFLOWERR); |
| 334 | cb(CNML_STATUS_UNDERFLOWERR); |
| 335 | cb(CNML_STATUS_INVALIDPARAM); |
| 336 | cb(CNML_STATUS_BADALLOC); |
| 337 | cb(CNML_STATUS_BADTYPEID); |
| 338 | cb(CNML_STATUS_BADCAST); |
| 339 | cb(CNML_STATUS_UNSUPPORT); |
| 340 | #undef cb |
| 341 | } |
| 342 | return "Unknown CNML error"; |
| 343 | } |
| 344 | #endif |
| 345 | |
| 346 | void mgb::_on_cnrt_error( |