xref: /aosp_15_r20/external/executorch/backends/xnnpack/runtime/XNNStatus.h (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Worker /*
2*523fa7a6SAndroid Build Coastguard Worker  * Copyright (c) Meta Platforms, Inc. and affiliates.
3*523fa7a6SAndroid Build Coastguard Worker  * All rights reserved.
4*523fa7a6SAndroid Build Coastguard Worker  *
5*523fa7a6SAndroid Build Coastguard Worker  * This source code is licensed under the BSD-style license found in the
6*523fa7a6SAndroid Build Coastguard Worker  * LICENSE file in the root directory of this source tree.
7*523fa7a6SAndroid Build Coastguard Worker  */
8*523fa7a6SAndroid Build Coastguard Worker 
9*523fa7a6SAndroid Build Coastguard Worker #pragma once
10*523fa7a6SAndroid Build Coastguard Worker 
11*523fa7a6SAndroid Build Coastguard Worker #include <assert.h>
12*523fa7a6SAndroid Build Coastguard Worker #include <xnnpack.h>
13*523fa7a6SAndroid Build Coastguard Worker 
14*523fa7a6SAndroid Build Coastguard Worker namespace executorch {
15*523fa7a6SAndroid Build Coastguard Worker namespace backends {
16*523fa7a6SAndroid Build Coastguard Worker namespace xnnpack {
17*523fa7a6SAndroid Build Coastguard Worker namespace delegate {
18*523fa7a6SAndroid Build Coastguard Worker 
19*523fa7a6SAndroid Build Coastguard Worker constexpr const uint16_t kOffset[] = {0, 19, 44, 73, 98, 131, 163};
20*523fa7a6SAndroid Build Coastguard Worker 
21*523fa7a6SAndroid Build Coastguard Worker constexpr const char* kData =
22*523fa7a6SAndroid Build Coastguard Worker     "xnn_status_success\0"
23*523fa7a6SAndroid Build Coastguard Worker     "xnn_status_uninitialized\0"
24*523fa7a6SAndroid Build Coastguard Worker     "xnn_status_invalid_parameter\0"
25*523fa7a6SAndroid Build Coastguard Worker     "xnn_status_invalid_state\0"
26*523fa7a6SAndroid Build Coastguard Worker     "xnn_status_unsupported_parameter\0"
27*523fa7a6SAndroid Build Coastguard Worker     "xnn_status_unsupported_hardware\0"
28*523fa7a6SAndroid Build Coastguard Worker     "xnn_status_out_of_memory\0";
29*523fa7a6SAndroid Build Coastguard Worker 
xnn_status_to_string(enum xnn_status type)30*523fa7a6SAndroid Build Coastguard Worker inline const char* xnn_status_to_string(enum xnn_status type) {
31*523fa7a6SAndroid Build Coastguard Worker   assert(type <= xnn_status_out_of_memory);
32*523fa7a6SAndroid Build Coastguard Worker   return &kData[kOffset[type]];
33*523fa7a6SAndroid Build Coastguard Worker }
34*523fa7a6SAndroid Build Coastguard Worker 
35*523fa7a6SAndroid Build Coastguard Worker } // namespace delegate
36*523fa7a6SAndroid Build Coastguard Worker } // namespace xnnpack
37*523fa7a6SAndroid Build Coastguard Worker } // namespace backends
38*523fa7a6SAndroid Build Coastguard Worker } // namespace executorch
39