diff options
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 |