[Javabdd-checkins] JavaBDD cudd_jni.c,1.13,1.14
Brought to you by:
joewhaley
From: John W. <joe...@us...> - 2005-07-22 19:11:59
|
Update of /cvsroot/javabdd/JavaBDD In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13875 Modified Files: cudd_jni.c Log Message: Fixes to CUDD to correctly get and set number of variables. Index: cudd_jni.c =================================================================== RCS file: /cvsroot/javabdd/JavaBDD/cudd_jni.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** cudd_jni.c 29 Jun 2005 08:00:44 -0000 1.13 --- cudd_jni.c 22 Jul 2005 19:11:50 -0000 1.14 *************** *** 34,38 **** static DdManager *manager; static jlong bdd_one, bdd_zero; - static int varcount, varnum; #define INVALID_BDD 0L --- 34,37 ---- *************** *** 177,181 **** (JNIEnv *env, jclass cl, jint x) { ! jint old = varnum; CuddPairing *p = pair_list; while (p) { --- 176,180 ---- (JNIEnv *env, jclass cl, jint x) { ! jint old = Cudd_ReadSize(manager); CuddPairing *p = pair_list; while (p) { *************** *** 194,198 **** p = p->next; } ! varnum = varcount = x; return old; } --- 193,199 ---- p = p->next; } ! while (Cudd_ReadSize(manager) < x) { ! Cudd_bddNewVar(manager); ! } return old; } *************** *** 683,686 **** --- 684,688 ---- { DdNode* d; + int varcount = Cudd_ReadSize(manager); d = (DdNode*) (intptr_cast_type) a; return Cudd_CountMinterm(manager, d, varcount); *************** *** 748,751 **** --- 750,754 ---- int n; int *arr; + int varnum = Cudd_ReadSize(manager); arr = (int*) malloc(sizeof(int)*varnum); if (arr == NULL) return INVALID_BDD; *************** *** 776,779 **** --- 779,783 ---- { int n; + int varnum = Cudd_ReadSize(manager); CuddPairing* r = (CuddPairing*) malloc(sizeof(CuddPairing)); if (r == NULL) return 0; *************** *** 838,841 **** --- 842,846 ---- int n; CuddPairing* r = (CuddPairing*) (intptr_cast_type) p; + int varnum = Cudd_ReadSize(manager); for (n=0 ; n<varnum ; n++) { int var; *************** *** 859,862 **** --- 864,868 ---- CuddPairing* r = (CuddPairing*) (intptr_cast_type) p; CuddPairing** ptr; + int varnum = Cudd_ReadSize(manager); for (n=0 ; n<varnum ; n++) { Cudd_RecursiveDeref(manager, r->table[n]); |