diff -dur cudd-2.4.1.ORIG/cudd/cuddGroup.c cudd-2.4.1/cudd/cuddGroup.c
--- cudd-2.4.1.ORIG/cudd/cuddGroup.c 2004-08-24 15:37:44.000000000 -0600
+++ cudd-2.4.1/cudd/cuddGroup.c 2006-02-20 15:04:32.000000000 -0700
@@ -214,7 +214,9 @@
** Cudd_bddNewVarAtLevel or Cudd_addNewVarAtLevel to create new
** variables have to create the variables before they group them.
*/
- level = (low < (unsigned int) dd->size) ? dd->perm[low] : low;
+ level = (low < (unsigned int) dd->size)
+ ? (unsigned int) dd->perm[low]
+ : low;
if (level + size - 1> (int) MTR_MAXHIGH)
return(NULL);
diff -dur cudd-2.4.1.ORIG/cudd/cuddZddGroup.c cudd-2.4.1/cudd/cuddZddGroup.c
--- cudd-2.4.1.ORIG/cudd/cuddZddGroup.c 2004-08-24 15:37:47.000000000 -0600
+++ cudd-2.4.1/cudd/cuddZddGroup.c 2006-02-20 15:05:24.000000000 -0700
@@ -171,7 +171,9 @@
** Cudd_bddNewVarAtLevel or Cudd_addNewVarAtLevel to create new
** variables have to create the variables before they group them.
*/
- level = (low < (unsigned int) dd->sizeZ) ? dd->permZ[low] : low;
+ level = (low < (unsigned int) dd->sizeZ)
+ ? (unsigned int) dd->permZ[low]
+ : low;
if (level + size - 1> (int) MTR_MAXHIGH)
return(NULL);
diff -dur cudd-2.4.1.ORIG/st/st.c cudd-2.4.1/st/st.c
--- cudd-2.4.1.ORIG/st/st.c 2004-02-11 15:33:16.000000000 -0700
+++ cudd-2.4.1/st/st.c 2006-02-20 15:55:51.000000000 -0700
@@ -54,7 +54,7 @@
#define st_shift 2
#endif
-#define ST_PTRHASH(x,size) ((unsigned int)((unsigned long)(x)>>st_shift)%size)
+#define ST_PTRHASH(x,size) ((int)((unsigned long)(x)>>st_shift)%size)
#define EQUAL(func, x, y) \
((((func) == st_numcmp) || ((func) == st_ptrcmp)) ?\