diff options
| author | J08nY | 2019-01-05 17:12:22 +0100 |
|---|---|---|
| committer | J08nY | 2019-03-21 11:00:14 +0100 |
| commit | 7b7ec1729030ededfb400967df082fa86ce3239f (patch) | |
| tree | 074c177b3776f21217d54624ac8f26ffe7b4e338 /pyecsca/ec/context.py | |
| parent | e016716968700950f9a92f14389d20f643365c5e (diff) | |
| download | pyecsca-7b7ec1729030ededfb400967df082fa86ce3239f.tar.gz pyecsca-7b7ec1729030ededfb400967df082fa86ce3239f.tar.zst pyecsca-7b7ec1729030ededfb400967df082fa86ce3239f.zip | |
Diffstat (limited to 'pyecsca/ec/context.py')
| -rw-r--r-- | pyecsca/ec/context.py | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/pyecsca/ec/context.py b/pyecsca/ec/context.py index e691184..7fafadc 100644 --- a/pyecsca/ec/context.py +++ b/pyecsca/ec/context.py @@ -24,13 +24,10 @@ class Context(object): for coord, value in point.coords.items(): coords[coord + str(i + 1)] = value locals = {**coords, **params} - previous_locals = set(locals.keys()) - for line in formula.code: - exec(compile(line, "", mode="exec"), {}, locals) - diff = set(locals.keys()).difference(previous_locals) - previous_locals = set(locals.keys()) - for key in diff: - self.intermediates.append((key, locals[key])) + for op in formula.code: + op_result = op(**locals) + self.intermediates.append((op.result, op_result)) + locals[op.result] = op_result result = [] for i in range(formula.num_outputs): ind = str(i + 3) |
