* Copyright (c) Huawei Technologies Co., Ltd. 2021-2024. All rights reserved.
* Description: String Function Registry
*/
#ifndef OMNI_RUNTIME_FUNC_REGISTRY_STRING_H
#define OMNI_RUNTIME_FUNC_REGISTRY_STRING_H
#include "function.h"
#include "func_registry_base.h"
#include "util/type_util.h"
const std::string strCompareStr = "compare";
const std::string strEqualStr = "strequal";
namespace omniruntime::codegen {
class StringFunctionRegistry : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringFunctionRegistryNotAllowReducePrecison : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringToDecimalFunctionRegistryAllowRoundUp : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringToDecimalFunctionRegistry : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringFunctionRegistryAllowReducePrecison : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringFunctionRegistryNotReplace : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringFunctionRegistryReplace : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringFunctionRegistrySupportNegativeAndZeroIndex : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringFunctionRegistrySupportNotNegativeAndZeroIndex : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringFunctionRegistrySupportNegativeAndNotZeroIndex : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
class StringFunctionRegistrySupportNotNegativeAndNotZeroIndex : public BaseFunctionRegistry {
public:
std::vector<Function> GetFunctions() override;
};
}
#endif