Changeset 3f7f11 in git


Ignore:
Timestamp:
Dec 3, 2016, 4:17:38 PM (7 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'd08f5f0bb3329b8ca19f23b74cb1473686415c3a')
Children:
61e85543ff6e6160d3d8c6b8fba50eb327f41679
Parents:
87c92569b5cb08198bbc37755a5a4fc03754d205
Message:
add: nrnCoeffName for rmodulon.cc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/coeffs/rmodulon.cc

    r87c925 r3f7f11  
    8686  omFreeSize((ADDRESS)s, l);
    8787}
     88
     89static char* nrnCoeffName_buff=NULL;
     90static char* nrnCoeffName(const coeffs r)
     91{
     92  if(nrnCoeffName_buff==NULL) omFree(nrnCoeffName_buff);
     93  size_t l = (size_t)mpz_sizeinbase(r->modBase, 10) + 2;
     94  nrnCoeffName_buff=(char*)omAlloc(l+6);
     95  char* s = (char*) omAlloc(l);
     96  s= mpz_get_str (s, 10, r->modBase);
     97  if (nCoeff_is_Ring_ModN(r))
     98    snprintf(nrnCoeffName_buff,l+6,"ZZ/%s",s);
     99  else if (nCoeff_is_Ring_PtoM(r))
     100    snprintf(nrnCoeffName_buff,l+6,"ZZ/%s^lu",s,r->modExponent);
     101  omFreeSize((ADDRESS)s, l);
     102  return nrnCoeffName_buff;
     103}
     104
    88105
    89106static BOOLEAN nrnCoeffsEqual(const coeffs r, n_coeffType n, void * parameter)
     
    214231  r->cfXExtGcd     = nrnXExtGcd;
    215232  r->cfQuotRem     = nrnQuotRem;
     233  r->cfCoeffName   = nrnCoeffName;
    216234  r->cfCoeffWrite  = nrnCoeffWrite;
    217235  r->nCoeffIsEqual = nrnCoeffsEqual;
Note: See TracChangeset for help on using the changeset viewer.