“相同”值出现在ADD的叶子中

时间:2018-08-08 11:53:45

标签: cudd

在我的ADD计算中,我经常在叶子中有重复的值。应该自动压缩它们吗?

例如:

-0-0-- 191.452

-0-1-- 191.452

-1-0-- 191.452

-1-1-- 191.452

一个猜测是它们的尾数不同,未显示。但是我也有尾数较多的值:

--- 0-0 8.14148

--- 0-1 9.65706

--- 1-0 8.14148

--- 1-1 9.65706

我只能假设隐藏的数字不同,因此它们出现在不同的叶子中...

似乎只显示6位数字。我可以更改此设置吗? 谁能证实我的怀疑? 非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以更改“ε”来确定两个值是否相等。

这应将epsilon值设置为百万分之一:

Cudd_SetEpsilon(manager, 1.0e-6);

默认在cuddInt.h中定义为1.0e-12:

#define DD_EPSILON  (1.0e-12)

如果我没记错的话,可以使用fprintfddPrintMintermAux转换说明符在cuddUtil.c的内部函数%g中进行打印。您可以在CUDD中更改该代码,然后重新生成以更高精度地打印数字。