diff options
author | Kevin Petit <kevin.petit@arm.com> | 2024-01-08 15:27:25 +0000 |
---|---|---|
committer | Kevin Petit <kevin.petit@arm.com> | 2024-01-15 10:19:01 +0000 |
commit | a7ac313a13f8f82b4b3ca9730bd746392f6600d9 (patch) | |
tree | 242c97650a951f48a5de96b44e0d5c124ea1c212 /chapters/comparison.adoc | |
parent | 8754ec288dc491f3a9e936e68a1fd35783c9808e (diff) | |
download | specification-a7ac313a13f8f82b4b3ca9730bd746392f6600d9.tar.gz |
Move operator pseudocode to separate files
This makes it easier to process the pseudocode automatically.
Change-Id: I84394192598e589de07d43a7af60b96788e14f86
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Diffstat (limited to 'chapters/comparison.adoc')
-rw-r--r-- | chapters/comparison.adoc | 44 |
1 files changed, 4 insertions, 40 deletions
diff --git a/chapters/comparison.adoc b/chapters/comparison.adoc index 4ef52d6..5535b40 100644 --- a/chapters/comparison.adoc +++ b/chapters/comparison.adoc @@ -1,7 +1,7 @@ // // This confidential and proprietary software may be used only as // authorised by a licensing agreement from ARM Limited -// (C) COPYRIGHT 2020-2022 ARM Limited +// (C) COPYRIGHT 2020-2024 ARM Limited // ALL RIGHTS RESERVED // The entire notice above must be reproduced on all authorised // copies and copies may only be made to the extent permitted @@ -17,19 +17,7 @@ include::{generated}/operators/EQUAL.adoc[] [source,c++] ---- -ERROR_IF(shape != broadcast_shape(shape1, shape2)); -for_each(index in shape) { - dim_t index1 = apply_broadcast(shape, shape1, index); - dim_t index2 = apply_broadcast(shape, shape2, index); - in_t value1 = tensor_read<in_t>(input1, shape1, index1); - in_t value2 = tensor_read<in_t>(input2, shape2, index2); - out_t result; - if (isNaN(value1) || isNaN(value2)) - result = False; - else - result = (value1 == value2) ? True : False; - tensor_write<out_t>(output, shape, index, result); -} +include::{pseudocode}/operators/EQUAL.tosac[lines=10..-1] ---- ==== GREATER @@ -40,19 +28,7 @@ include::{generated}/operators/GREATER.adoc[] [source,c++] ---- -ERROR_IF(shape != broadcast_shape(shape1, shape2)); -for_each(index in shape) { - dim_t index1 = apply_broadcast(shape, shape1, index); - dim_t index2 = apply_broadcast(shape, shape2, index); - in_t value1 = tensor_read<in_t>(input1, shape1, index1); - in_t value2 = tensor_read<in_t>(input2, shape2, index2); - out_t result; - if (isNaN(value1) || isNaN(value2)) - result = False; - else - result = (value1 > value2) ? True : False; - tensor_write<out_t>(output, shape, index, result); -} +include::{pseudocode}/operators/GREATER.tosac[lines=10..-1] ---- ==== GREATER_EQUAL @@ -63,17 +39,5 @@ include::{generated}/operators/GREATER_EQUAL.adoc[] [source,c++] ---- -ERROR_IF(shape != broadcast_shape(shape1, shape2)); -for_each(index in shape) { - dim_t index1 = apply_broadcast(shape, shape1, index); - dim_t index2 = apply_broadcast(shape, shape2, index); - in_t value1 = tensor_read<in_t>(input1, shape1, index1); - in_t value2 = tensor_read<in_t>(input2, shape2, index2); - out_t result; - if (isNaN(value1) || isNaN(value2)) - result = False; - else - result = (value1 >= value2) ? True : False; - tensor_write<out_t>(output, shape, index, result); -} +include::{pseudocode}/operators/GREATER_EQUAL.tosac[lines=10..-1] ---- |