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/LOGICAL_LEFT_SHIFT.tosac | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 pseudocode/operators/LOGICAL_LEFT_SHIFT.tosac (limited to 'pseudocode/operators/LOGICAL_LEFT_SHIFT.tosac') diff --git a/pseudocode/operators/LOGICAL_LEFT_SHIFT.tosac b/pseudocode/operators/LOGICAL_LEFT_SHIFT.tosac new file mode 100644 index 0000000..4057163 --- /dev/null +++ b/pseudocode/operators/LOGICAL_LEFT_SHIFT.tosac @@ -0,0 +1,19 @@ +// +// 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(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_out_t value1 = tensor_read(input1, shape1, index1); + in_out_t value2 = tensor_read(input2, shape2, index2); + REQUIRE(0 <= value2 && value2 <= 31); + in_out_t result = value1 << value2; + tensor_write(output, shape, index, result); +} -- cgit v1.2.1