From a7ac313a13f8f82b4b3ca9730bd746392f6600d9 Mon Sep 17 00:00:00 2001 From: Kevin Petit Date: Mon, 8 Jan 2024 15:27:25 +0000 Subject: Move operator pseudocode to separate files This makes it easier to process the pseudocode automatically. Change-Id: I84394192598e589de07d43a7af60b96788e14f86 Signed-off-by: Kevin Petit --- pseudocode/operators/NEGATE.tosac | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 pseudocode/operators/NEGATE.tosac (limited to 'pseudocode/operators/NEGATE.tosac') diff --git a/pseudocode/operators/NEGATE.tosac b/pseudocode/operators/NEGATE.tosac new file mode 100644 index 0000000..8c235f1 --- /dev/null +++ b/pseudocode/operators/NEGATE.tosac @@ -0,0 +1,22 @@ +// +// This confidential and proprietary software may be used only as +// authorised by a licensing agreement from 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 +// by a licensing agreement from ARM Limited. + +ERROR_IF(in_out_t != i8_t && input1_zp != 0) // Zero point only for int8_t +ERROR_IF(in_out_t != i8_t && output_zp != 0) // Zero point only for int8_t +for_each(index in shape) { + in_out_t value1 = tensor_read(input1, shape, index); + acc_t value = apply_sub_s(sign_extend(value1), + sign_extend(input1_zp)); + value = apply_sub_s(0, value); + value = apply_add_s(value, sign_extend(output_zp)); + in_out_t result = truncate(apply_clip_s(value, + minimum_s, + maximum_s)); + tensor_write(output, shape, index, result); +} -- cgit v1.2.1