From 0c76214beca145ee9f55f7285c8dd632c8a2c029 Mon Sep 17 00:00:00 2001 From: Epagris Date: Sat, 11 Oct 2025 21:49:46 +0200 Subject: [PATCH] - Lua index shifting --- class/Tasks/TruthTableTask.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/class/Tasks/TruthTableTask.php b/class/Tasks/TruthTableTask.php index 43c3256..75676fc 100644 --- a/class/Tasks/TruthTableTask.php +++ b/class/Tasks/TruthTableTask.php @@ -55,12 +55,21 @@ class TruthTableTask extends PicturedTask return $this->lf; } + public static function sanitizeIndices(array $a): array { + $r = []; + $i = 0; + foreach ($a as $v) { + $r[$i++] = $v; + } + return $r; + } + public function generateRandomFunction(array $input_vars, int $min_depth, int $max_depth): void { - $this->lf = LogicFunction::genRandom($input_vars, $min_depth, $max_depth); + $this->lf = LogicFunction::genRandom(self::sanitizeIndices($input_vars), $min_depth, $max_depth); } public function generateRandomDF(array $input_vars): void { - $this->lf = LogicFunction::genRandomDF($input_vars); + $this->lf = LogicFunction::genRandomDF(self::sanitizeIndices($input_vars)); } public function getFunctionAsDNF(): string { @@ -72,7 +81,7 @@ class TruthTableTask extends PicturedTask } public function setLogicFunctionExpr(string $expr, array $input_vars = []): void { - $this->lf = new LogicFunction($expr, $input_vars); + $this->lf = new LogicFunction($expr, self::sanitizeIndices($input_vars)); } public function getLogicFunctionExpr(string $fmt = "verilog_bitwise"): string {