Remove more sanity checks when NDEBUG is set.

* src/kernel.h (CHECKnc): New macro.
* src/kernel.c (bdd_var, bdd_low, bdd_high, bdd_ithvar,
bdd_nithvar): Use it.
This commit is contained in:
Alexandre Duret-Lutz 2011-04-04 19:10:06 +02:00
parent c44b60f08f
commit 61d9e721a0
3 changed files with 26 additions and 13 deletions

View file

@ -874,11 +874,13 @@ RETURN {* The I'th variable on succes, otherwise the constant false bdd *}
ALSO {* bdd\_setvarnum, bdd\_nithvar, bddtrue, bddfalse *} */
BDD bdd_ithvar(int var)
{
#ifndef NDEBUG
if (var < 0 || var >= bddvarnum)
{
bdd_error(BDD_VAR);
return bddfalse;
}
#endif
return bddvarset[var*2];
}
@ -900,11 +902,13 @@ ALSO {* bdd\_setvarnum, bdd\_ithvar, bddtrue, bddfalse *}
*/
BDD bdd_nithvar(int var)
{
#ifndef NDEBUG
if (var < 0 || var >= bddvarnum)
{
bdd_error(BDD_VAR);
return bddfalse;
}
#endif
return bddvarset[var*2+1];
}
@ -937,10 +941,8 @@ RETURN {* The variable number. *}
int bdd_var(BDD root)
{
CHECK(root);
if (root < 2)
return bdd_error(BDD_ILLBDD);
return (bddlevel2var[LEVEL(root)]);
CHECKnc(root);
return bddlevel2var[LEVEL(root)];
}
@ -956,10 +958,8 @@ ALSO {* bdd\_high *}
BDD bdd_low(BDD root)
{
CHECK(root);
if (root < 2)
return bdd_error(BDD_ILLBDD);
return (LOW(root));
CHECKnc(root);
return LOW(root);
}
@ -975,10 +975,8 @@ ALSO {* bdd\_low *}
BDD bdd_high(BDD root)
{
CHECK(root);
if (root < 2)
return bdd_error(BDD_ILLBDD);
return (HIGH(root));
CHECKnc(root);
return HIGH(root);
}