parent
97852a0d7f
commit
18d9e39ddf
@ -0,0 +1,36 @@
|
|||||||
|
/**
|
||||||
|
* Copyright 2019-2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef COMPRESS_H
|
||||||
|
#define COMPRESS_H
|
||||||
|
|
||||||
|
#include <uchar.h>
|
||||||
|
|
||||||
|
enum CmpStatus { RET_SUCCESS = 0, RET_ERROR = -1 };
|
||||||
|
|
||||||
|
struct CompressConfig {
|
||||||
|
size_t inputSize; // length of data to compress
|
||||||
|
size_t engineNum; // how many decompress engines
|
||||||
|
size_t maxRatio; // how much size of a basic compression block, only 64 supported now (8x: 64 4x: 32)
|
||||||
|
size_t channel; // channels of L2 or DDR. For load balance
|
||||||
|
size_t fractalSize; // size of compressing block
|
||||||
|
bool isTight; // whether compose compressed data tightly
|
||||||
|
};
|
||||||
|
|
||||||
|
CmpStatus CompressWeights(char* input, const CompressConfig& compressConfig, char* indexs, char* output,
|
||||||
|
size_t& compressedLength);
|
||||||
|
|
||||||
|
#endif // COMPRESS_H
|
@ -0,0 +1,83 @@
|
|||||||
|
/**
|
||||||
|
* Copyright 2019-2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ERROR_MANAGER_H_
|
||||||
|
#define ERROR_MANAGER_H_
|
||||||
|
|
||||||
|
#include <map>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
class ErrorManager {
|
||||||
|
public:
|
||||||
|
///
|
||||||
|
/// @brief Obtain ErrorManager instance
|
||||||
|
/// @return ErrorManager instance
|
||||||
|
///
|
||||||
|
static ErrorManager &GetInstance();
|
||||||
|
|
||||||
|
///
|
||||||
|
/// @brief init
|
||||||
|
/// @param [in] path current so path
|
||||||
|
/// @return int 0(success) -1(fail)
|
||||||
|
///
|
||||||
|
int Init(std::string path);
|
||||||
|
|
||||||
|
///
|
||||||
|
/// @brief Report error message
|
||||||
|
/// @param [in] errCode error code
|
||||||
|
/// @param [in] mapArgs parameter map
|
||||||
|
/// @return int 0(success) -1(fail)
|
||||||
|
///
|
||||||
|
int ReportErrMessage(std::string error_code, const std::map<std::string, std::string> &args_map);
|
||||||
|
|
||||||
|
/// @brief output error message
|
||||||
|
/// @param [in] handle print handle
|
||||||
|
/// @return int 0(success) -1(fail)
|
||||||
|
///
|
||||||
|
int OutputErrMessage(int handle);
|
||||||
|
|
||||||
|
/// @brief Report error message
|
||||||
|
/// @param [in] vector parameter key, vector parameter value
|
||||||
|
///
|
||||||
|
void ATCReportErrMessage(std::string error_code, const std::vector<std::string> &key = {},
|
||||||
|
const std::vector<std::string> &value = {});
|
||||||
|
|
||||||
|
private:
|
||||||
|
struct ErrorInfo {
|
||||||
|
std::string error_id;
|
||||||
|
std::string error_message;
|
||||||
|
std::vector<std::string> arglist;
|
||||||
|
};
|
||||||
|
|
||||||
|
ErrorManager() {}
|
||||||
|
~ErrorManager() {}
|
||||||
|
|
||||||
|
ErrorManager(const ErrorManager &) = delete;
|
||||||
|
ErrorManager(ErrorManager &&) = delete;
|
||||||
|
ErrorManager &operator=(const ErrorManager &) = delete;
|
||||||
|
ErrorManager &operator=(ErrorManager &&) = delete;
|
||||||
|
|
||||||
|
int ParseJsonFile(std::string path);
|
||||||
|
|
||||||
|
int ReadJsonFile(const std::string &file_path, void *handle);
|
||||||
|
|
||||||
|
bool is_init_ = false;
|
||||||
|
std::map<std::string, ErrorInfo> error_map_;
|
||||||
|
std::vector<std::string> error_message_evc_;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // ERROR_MANAGER_H_
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue