Changeset 19ee5eb in git for libpolys/coeffs/rmodulon.cc


Ignore:
Timestamp:
Feb 1, 2021, 1:32:52 PM (3 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
Children:
4218c13e2434358d0a056b78d0a40377a11bcdb1
Parents:
f60ab1f6c47a09dc3472f9d3cabd270622c46327
Message:
fix: division by 0: return 0, not NULL
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/rmodulon.cc

    rf60ab1 r19ee5eb  
    248248  mpz_ptr erg = (mpz_ptr)omAllocBin(gmp_nrz_bin);
    249249  mpz_init(erg);
    250   mpz_invert(erg, (mpz_ptr)c, r->modNumber);
     250  if (nrnIsZero(c,r))
     251  {
     252    WerrorS(nDivBy0);
     253  }
     254  else
     255  {
     256    mpz_invert(erg, (mpz_ptr)c, r->modNumber);
     257  }
    251258  return (number) erg;
    252259}
     
    547554static number nrnDiv(number a, number b, const coeffs r)
    548555{
    549   if (r->is_field)
     556  if (nrnIsZero(b,r))
     557  {
     558    WerrorS(nDivBy0);
     559    return nrnInit(0,r);
     560  }
     561  else if (r->is_field)
    550562  {
    551563    number inv=nrnInvers(b,r);
     
    613625  omFreeBin(g, gmp_nrz_bin);
    614626  return (number)rr;
    615 }
    616 
    617 static number nrnIntDiv(number a, number b, const coeffs r)
    618 {
    619   mpz_ptr erg = (mpz_ptr)omAllocBin(gmp_nrz_bin);
    620   mpz_init(erg);
    621   mpz_tdiv_q(erg, (mpz_ptr)a, (mpz_ptr)b);
    622   return (number)erg;
    623627}
    624628
Note: See TracChangeset for help on using the changeset viewer.