0

在我的 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位数字。我可以更改此设置吗?谁能证实我的怀疑?非常感谢。

4

1 回答 1

1

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

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

Cudd_SetEpsilon(manager, 1.0e-6);

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

#define DD_EPSILON  (1.0e-12)

如果我没记错的话,打印发生在与转换说明符一起使用的内部函数ddPrintMintermAux中。您可以在 CUDD 中更改该代码并重建它以更精确地打印数字。cuddUtil.cfprintf%g

于 2018-08-08T16:04:04.410 回答