Changeset 8d25143 in git


Ignore:
Timestamp:
Nov 29, 2017, 3:56:43 PM (6 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
Children:
f190e487f1456162ad05e4f49dc86f313c8a3eddf29b5c85289ebdb1313aabe0cdcaee352f0b053c
Parents:
928be896b4edb5d5521d8f735c28e04854b6fa25
Message:
use omAlloc for some int arrays (NEW_ARRAY/DELETE_ARRAY)
Location:
factory
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • factory/cf_defs.h

    r928be8 r8d25143  
    4444/*ENDPUBLIC*/
    4545
     46#ifdef HAVE_OMALLOC
     47#include "omalloc/omalloc.h"
     48#define NEW_ARRAY(T,N)   (T*)omAlloc((N)*sizeof(T))
     49#define DELETE_ARRAY(P)  omFree(P)
     50#else
     51#define NEW_ARRAY(T,N)   new T[N]
     52#define DELETE_ARRY(P)   delete[] P
     53#endif
    4654#endif /* ! INCL_CF_DEFS_H */
  • factory/cf_factor.cc

    r928be8 r8d25143  
    7171{
    7272  int mv=f.level();
    73   int *exp_f=new int[mv+1];
     73  int *exp_f=NEW_ARRAY(int,mv+1);
    7474  int i;
    7575  for(i=mv;i>0;i--) exp_f[i]=0;
     
    8282    }
    8383  }
    84   delete[] exp_f;
     84  DELETE_ARRAY(exp_f);
    8585  return mv;
    8686}
  • factory/cf_map.cc

    r928be8 r8d25143  
    258258        return;
    259259
    260     int * degs = new int[maxlevel+1];
    261     int * tmp = new int[maxlevel+1];
    262     for ( i = 1; i <= maxlevel; i++ )
     260    int * degs = NEW_ARRAY(int,maxlevel+1);
     261    int * tmp = NEW_ARRAY(int,maxlevel+1);
     262    for ( i = maxlevel; i >= 1; i-- )
    263263        degs[i] = 0;
    264264
    265265    // calculate the union of all levels occuring in a
    266     for ( i = a.min(); i <= a.max(); i++ ) {
     266    for ( i = a.min(); i <= a.max(); i++ )
     267    {
    267268        tmp = degrees( a[i], tmp );
    268269        for ( j = 1; j <= level( a[i] ); j++ )
     
    273274    // create the maps
    274275    i = 1; j = 1;
    275     while ( i <= maxlevel ) {
    276         if ( degs[i] != 0 ) {
     276    while ( i <= maxlevel )
     277    {
     278        if ( degs[i] != 0 )
     279        {
    277280            M.newpair( Variable(i), Variable(j) );
    278281            N.newpair( Variable(j), Variable(i) );
     
    281284        i++;
    282285    }
    283     delete [] tmp;
    284     delete [] degs;
     286    DELETE_ARRAY(degs);
     287    DELETE_ARRAY(tmp);
    285288}
    286289
     
    348351    int n = tmax( f.level(), g.level() );
    349352    int i, k, p1, pe;
    350     int * degsf = new int[n+1];
    351     int * degsg = new int[n+1];
     353    int * degsf = NEW_ARRAY(int,n+1);
     354    int * degsg = NEW_ARRAY(int,n+1);
    352355
    353356    for ( i = 0; i <= n; i++ )
     
    407410    }
    408411
    409     delete [] degsf;
    410     delete [] degsg;
    411 }
     412    DELETE_ARRAY(degsf);
     413    DELETE_ARRAY(degsg);
     414}
  • factory/cf_ops.cc

    r928be8 r8d25143  
    321321    else
    322322    {
    323         int * vars = new int[ n+1 ];
     323        int * vars = NEW_ARRAY(int, n+1);
    324324        int i;
    325         for ( i = 0; i < n; i++ ) vars[i] = 0;
     325        for ( i = n-1; i >=0; i-- ) vars[i] = 0;
    326326
    327327        // look for variables
     
    334334            if ( vars[i] != 0 ) m++;
    335335
    336         delete [] vars;
     336        DELETE_ARRAY(vars);
    337337        // do not forget to count our own variable
    338338        return m+1;
     
    357357    else
    358358    {
    359         int * vars = new int[ n+1 ];
     359        int * vars = NEW_ARRAY(int, n+1);
    360360        int i;
    361         for ( i = 0; i <= n; i++ ) vars[i] = 0;
     361        for ( i = n; i >= 0; i-- ) vars[i] = 0;
    362362
    363363        // look for variables
     
    370370            if ( vars[i] != 0 ) result *= Variable( i );
    371371
    372         delete [] vars;
     372        DELETE_ARRAY(vars);
    373373        // do not forget our own variable
    374374        return f.mvar() * result;
     
    503503    {
    504504        int level = f.level();
    505         if ( degs == 0 )
     505        if ( degs == NULL )
    506506            degs = new int[level+1];
    507         for ( int i = 0; i <= level; i++ )
     507        for ( int i = level; i >= 0; i-- )
    508508            degs[i] = 0;
    509509        degreesRec( f, degs );
  • factory/gfops.cc

    r928be8 r8d25143  
    152152    sscanf( bufptr, "%d", &degree );
    153153    bufptr = (char *)strchr( bufptr, ' ' ) + 1;
    154     int * mipo = new int[degree + 1];
     154    int * mipo = NEW_ARRAY(int,degree+1);
    155155    for ( i = 0; i <= degree; i++ )
    156156    {
     
    162162    gf_q = q; gf_q1 = q-1;
    163163    gf_mipo = intVec2CF( degree, mipo, 1 );
    164     delete [] mipo;
     164    DELETE_ARRAY(mipo);
    165165
    166166    // now for the table
Note: See TracChangeset for help on using the changeset viewer.