- random generating logic function

This commit is contained in:
Wiesner András 2025-10-11 21:35:24 +02:00
parent c3d6e29e9d
commit 1a57b2db62

View File

@ -55,6 +55,18 @@ class TruthTableTask extends PicturedTask
return $this->lf;
}
public function generateRandomFunction(array $input_vars, int $min_depth, int $max_depth): void {
$this->lf = LogicFunction::genRandom($input_vars, $min_depth, $max_depth);
}
public function generateRandomDF(array $input_vars): void {
$this->lf = LogicFunction::genRandomDF($input_vars);
}
public function setLogicFunctionExpr(string $expr, array $input_vars = []): void {
$this->lf = new LogicFunction($expr, $input_vars);
}
public function getLogicFunctionExpr(string $fmt = "verilog_bitwise"): string {
return $this->lf->getExpression($fmt);
}
@ -80,11 +92,11 @@ class TruthTableTask extends PicturedTask
public function randomize(): void
{
parent::randomize();
if ($this->hasFlag("drawnetwork")) {
$this->setImageData($this->lf->drawNetwork($this->output_variable));
$this->setImageType("svg");
}
parent::randomize();
}
}