From d71cc125e7eb4a7a358b6a3a1e92fa7a53017478 Mon Sep 17 00:00:00 2001 From: Michael Tautschnig Date: Wed, 1 Nov 2023 20:20:11 +0000 Subject: [PATCH] miniBDD test: support lselect We can support the select operation, it just wasn't implemented. --- unit/solvers/bdd/miniBDD/miniBDD.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/unit/solvers/bdd/miniBDD/miniBDD.cpp b/unit/solvers/bdd/miniBDD/miniBDD.cpp index 18d3d5ede06..71a311e31a9 100644 --- a/unit/solvers/bdd/miniBDD/miniBDD.cpp +++ b/unit/solvers/bdd/miniBDD/miniBDD.cpp @@ -126,10 +126,9 @@ class bdd_propt : public propt return {}; } - literalt lselect(literalt, literalt, literalt) override + literalt lselect(literalt c, literalt t, literalt f) override { - UNREACHABLE; - return {}; + return to_literal((to_bdd(!c) | to_bdd(t)) & (to_bdd(c) | to_bdd(f))); } void lcnf(const bvt &) override