// sherpa-onnx/csrc/macros.h // // Copyright 2023 Xiaomi Corporation #ifndef SHERPA_ONNX_CSRC_MACROS_H_ #define SHERPA_ONNX_CSRC_MACROS_H_ #define SHERPA_ONNX_READ_META_DATA(dst, src_key) \ do { \ auto value = \ meta_data.LookupCustomMetadataMapAllocated(src_key, allocator); \ if (!value) { \ fprintf(stderr, "%s does not exist in the metadata\n", src_key); \ exit(-1); \ } \ \ dst = atoi(value.get()); \ if (dst <= 0) { \ fprintf(stderr, "Invalid value %d for %s\n", dst, src_key); \ exit(-1); \ } \ } while (0) #define SHERPA_ONNX_READ_META_DATA_VEC(dst, src_key) \ do { \ auto value = \ meta_data.LookupCustomMetadataMapAllocated(src_key, allocator); \ if (!value) { \ fprintf(stderr, "%s does not exist in the metadata\n", src_key); \ exit(-1); \ } \ \ bool ret = SplitStringToIntegers(value.get(), ",", true, &dst); \ if (!ret) { \ fprintf(stderr, "Invalid value %s for %s\n", value.get(), src_key); \ exit(-1); \ } \ } while (0) #endif // SHERPA_ONNX_CSRC_MACROS_H_