Changeset ea66a97 in git


Ignore:
Timestamp:
Mar 3, 2010, 1:56:29 PM (14 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '45e267b9942dec9429fe249ce3e5e44ab80a6a3a')
Children:
ae77062adc4e3f82b5ef276c021d7d6bfa30ca9e
Parents:
9fda8098fc505f72b3e5041b8a00a7c9a8c1ac50
Message:
memory leak in nlGCD fixed

git-svn-id: file:///usr/local/Singular/svn/trunk@12585 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/longrat.cc

    r9fda80 rea66a97  
    11371137  if (((!(SR_HDL(a) & SR_INT))&&(a->s<2))
    11381138  ||  ((!(SR_HDL(b) & SR_INT))&&(b->s<2))) return INT_TO_SR(1);
    1139   result=(number)omAllocBin(rnumber_bin);
    1140 #if defined(LDEBUG)
    1141   result->debug=123456;
    1142 #endif
    1143   mpz_init(&result->z);
    11441139  if (SR_HDL(a) & SR_INT)
    11451140  {
     
    11551150  else
    11561151  {
     1152    result=(number)omAllocBin(rnumber_bin);
     1153    mpz_init(&result->z);
    11571154    mpz_gcd(&result->z,&a->z,&b->z);
    1158   }
    1159   result->s = 3;
    1160   if (mpz_size1(&result->z)<=MP_SMALL)
    1161   {
    1162     int ui=(int)mpz_get_si(&result->z);
    1163     if ((((ui<<3)>>3)==ui)
    1164     && (mpz_cmp_si(&result->z,(long)ui)==0))
    1165     {
    1166       mpz_clear(&result->z);
    1167       omFreeBin((ADDRESS)result, rnumber_bin);
    1168       result=INT_TO_SR(ui);
    1169     }
    1170   }
    1171 #ifdef LDEBUG
    1172   nlTest(result);
    1173 #endif
     1155    if (mpz_size1(&result->z)<=MP_SMALL)
     1156    {
     1157      int ui=(int)mpz_get_si(&result->z);
     1158      if ((((ui<<3)>>3)==ui)
     1159      && (mpz_cmp_si(&result->z,(long)ui)==0))
     1160      {
     1161        mpz_clear(&result->z);
     1162        omFreeBin((ADDRESS)result, rnumber_bin);
     1163        return INT_TO_SR(ui);
     1164      }
     1165    }
     1166    result->s = 3;
     1167  #ifdef LDEBUG
     1168    result->debug=123456;
     1169    nlTest(result);
     1170  #endif
     1171  }
    11741172  return result;
    11751173}
Note: See TracChangeset for help on using the changeset viewer.