diff options
author | Jeremy Johnson <jeremy.johnson@arm.com> | 2023-11-20 16:15:30 +0000 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2023-11-30 18:52:24 +0000 |
commit | 3047625f7d4b3a77cb3a3480481122f7ba01be2d (patch) | |
tree | 125ce52f1b9f65090a0bdb1c2fafeb8e0c516425 /reference_model/src/generate/generate_pseudo_random.cc | |
parent | 35a3aa994cf18f735193a05a7eb2c61d497233d2 (diff) | |
download | reference_model-3047625f7d4b3a77cb3a3480481122f7ba01be2d.tar.gz |
Adjust random data ranges for Main Compliance to avoid FP inf and nan
POW - there are now 3 test sets to cover random ranges. Also added ROUND
mode to data generator to force integer exponent values.
LOG, EXP, RSQRT, REDUCE_SUM & FULLY_CONNECTED - have had their ranges
reduced for each test.
Fix generate library configuration defaults and checks.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: Ie5d3bd78f690cc787a2ca4eb9b4bd6808bd9238c
Diffstat (limited to 'reference_model/src/generate/generate_pseudo_random.cc')
-rw-r--r-- | reference_model/src/generate/generate_pseudo_random.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/reference_model/src/generate/generate_pseudo_random.cc b/reference_model/src/generate/generate_pseudo_random.cc index d8d2288..b51424d 100644 --- a/reference_model/src/generate/generate_pseudo_random.cc +++ b/reference_model/src/generate/generate_pseudo_random.cc @@ -93,6 +93,7 @@ bool generateFP32(const TosaReference::GenerateConfig& cfg, void* data, size_t s const TosaReference::PseudoRandomInfo& prinfo = cfg.pseudoRandomInfo; PseudoRandomGeneratorFloat<float>* generator; + bool roundMode = prinfo.round; if (prinfo.range.size() == 2) { @@ -117,6 +118,10 @@ bool generateFP32(const TosaReference::GenerateConfig& cfg, void* data, size_t s // Set every 4th value to 0 to enable better comparison testing a[t] = 0.f; } + else if (roundMode) + { + a[t] = std::roundf(a[t]); + } } return true; } |