diff options
| -rw-r--r-- | src/bool/lucky/luckySimple.c | 13 | ||||
| -rw-r--r-- | src/opt/dau/dauCanon.c | 4 | 
2 files changed, 11 insertions, 6 deletions
| diff --git a/src/bool/lucky/luckySimple.c b/src/bool/lucky/luckySimple.c index 0660c0ad..ae6d5504 100644 --- a/src/bool/lucky/luckySimple.c +++ b/src/bool/lucky/luckySimple.c @@ -196,9 +196,10 @@ void simpleMinimalGroups(word* x, word* pAux, word* minimal, int* pGroups, int n      /* variables */      int i, j, o, nn;      permInfo* pi; +    int * a, * c, * m;      /* reorder groups and calculate group offsets */ -    int offset[nGroups]; +    int * offset = ABC_ALLOC( int, nGroups );      o = 0;      j = 0; @@ -224,9 +225,9 @@ void simpleMinimalGroups(word* x, word* pAux, word* minimal, int* pGroups, int n      /* iterate through all combinations of pGroups using mixed radix enumeration */      nn = ( nGroups << 1 ) + 1; -    int a[nn]; -    int c[nn]; -    int m[nn]; +    a = ABC_ALLOC( int, nn ); +    c = ABC_ALLOC( int, nn ); +    m = ABC_ALLOC( int, nn );      /* fill a and m arrays */      m[0] = 2; @@ -295,6 +296,10 @@ void simpleMinimalGroups(word* x, word* pAux, word* minimal, int* pGroups, int n          c[j] = 1;          a[j]++;      } +    ABC_FREE( offset ); +    ABC_FREE( a ); +    ABC_FREE( c ); +    ABC_FREE( m );      Kit_TruthCopy_64bit( x, minimal, nVars );  } diff --git a/src/opt/dau/dauCanon.c b/src/opt/dau/dauCanon.c index c6ac8288..011f972a 100644 --- a/src/opt/dau/dauCanon.c +++ b/src/opt/dau/dauCanon.c @@ -1219,8 +1219,9 @@ unsigned Abc_TtCanonicizeHie( Abc_TtMan_t * p, word * pTruthInit, int nVars, cha      if ( fExact ) {          extern void simpleMinimalGroups(word* x, word* pAux, word* minimal, int* pGroups, int nGroups, permInfo** pis, int nVars, int fFlipOutput, int fFlipInput);          word pAuxWord[1024], pAuxWord1[1024]; -        int pGroups[nVars]; +        int pGroups[16];          int nGroups = 0; +        permInfo * pis[17];          // get groups          pGroups[0] = 0;          for (i = 0; i < nVars - 1; i++) { @@ -1236,7 +1237,6 @@ unsigned Abc_TtCanonicizeHie( Abc_TtMan_t * p, word * pTruthInit, int nVars, cha          nGroups++;          // compute permInfo from 0 to nVars  (incl.) -        permInfo * pis[nVars+1];          for (i = 0; i <= nVars; i++) {              pis[i] = setPermInfoPtr(i);          } | 
