Changeset f7e671 in git for libpolys


Ignore:
Timestamp:
Nov 24, 2022, 2:36:42 PM (16 months ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
Children:
003f7169c5475df2e586ea9697de3901110b362d
Parents:
d65cbb52476edc058eb3eb9d38c122de988f2c4c
Message:
some fixes for rintegers3
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/rintegers3.cc

    rd65cbb5 rf7e671  
    5353  StringAppendS(")");
    5454#endif
     55  nrzTest(x);
    5556  return x;
    5657}
    5758
    5859
    59 static int nrzSize(number a, const coeffs)
     60int nrzSize(number a, const coeffs)
    6061{
    6162  if (a==INT_TO_SR(0)) return 0;
     
    141142}
    142143
    143 
    144144static long int_gcd(long a, long b)
    145145{
     
    155155    b = r;
    156156  } while (b);
    157   return ABS(a); // % in c doeas not imply a signn
     157  return ABS(a); // % in C does not imply a sign
    158158                 // it would be unlikely to see a negative here
    159159                 // but who knows
     
    195195    }
    196196  }
     197  nrzTest((number)erg);
    197198  return (number) erg;
    198199}
     
    203204  mpz_ptr erg = (mpz_ptr) omAllocBin(gmp_nrz_bin);
    204205  mpz_init_set(erg, (mpz_ptr) a);
     206  nrzTest((number)erg);
    205207  return (number) erg;
    206208}
     
    236238    mpz_init(erg);
    237239    mpz_gcd(erg, (mpz_ptr) a, (mpz_ptr) b);
     240    nrzTest((number)erg);
    238241    return (number) erg;
    239242  }
     
    489492    mpz_clear(rr);
    490493  }
    491   qq=nrz_short(qq);
    492   nrzTest((number)qq);
    493   return (number) qq;
     494  number res=nrz_short((number)qq);
     495  nrzTest(res);
     496  return res;
    494497}
    495498
     
    526529
    527530
    528 static void nrzDelete(number *a, const coeffs)
     531void nrzDelete(number *a, const coeffs)
    529532{
    530533  if (*a == NULL) return;
     
    742745}
    743746
    744 static number nrzDiv (number a,number b, const coeffs)
     747static number nrzDiv (number a,number b, const coeffs cf)
    745748{
    746749  assume(SR_TO_INT(b));
    747   if (nrzIsZero(b))
     750  if (nrzIsZero(b,cf))
    748751  {
    749752    WerrorS(nDivBy0);
     
    812815}
    813816
    814 static number nrzExactDiv (number a,number b, const coeffs)
     817static number nrzExactDiv (number a,number b, const coeffs cf)
    815818{
    816819  assume(SR_TO_INT(b));
    817820  mpz_t aa, bb;
    818   if (nrzIsZero(b))
     821  if (nrzIsZero(b,cf))
    819822  {
    820823    WerrorS(nDivBy0);
     
    834837  mpz_clear(aa);
    835838  mpz_clear(bb);
    836   nrzTest((number)erg);
    837   return (number) erg;
     839  return nrz_short((number) erg);
    838840}
    839841
     
    950952  nrzDelete(&a1, R);
    951953  nrzDelete(&b1, R);
     954  nrzTest(ab);
    952955  return ab;
    953956}
     
    10131016}
    10141017
    1015 
    1016 /*
    1017  * set the exponent (allocate and init tables) (TODO)
    1018  */
    1019 
    1020 void nrzSetExp(int, coeffs)
    1021 {
    1022 }
    1023 
    1024 void nrzInitExp(int, coeffs)
    1025 {
    1026 }
    10271018
    10281019#ifdef LDEBUG
     
    11541145  else
    11551146    mpz_init_set(res, (mpz_ptr) a);
     1147}
     1148
     1149static number nrzEucNorm (number a, const coeffs )
     1150{
     1151  if (n_Z_IS_SMALL(a))
     1152  {
     1153    long aa=ABS(SR_TO_INT(a));
     1154    return INT_TO_SR(aa);
     1155  }
     1156  else
     1157  {
     1158    mpz_ptr abs = (mpz_ptr) omAllocBin(gmp_nrz_bin);
     1159    mpz_init(abs);
     1160    mpz_abs(abs, (mpz_ptr)a);
     1161    nrzTest((number)abs);
     1162    return (number) abs;
     1163  }
    11561164}
    11571165
     
    12081216  r->cfXExtGcd = nrzXExtGcd; // only for ring stuff
    12091217  r->cfEucNorm = nrzEucNorm;
    1210   r->cfQuotRem = nrzSmallestQuotRem;
     1218  r->cfQuotRem = nrzQuotRem;
    12111219  r->cfDivBy = nrzDivBy; // only for ring stuff
    12121220  //#endif
Note: See TracChangeset for help on using the changeset viewer.