From 39b168dfd594f7648073a72ccb2d71827ed8cbaa Mon Sep 17 00:00:00 2001 From: Benoit Chevallier-Mames Date: Wed, 24 Nov 2021 15:28:34 +0100 Subject: [PATCH] fix: fix issues for certain form of functions Table which was created contained too large values, for cells which were never accessed closes #949 --- concrete/common/mlir/node_converter.py | 7 ++++++- tests/numpy/test_compile.py | 3 +-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/concrete/common/mlir/node_converter.py b/concrete/common/mlir/node_converter.py index d8457b6c6..78b4edcb7 100644 --- a/concrete/common/mlir/node_converter.py +++ b/concrete/common/mlir/node_converter.py @@ -282,7 +282,12 @@ class IntermediateNodeConverter: table = tables[0][0] lut_shape: Tuple[int, ...] = (len(table),) - lut_values = numpy.array(table, dtype=numpy.uint64) + + # The reduction on 63b is to avoid problems like doing a TLU of + # the form T[j] = 2<> 2, ((30, 100),), ["x"]), pytest.param(lambda x: 115 >> (x % 3), ((0, 17),), ["x"]), pytest.param(lambda x: x % 7, ((0, 100),), ["x"]),