diff options
author | Jerry Ge <jerry.ge@arm.com> | 2024-02-20 11:21:19 -0800 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2024-03-05 18:47:09 +0000 |
commit | 51bd4f5166c50a89017307b55dee0f5bda096b7b (patch) | |
tree | 84aa5e9bd1dc02856ae10a18f0a923e3c8efbf55 /reference_model/src/verify | |
parent | 1408795800719139e26bafcece88bfc07582576d (diff) | |
download | reference_model-51bd4f5166c50a89017307b55dee0f5bda096b7b.tar.gz |
Add Tosa Sin/Cos operators
- Add Tosa Sin/Cos operators to reference_model
- Add conformances tests
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: I3f597ddf5dac2c64d6dd6aa15781b40b8468eaa6
Diffstat (limited to 'reference_model/src/verify')
-rw-r--r-- | reference_model/src/verify/verify_abs_error.cc | 3 | ||||
-rw-r--r-- | reference_model/src/verify/verify_utils.cc | 7 | ||||
-rw-r--r-- | reference_model/src/verify/verify_utils.h | 1 |
3 files changed, 8 insertions, 3 deletions
diff --git a/reference_model/src/verify/verify_abs_error.cc b/reference_model/src/verify/verify_abs_error.cc index a7b7bc2..125045e 100644 --- a/reference_model/src/verify/verify_abs_error.cc +++ b/reference_model/src/verify/verify_abs_error.cc @@ -20,7 +20,6 @@ #include "half.hpp" #include "verifiers.h" - namespace TosaReference { @@ -36,7 +35,7 @@ double calcErrorBound(double referenceValue, double boundsValue, const void* cfg { valBound = std::max(cfg->lowerBound, valBound); } - return exp2(-AccPrecision<OutType>::normal_frac) * valBound; + return exp2(-AccPrecision<OutType>::normal_frac / cfg->normalDivisor) * valBound; } } // namespace diff --git a/reference_model/src/verify/verify_utils.cc b/reference_model/src/verify/verify_utils.cc index d598e2c..50a98e5 100644 --- a/reference_model/src/verify/verify_utils.cc +++ b/reference_model/src/verify/verify_utils.cc @@ -80,6 +80,10 @@ void from_json(const nlohmann::json& j, AbsErrorVerifyInfo& absErrorInfo) { j.at("lower_bound").get_to(absErrorInfo.lowerBound); } + if (j.contains("normal_divisor")) + { + j.at("normal_divisor").get_to(absErrorInfo.normalDivisor); + } } void from_json(const nlohmann::json& j, RelativeVerifyInfo& rInfo) @@ -108,7 +112,8 @@ void from_json(const nlohmann::json& j, VerifyConfig& cfg) { j.at("reduce_product_info").get_to(cfg.reduceProductInfo); } - cfg.absErrorInfo.lowerBound = 0; + cfg.absErrorInfo.lowerBound = 0; + cfg.absErrorInfo.normalDivisor = 1; if (j.contains("abs_error_info")) { j.at("abs_error_info").get_to(cfg.absErrorInfo); diff --git a/reference_model/src/verify/verify_utils.h b/reference_model/src/verify/verify_utils.h index f53838a..9144317 100644 --- a/reference_model/src/verify/verify_utils.h +++ b/reference_model/src/verify/verify_utils.h @@ -82,6 +82,7 @@ struct AbsErrorVerifyInfo AbsErrorVerifyInfo() = default; double lowerBound; + double normalDivisor; }; /// \brief relative verification meta-data |