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 {