Changeset 368dcf in git


Ignore:
Timestamp:
Apr 5, 2018, 2:00:05 PM (6 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
Children:
945ccc9d24666485bf37d032e929710f62e1063af2a4ddf13a67aded2d7eb6d181c2cfda9ceb300a
Parents:
3778c1cd47e473a481bc16cc58ccb6b1767bb99e9c2cf91f31b9174ec4735d6e2fab3ee8ed28b302
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2018-04-05 14:00:05+02:00
git-committer:
GitHub <noreply@github.com>2018-04-05 14:00:05+02:00
Message:
Merge pull request #864 from steenpass/preimage

include kernel/preimage.h in libsingular.h
Files:
1 deleted
26 edited

Legend:

Unmodified
Added
Removed
  • Makefile.am

    r9c2cf9 r368dcf  
    2020        if test -e $(srcdir)/doc/doc.tbz2; then\
    2121          (cat ${top_srcdir}/doc/doc.tbz2| (cd $(DESTDIR)$(datadir)/singular; tar jxf -));\
    22            mkdir $(DESTDIR)$(datadir)/info;\
     22           -mkdir $(DESTDIR)$(datadir)/info;\
     23           -mkdir $(DESTDIR)$(datadir)/doc;\
    2324           mv  $(DESTDIR)$(datadir)/singular/singular.hlp  $(DESTDIR)$(datadir)/info/.;\
     25           mv  $(DESTDIR)$(datadir)/singular/singular.idx  $(DESTDIR)$(datadir)/doc/.;\
    2426        fi
    2527
  • Singular/Makefile.am

    r9c2cf9 r368dcf  
    218218singularlibrarydir = ${datadir}/singular
    219219singularlibrary = $(SLIB0:%=LIB/%) $(SLIB1:%=LIB/%) $(PLIBS:%=LIB/%) $(SLIB2:%=LIB/%)
    220 singularlibrary_DATA = $(top_srcdir)/doc/singular.idx
    221220nobase_dist_singularlibrary_DATA = LIB/tst.lib LIB/help.cnf ${singularlibrary}
    222221EXTRA_DIST = grammar.y libparse.ll make_alllib.sh LIB/all.lib.tmpl \
    223222             singular-libs LIB/help.cnf LIB/.singularrc LIB/COPYING \
    224              links/slInit_Dynamic.cc ../doc/singular.idx
     223             links/slInit_Dynamic.cc
    225224
    226225singularalllibrarydir = ${datadir}/singular/LIB
  • Singular/ipassign.cc

    r9c2cf9 r368dcf  
    120120    currRing->ShortOut = shortOut;
    121121    coeffs cf = currRing->cf;
    122     while (nCoeff_is_Extension(cf)) {
     122    while (nCoeff_is_Extension(cf))
     123    {
    123124      cf->extRing->ShortOut = shortOut;
    124125      assume(cf->extRing != NULL);
     
    13571358  sleftv t;
    13581359  int i=0;
     1360  memset(&t,0,sizeof(sleftv));
    13591361  while (l!=NULL)
    13601362  {
    1361     memset(&t,0,sizeof(sleftv));
    13621363    t.rtyp=POLY_CMD;
    13631364    if (i>=IDELEMS(I))
     
    17371738  ld->e=l->e->next;
    17381739  BOOLEAN b;
     1740  sleftv tmp;
     1741  memset(&tmp,0,sizeof(sleftv));
    17391742  if (/*(ld->rtyp!=LIST_CMD)
    17401743  &&*/(ld->e==NULL)
    17411744  && (ld->Typ()!=r->Typ()))
    17421745  {
    1743     sleftv tmp;
    1744     memset(&tmp,0,sizeof(sleftv));
    17451746    tmp.rtyp=DEF_CMD;
    17461747    b=iiAssign(&tmp,r,FALSE);
     
    17521753  && (ld->Typ()<MAX_TOK))
    17531754  {
    1754     sleftv tmp;
    1755     memset(&tmp,0,sizeof(sleftv));
    17561755    tmp.rtyp=r->Typ();
    17571756    tmp.data=(char*)idrecDataInit(r->Typ());
  • Singular/libsingular.h

    r3778c1 r368dcf  
    1616#include "kernel/GBEngine/tgb.h"
    1717#include "kernel/maps/gen_maps.h"
     18#include "kernel/preimage.h"
    1819#include "polys/sparsmat.h"
    1920
  • Singular/misc_ip.cc

    r9c2cf9 r368dcf  
    880880              StringAppendS("KDEBUG,");
    881881#endif
     882              StringAppendS("\n\t");
    882883#ifdef __OPTIMIZE__
    883884              StringAppendS("CC:OPTIMIZE,");
     
    889890              StringAppendS("CC:NO_INLINE,");
    890891#endif
     892#ifdef HAVE_GENERIC_ADD
     893              StringAppendS("GenericAdd,");
     894#else
     895              StringAppendS("AvoidBranching,");
     896#endif
     897#ifdef HAVE_MULT_MOD
     898              StringAppendS("GenericMult,");
     899#else
     900              StringAppendS("TableMult,");
     901#endif
     902              StringAppendS("\n\t");
    891903#ifdef HAVE_EIGENVAL
    892904              StringAppendS("eigenvalues,");
  • doc/NEWS.texi

    r9c2cf9 r368dcf  
    2323New libraries:
    2424@itemize
    25 @item fpalgebras.lib: Generation of various algebras in the letterplace case
    26 (@nref{fpalgebras_lib})
     25@c @item fpalgebras.lib: Generation of various algebras in the letterplace case
     26@c (@nref{fpalgebras_lib})
    2727@end itemize
    2828
  • factory/ffops.h

    r9c2cf9 r368dcf  
    4040{
    4141    int n = a % ff_prime;
    42 #if defined(i386) || defined(NTL_AVOID_BRANCHING)
     42#if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING)
    4343    n += (n >> 31) & ff_prime;
    4444    return n;
     
    5252{
    5353    long n = a % ff_prime;
    54 #if defined(i386) || defined(NTL_AVOID_BRANCHING)
     54#if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING)
    5555    n += (n >> 31) & ff_prime;
    5656    return n;
     
    8080{
    8181    int n = (int)(a % (long)ff_prime);
    82 #if defined(i386) || defined(NTL_AVOID_BRANCHING)
     82#if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING)
    8383    n += (n >> 31) & ff_prime;
    8484    return n;
     
    9292{
    9393    int n = (int)(a % (FACTORY_INT64)ff_prime);
    94 #if defined(i386) || defined(NTL_AVOID_BRANCHING)
     94#if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING)
    9595    n += (n >> 31) & ff_prime;
    9696    return n;
     
    104104{
    105105    //return ff_norm( a + b );
    106 #if defined(i386) || defined(NTL_AVOID_BRANCHING)
     106#if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING)
    107107    int r=( a + b );
    108108    r -= ff_prime;
     
    119119{
    120120    //return ff_norm( a - b );
    121 #if defined(i386) || defined(NTL_AVOID_BRANCHING)
     121#if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING)
    122122    int r=( a - b );
    123123    r += (r >> 31) & ff_prime;
     
    134134    //return ff_norm( -a );
    135135// EXPERIMENT
    136 #if defined(i386) || defined(NTL_AVOID_BRANCHING)
     136#if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING)
    137137    int r= -a;
    138138    r += (r >> 31) & ff_prime;
  • kernel/GBEngine/test.cc

    r9c2cf9 r368dcf  
    4141#include "polys/clapsing.h"
    4242
    43 
    44 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    45 //extern "C" {void m2_end(int i){exit(i);}}
    46 
    47 // TODO: DUE to its use in kutil.cc :(((
    48 char * showOption(){return NULL;}
    4943
    5044#include "kernel/combinatorics/stairc.h"
  • kernel/combinatorics/test.cc

    r9c2cf9 r368dcf  
    5353
    5454
    55 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    56 extern "C" {void m2_end(int i){exit(i);}}
    57 
    58 // // TODO: DUE to its use in kutil.cc :(((
    59 // char * showOption(){return NULL;}
    60 
    61 
    6255// #include "structs.h"
    6356
  • kernel/fglm/test.cc

    r9c2cf9 r368dcf  
    5252#include "polys/clapsing.h"
    5353
    54 
    55 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    56 extern "C" {void m2_end(int i){exit(i);}}
    57 
    58 // // TODO: DUE to its use in kutil.cc :(((
    59 // char * showOption(){return NULL;}
    60 
    61 
    6254// #include "structs.h"
    6355
  • kernel/groebner_walk/test.cc

    r9c2cf9 r368dcf  
    5353
    5454
    55 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    56 extern "C" {void m2_end(int i){exit(i);}}
    57 
    58 // // TODO: DUE to its use in kutil.cc :(((
    59 // char * showOption(){return NULL;}
    60 
    61 
    6255// #include "structs.h"
    6356
  • kernel/ideals.cc

    r9c2cf9 r368dcf  
    18201820  {
    18211821    hh=idInit(1,1);
    1822     Werror("wrong algorith %d for SB",(int)alg);
     1822    Werror("wrong algorithm %d for SB",(int)alg);
    18231823  }
    18241824  //SI_RESTORE_OPT1(save1);
  • kernel/linear_algebra/test.cc

    r9c2cf9 r368dcf  
    5353
    5454
    55 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    56 extern "C" {void m2_end(int i){exit(i);}}
    57 
    58 // // TODO: DUE to its use in kutil.cc :(((
    59 // char * showOption(){return NULL;}
    60 
    61 
    6255// #include "structs.h"
    6356
  • kernel/maps/test.cc

    r9c2cf9 r368dcf  
    5353
    5454
    55 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    56 extern "C" {void m2_end(int i){exit(i);}}
    57 
    58 // // TODO: DUE to its use in kutil.cc :(((
    59 // char * showOption(){return NULL;}
    60 
    61 
    6255// #include "structs.h"
    6356
  • kernel/numeric/test.cc

    r9c2cf9 r368dcf  
    5353
    5454
    55 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    56 extern "C" {void m2_end(int i){exit(i);}}
    57 
    58 // // TODO: DUE to its use in kutil.cc :(((
    59 // char * showOption(){return NULL;}
    60 
    61 
    6255// #include "structs.h"
    6356
  • kernel/oswrapper/test.cc

    r9c2cf9 r368dcf  
    5353
    5454
    55 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    56 extern "C" {void m2_end(int i){exit(i);}}
    57 
    58 // // TODO: DUE to its use in kutil.cc :(((
    59 // char * showOption(){return NULL;}
    60 
    61 
    6255// #include "structs.h"
    6356
  • kernel/spectrum/test.cc

    r9c2cf9 r368dcf  
    5353
    5454
    55 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    56 extern "C" {void m2_end(int i){exit(i);}}
    57 
    58 // // TODO: DUE to its use in kutil.cc :(((
    59 // char * showOption(){return NULL;}
    60 
    61 
    6255// HEADERS:
    6356#include "kernel/ideals.h"
  • kernel/test.cc

    r9c2cf9 r368dcf  
    4545
    4646#include "polys/clapsing.h"
    47 
    48 
    49 // // TODO: DUE to the use of HALT in npolygon.cc :(((
    50 extern "C" {void m2_end(int i){exit(i);}}
    51 
    52 // // TODO: DUE to its use in kutil.cc :(((
    53 char * showOption(){return NULL;}
    54 
    55 // // TODO: DUE to its use in feread.cc :(((
    56 char *iiArithGetCmd(int nPos){return NULL; }
    57 
    5847
    5948#include "coeffs/numbers.h"
  • libpolys/coeffs/modulop.cc

    r9c2cf9 r368dcf  
    4141void    npCoeffWrite  (const coeffs r, BOOLEAN details);
    4242const char *  npRead  (const char *s, number *a,const coeffs r);
     43void nvInpMult(number &a, number b, const coeffs r);
    4344
    4445#ifdef LDEBUG
     
    9495  n_Test(c, r);
    9596  return c;
     97}
     98
     99void npInpMult (number &a,number b, const coeffs r)
     100{
     101  n_Test(a, r);
     102  n_Test(b, r);
     103
     104  if (((long)a == 0) || ((long)b == 0))
     105    a=(number)0;
     106  else
     107    a = npMultM(a,b, r);
     108  n_Test(a, r);
    96109}
    97110
     
    471484
    472485  r->cfMult  = npMult;
    473   r->cfInpMult  = npInpMultM;
     486  r->cfInpMult  = npInpMult;
    474487  r->cfSub   = npSubM;
    475488  r->cfAdd   = npAddM;
     
    509522  //r->cfName = ndName;
    510523  //r->cfInpMult=ndInpMult;
    511 #ifdef NV_OPS
    512   if (c>NV_MAX_PRIME)
    513   {
    514     r->cfMult  = nvMult;
    515     r->cfDiv   = nvDiv;
    516     r->cfExactDiv= nvDiv;
    517     r->cfInvers= nvInvers;
    518     //r->cfPower= nvPower;
    519     if (c>FACTORY_MAX_PRIME)
    520     {
    521       r->convSingNFactoryN=ndConvSingNFactoryN;
    522     }
    523   }
    524 #endif
     524  r->convSingNFactoryN=npConvSingNFactoryN;
     525  r->convFactoryNSingN=npConvFactoryNSingN;
     526  r->cfRandom=npRandom;
    525527#ifdef LDEBUG
    526528  // debug stuff
    527529  r->cfDBTest=npDBTest;
    528530#endif
    529 
    530   r->convSingNFactoryN=npConvSingNFactoryN;
    531   r->convFactoryNSingN=npConvFactoryNSingN;
    532 
    533   r->cfRandom=npRandom;
    534531
    535532  // io via ssi
     
    547544#endif
    548545  {
    549 #if !defined(HAVE_DIV_MOD) || !defined(HAVE_MULT_MOD)
    550     r->npExpTable=(unsigned short *)omAlloc( r->ch*sizeof(unsigned short) );
    551     r->npLogTable=(unsigned short *)omAlloc( r->ch*sizeof(unsigned short) );
     546#ifdef HAVE_DIV_MOD
     547    r->npInvTable=(unsigned short*)omAlloc0( r->ch*sizeof(unsigned short) );
     548#elif (!defined(HAVE_MULT_MOD)||(!HAVE_DIV_MOD))
     549    r->npExpTable=(unsigned short *)omAlloc0( r->ch*sizeof(unsigned short) );
     550    r->npLogTable=(unsigned short *)omAlloc0( r->ch*sizeof(unsigned short) );
    552551    r->npExpTable[0] = 1;
    553552    r->npLogTable[0] = 0;
     
    578577    }
    579578#endif
    580 #ifdef HAVE_DIV_MOD
    581     r->npInvTable=(unsigned short*)omAlloc0( r->ch*sizeof(unsigned short) );
    582 #endif
    583   }
     579  }
     580#ifdef NV_OPS
     581  else /*if (c>NV_MAX_PRIME)*/
     582  {
     583    r->cfMult  = nvMult;
     584    r->cfDiv   = nvDiv;
     585    r->cfExactDiv = nvDiv;
     586    r->cfInvers  = nvInvers;
     587    r->cfInpMult = nvInpMult;
     588    //r->cfPower= nvPower;
     589    //if (c>FACTORY_MAX_PRIME) // factory will catch this error
     590    //{
     591    //  r->convSingNFactoryN=ndConvSingNFactoryN;
     592    //}
     593  }
     594#endif
    584595  return FALSE;
    585596}
     
    780791}
    781792
    782 void   nvInpMult(number &a, number b, const coeffs r)
     793void nvInpMult(number &a, number b, const coeffs r)
    783794{
    784795  number n=nvMultM(a,b,r);
    785796  a=n;
    786797}
    787 
    788798
    789799static inline long nvInvMod(long a, const coeffs R)
  • libpolys/coeffs/modulop.h

    r9c2cf9 r368dcf  
    5656{
    5757  long x = (long)r->npLogTable[(long)a]+ r->npLogTable[(long)b];
    58   return (number)(long)r->npExpTable[x<r->npPminus1M ? x : x- r->npPminus1M];
     58  #ifdef HAVE_GENERIC_ADD
     59  if (x>r->npPminus1M) x-=r->npPminus1M;
     60  #else
     61    x-=r->npPminus1M;
     62    #if SIZEOF_LONG == 8
     63     x += (x >> 63) & r->npPminus1M;
     64    #else
     65     x += (x >> 31) & r->npPminus1M;
     66    #endif
     67  #endif
     68  return (number)(long)r->npExpTable[x];
    5969}
    6070static inline void npInpMultM(number &a, number b, const coeffs r)
    6171{
    6272  long x = (long)r->npLogTable[(long)a]+ r->npLogTable[(long)b];
    63   a=(number)(long)r->npExpTable[x<r->npPminus1M ? x : x- r->npPminus1M];
     73  #ifdef HAVE_GENERIC_ADD
     74  if (x>r->npPminus1M) x-=r->npPminus1M;
     75  #else
     76    x-=r->npPminus1M;
     77    #if SIZEOF_LONG == 8
     78     x += (x >> 63) & r->npPminus1M;
     79    #else
     80     x += (x >> 31) & r->npPminus1M;
     81    #endif
     82  #endif
     83  a=(number)(long)r->npExpTable[x];
    6484}
    6585#endif
  • libpolys/coeffs/numbers.cc

    r9c2cf9 r368dcf  
    145145BOOLEAN n_IsZeroDivisor( number a, const coeffs r)
    146146{
     147  BOOLEAN ret = n_IsZero(a, r);
    147148  int c = n_GetChar(r);
    148   BOOLEAN ret = n_IsZero(a, r);
    149   if( (c != 0) && !ret )
    150   {
    151     number ch = n_Init( c, r );
    152     number g = n_Gcd( ch, a, r );
    153     ret = !n_IsOne (g, r);
    154     n_Delete(&ch, r);
    155     n_Delete(&g, r);
    156   }
     149  if (ret || (c==0) || (r->is_field))
     150    return ret; /*n_IsZero(a, r)*/
     151  number ch = n_Init( c, r );
     152  number g = n_Gcd( ch, a, r );
     153  ret = !n_IsOne (g, r);
     154  n_Delete(&ch, r);
     155  n_Delete(&g, r);
    157156  return ret;
    158157}
  • libpolys/coeffs/rmodulo2m.cc

    r9c2cf9 r368dcf  
    2525#ifdef HAVE_RINGS
    2626
     27#ifdef LDEBUG
     28BOOLEAN nr2mDBTest(number a, const char *f, const int l, const coeffs r)
     29{
     30  if (((long)a<0L) || ((long)a>(long)r->mod2mMask))
     31  {
     32    Print("wrong mod 2^n number %ld at %s,%d\n",(long)a,f,l);
     33    return FALSE;
     34  }
     35  return TRUE;
     36}
     37#endif
     38
     39
    2740static inline number nr2mMultM(number a, number b, const coeffs r)
    2841{
    2942  return (number)
    30     ((((unsigned long) a) * ((unsigned long) b)) & ((unsigned long)r->mod2mMask));
     43    ((((unsigned long) a) * ((unsigned long) b)) & r->mod2mMask);
    3144}
    3245
     
    3447{
    3548  return (number)
    36     ((((unsigned long) a) + ((unsigned long) b)) & ((unsigned long)r->mod2mMask));
     49    ((((unsigned long) a) + ((unsigned long) b)) & r->mod2mMask);
    3750}
    3851
     
    4053{
    4154  return (number)((unsigned long)a < (unsigned long)b ?
    42                        r->mod2mMask - (unsigned long)b + (unsigned long)a + 1:
     55                       r->mod2mMask+1 - (unsigned long)b + (unsigned long)a:
    4356                       (unsigned long)a - (unsigned long)b);
    4457}
    4558
    46 #define nr2mNegM(A,r) (number)((r->mod2mMask - (unsigned long)(A) + 1) & r->mod2mMask)
     59#define nr2mNegM(A,r) (number)((r->mod2mMask+1 - (unsigned long)(A)) & r->mod2mMask)
    4760#define nr2mEqualM(A,B)  ((A)==(B))
    4861
     
    8295static coeffs nr2mQuot1(number c, const coeffs r)
    8396{
    84     coeffs rr;
    85     long ch = r->cfInt(c, r);
    86     mpz_t a,b;
    87     mpz_init_set(a, r->modNumber);
    88     mpz_init_set_ui(b, ch);
    89     mpz_ptr gcd;
    90     gcd = (mpz_ptr) omAlloc(sizeof(mpz_t));
    91     mpz_init(gcd);
    92     mpz_gcd(gcd, a,b);
    93     if(mpz_cmp_ui(gcd, 1) == 0)
    94         {
    95             WerrorS("constant in q-ideal is coprime to modulus in ground ring");
    96             WerrorS("Unable to create qring!");
    97             return NULL;
    98         }
    99     if(mpz_cmp_ui(gcd, 2) == 0)
     97  coeffs rr;
     98  long ch = r->cfInt(c, r);
     99  mpz_t a,b;
     100  mpz_init_set(a, r->modNumber);
     101  mpz_init_set_ui(b, ch);
     102  mpz_ptr gcd;
     103  gcd = (mpz_ptr) omAlloc(sizeof(mpz_t));
     104  mpz_init(gcd);
     105  mpz_gcd(gcd, a,b);
     106  if(mpz_cmp_ui(gcd, 1) == 0)
     107  {
     108    WerrorS("constant in q-ideal is coprime to modulus in ground ring");
     109    WerrorS("Unable to create qring!");
     110    return NULL;
     111  }
     112  if(mpz_cmp_ui(gcd, 2) == 0)
     113  {
     114    rr = nInitChar(n_Zp, (void*)2);
     115  }
     116  else
     117  {
     118    int kNew = 1;
     119    mpz_t baseTokNew;
     120    mpz_init(baseTokNew);
     121    mpz_set(baseTokNew, r->modBase);
     122    while(mpz_cmp(gcd, baseTokNew) > 0)
    100123    {
    101         rr = nInitChar(n_Zp, (void*)2);
     124      kNew++;
     125      mpz_mul(baseTokNew, baseTokNew, r->modBase);
    102126    }
    103     else
    104     {
    105         int kNew = 1;
    106         mpz_t baseTokNew;
    107         mpz_init(baseTokNew);
    108         mpz_set(baseTokNew, r->modBase);
    109         while(mpz_cmp(gcd, baseTokNew) > 0)
    110         {
    111           kNew++;
    112           mpz_mul(baseTokNew, baseTokNew, r->modBase);
    113         }
    114         mpz_clear(baseTokNew);
    115         rr = nInitChar(n_Z2m, (void*)(long)kNew);
    116     }
    117     return(rr);
     127    mpz_clear(baseTokNew);
     128    rr = nInitChar(n_Z2m, (void*)(long)kNew);
     129  }
     130  return(rr);
    118131}
    119132
     
    131144static number nr2mMult(number a, number b, const coeffs r)
    132145{
     146  number n;
    133147  if (((unsigned long)a == 0) || ((unsigned long)b == 0))
    134148    return (number)0;
    135149  else
    136     return nr2mMultM(a, b, r);
     150    n=nr2mMultM(a, b, r);
     151  n_Test(n,r);
     152  return n;
    137153}
    138154
     
    340356static long nr2mInt(number &n, const coeffs r)
    341357{
    342   unsigned long nn = (unsigned long)(unsigned long)n & r->mod2mMask;
     358  unsigned long nn = (unsigned long)n;
    343359  unsigned long l = r->mod2mMask >> 1; l++; /* now: l = 2^(m-1) */
    344360  if ((unsigned long)nn > l)
     
    350366static number nr2mAdd(number a, number b, const coeffs r)
    351367{
    352   return nr2mAddM(a, b, r);
     368  number n=nr2mAddM(a, b, r);
     369  n_Test(n,r);
     370  return n;
    353371}
    354372
    355373static number nr2mSub(number a, number b, const coeffs r)
    356374{
    357   return nr2mSubM(a, b, r);
     375  number n=nr2mSubM(a, b, r);
     376  n_Test(n,r);
     377  return n;
    358378}
    359379
     
    411431    }
    412432  }
    413   return (number)nr2mMult(a, nr2mInversM(b,r),r);
     433  number n=(number)nr2mMult(a, nr2mInversM(b,r),r);
     434  n_Test(n,r);
     435  return n;
    414436}
    415437
     
    578600{
    579601  if ((unsigned long)c == 0) return c;
    580   return nr2mNegM(c, r);
     602  number n=nr2mNegM(c, r);
     603  n_Test(n,r);
     604  return n;
    581605}
    582606
    583607static number nr2mMapMachineInt(number from, const coeffs /*src*/, const coeffs dst)
    584608{
    585   unsigned long i = ((unsigned long)from) % dst->mod2mMask ;
     609  unsigned long i = ((unsigned long)from) % (dst->mod2mMask + 1) ;
    586610  return (number)i;
    587611}
     
    711735    WarnS("nr2mInitExp unexpectedly called with m = 1 (we continue with Z/2^2");
    712736}
    713 
    714 #ifdef LDEBUG
    715 static BOOLEAN nr2mDBTest (number a, const char *, const int, const coeffs r)
    716 {
    717   //if ((unsigned long)a < 0) return FALSE; // is unsigned!
    718   if (((unsigned long)a & r->mod2mMask) != (unsigned long)a) return FALSE;
    719   return TRUE;
    720 }
    721 #endif
    722737
    723738static void nr2mWrite (number a, const coeffs r)
  • libpolys/polys/monomials/p_polys.cc

    r9c2cf9 r368dcf  
    36453645    if (increment>0)
    36463646    {
    3647       //for (i=l; i<l+increment; i++)
    3648       //  h[i]=NULL;
    36493647      memset(&(h[l]),0,increment*sizeof(poly));
    36503648    }
  • libpolys/polys/templates/p_Numbers.h

    r9c2cf9 r368dcf  
    5555#define n_Neg_RingGeneral(n, r)            n_Neg_FieldGeneral(n, r)
    5656#define n_Sub_RingGeneral(n1, n2, r)       n_Sub_FieldGeneral(n1, n2, r)
    57 //#define n_InpMult_RingGeneral(n1, n2, r)   n_InpMult_FieldGeneral(n1, n2, r)
    5857#define n_InpMult_RingGeneral(n1, n2, r)   n_InpMult_FieldGeneral(n1, n2, r)
    5958
     
    104103
    105104static FORCE_INLINE void n_InpMult_FieldZp(number &n1, number n2, const coeffs r)
    106 { STATISTIC(n_InpMult); n1=npMultM(n1, n2, r);  }
     105{ STATISTIC(n_InpMult); npInpMultM(n1, n2, r);  }
    107106
    108107#ifdef HAVE_NUMSTATS
  • omalloc/omDebugCheck.c

    r9c2cf9 r368dcf  
    410410  om_CallErrorHook = 1;
    411411
    412   _omPrintAddrInfo(stderr, error, addr, bin_size, flags, 10, " occurred for");
     412  if ((error!=omError_NotBinAddr)&&(error!=omError_FreedAddr))
     413    _omPrintAddrInfo(stderr, error, addr, bin_size, flags, 10, " occurred for");
    413414  om_Opts.ErrorHook();
    414415
Note: See TracChangeset for help on using the changeset viewer.