diff options
author | Jeremy Johnson <jeremy.johnson@arm.com> | 2024-04-08 15:18:05 +0100 |
---|---|---|
committer | Jeremy Johnson <jeremy.johnson@arm.com> | 2024-04-09 14:18:04 +0100 |
commit | 3f3de01fa87246161e47c15fd6c44f710b86f3e7 (patch) | |
tree | 769f906cab3c4a318019aea4ecda15d5ea0d07a3 | |
parent | c870d1ef9d1299a71a35ef0d7d68e5c09bc77efb (diff) | |
download | reference_model-3f3de01fa87246161e47c15fd6c44f710b86f3e7.tar.gz |
Fix/improve SLICE test generation
Only generate valid arguments for slice, improving test generation.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: Id2db7bd42773e8d182ad814c4295ea4927a035a8
-rw-r--r-- | verif/generator/tosa_arg_gen.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/verif/generator/tosa_arg_gen.py b/verif/generator/tosa_arg_gen.py index 9b20053..670a3e4 100644 --- a/verif/generator/tosa_arg_gen.py +++ b/verif/generator/tosa_arg_gen.py @@ -3336,26 +3336,25 @@ class TosaArgGen: start = [] size = [] - valid = True - for i in range(rank): if ifm_shape[i] > 1: + # Start from 0 to dimension size - 1 to leave room for slice of 1 start.append(rng.randInt(0, ifm_shape[i])) - size.append(rng.randInt(0, ifm_shape[i] - start[i])) + # Size from 1 up to rest of room (dimension size - start) + size.append(rng.randInt(1, ifm_shape[i] + 1 - start[i])) - # Invalid slice size? - if size[i] == 0: - valid = False + # Should never hit an invalid slice size + assert size[i] > 0 and (size[i] + start[i]) <= ifm_shape[i] else: start.append(0) size.append(1) - if valid: - # If ERROR_IF test required then incorrect start, size will be returned - start, size = TosaErrorIfArgGen.eiSliceErrorIf( - rng, error_name, ifm_shape, start, size - ) - arg_list.append(("perm{}".format(p), {"start": start, "size": size})) + # If ERROR_IF test required then incorrect start, size will be returned + start, size = TosaErrorIfArgGen.eiSliceErrorIf( + rng, error_name, ifm_shape, start, size + ) + arg_list.append(("perm{}".format(p), {"start": start, "size": size})) + # Now add data generator types arg_list = TosaArgGen._add_data_generators( testGen, |