diff --git a/resources/3rdparty/cudd-3.0.0/cudd/cuddAddAbs.c b/resources/3rdparty/cudd-3.0.0/cudd/cuddAddAbs.c index 57c23d189..9ba2ab69a 100644 --- a/resources/3rdparty/cudd-3.0.0/cudd/cuddAddAbs.c +++ b/resources/3rdparty/cudd-3.0.0/cudd/cuddAddAbs.c @@ -1003,27 +1003,25 @@ cuddAddMinAbstractRepresentativeRecur( logicalZero = Cudd_Not(one); /* Cube is guaranteed to be a cube at this point. */ + if (cuddIsConstant(cube)) { + return one; + } if (cuddIsConstant(f)) { - if (cuddIsConstant(cube)) { - return one; - } else { - res = cuddBddExistAbstractRepresentativeRecur(manager, f, cuddT(cube)); - if (res == NULL) { - return(NULL); - } - cuddRef(res); + res = cuddBddExistAbstractRepresentativeRecur(manager, f, cuddT(cube)); + if (res == NULL) { + return(NULL); + } + cuddRef(res); - // We build in the negation ourselves. - res1 = cuddUniqueInter(manager, (int) cube->index, one, Cudd_Not(res)); - if (res1 == NULL) { - Cudd_IterDerefBdd(manager,res); - return(NULL); - } - res1 = Cudd_Not(res1); - cuddDeref(res); - return(res1); - + // We build in the negation ourselves. + res1 = cuddUniqueInter(manager, (int) cube->index, one, Cudd_Not(res)); + if (res1 == NULL) { + Cudd_IterDerefBdd(manager,res); + return(NULL); } + res1 = Cudd_Not(res1); + cuddDeref(res); + return(res1); } /* Abstract a variable that does not appear in f. */ @@ -1191,27 +1189,26 @@ cuddAddMaxAbstractRepresentativeRecur( logicalZero = Cudd_Not(one); /* Cube is guaranteed to be a cube at this point. */ + if (cuddIsConstant(cube)) { + return one; + } if (cuddIsConstant(f)) { - if (cuddIsConstant(cube)) { - return one; - } else { - res = cuddBddExistAbstractRepresentativeRecur(manager, f, cuddT(cube)); - if (res == NULL) { - return(NULL); - } - cuddRef(res); - - // We build in the negation ourselves. - res1 = cuddUniqueInter(manager, (int) cube->index, one, Cudd_Not(res)); - if (res1 == NULL) { - Cudd_IterDerefBdd(manager,res); - return(NULL); - } - res1 = Cudd_Not(res1); - cuddDeref(res); - return(res1); - + res = cuddBddExistAbstractRepresentativeRecur(manager, f, cuddT(cube)); + if (res == NULL) { + return(NULL); + } + cuddRef(res); + + // We build in the negation ourselves. + res1 = cuddUniqueInter(manager, (int) cube->index, one, Cudd_Not(res)); + if (res1 == NULL) { + Cudd_IterDerefBdd(manager,res); + return(NULL); } + res1 = Cudd_Not(res1); + cuddDeref(res); + return(res1); + } /* Abstract a variable that does not appear in f. */