Changeset ab1c36 in git


Ignore:
Timestamp:
Feb 28, 2009, 12:49:05 PM (14 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '828514cf6e480e4bafc26df99217bf2a1ed1ef45')
Children:
4e35c764980400902281d4a110155ff73cfed41c
Parents:
8066e80d7cea5de772f7b10b2b1930521cb72523
Message:
*hannes: no-norm in NF


git-svn-id: file:///usr/local/Singular/svn/trunk@11497 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
kernel
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/kstd2.cc

    r8066e80 rab1c36  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: kstd2.cc,v 1.81 2009-02-27 15:51:28 Singular Exp $ */
     4/* $Id: kstd2.cc,v 1.82 2009-02-28 11:49:05 Singular Exp $ */
    55/*
    66*  ABSTRACT -  Kernel: alg. of Buchberger
     
    788788*/
    789789
    790 poly redNF (poly h,int &max_ind,kStrategy strat)
     790poly redNF (poly h,int &max_ind,int nonorm,kStrategy strat)
    791791{
    792792  if (h==NULL) return NULL;
     
    815815      {
    816816#endif
    817       int sl=pSize(strat->S[j]);
    818       int jj=j;
    819       loop
    820       {
    821         int sll;
    822         jj=kFindNextDivisibleByInS(strat,jj+1,max_ind,&P);
    823         if (jj<0) break;
    824         sll=pSize(strat->S[jj]);
    825         if (sll<sl)
     817        int sl=pSize(strat->S[j]);
     818        int jj=j;
     819        loop
    826820        {
    827           if (!nIsOne(pGetCoeff(strat->S[j])))
    828           {
    829             pNorm(strat->S[j]);
    830             //if (TEST_OPT_PROT) { PrintS("n"); mflush(); }
    831             sl=pSize(strat->S[j]);
    832           }
    833           if (!nIsOne(pGetCoeff(strat->S[jj])))
    834           {
    835             pNorm(strat->S[jj]);
    836             //if (TEST_OPT_PROT) { PrintS("n"); mflush(); }
    837             sll=pSize(strat->S[jj]);
    838           }
     821          int sll;
     822          jj=kFindNextDivisibleByInS(strat,jj+1,max_ind,&P);
     823          if (jj<0) break;
     824          sll=pSize(strat->S[jj]);
    839825          if (sll<sl)
    840826          {
     
    847833          }
    848834        }
    849       }
    850       if (!nIsOne(pGetCoeff(strat->S[j])))
    851       {
    852         pNorm(strat->S[j]);
    853         //if (TEST_OPT_PROT) { PrintS("n"); mflush(); }
    854       }
     835        if (!nonorm && !nIsOne(pGetCoeff(strat->S[j])))
     836        {
     837          pNorm(strat->S[j]);
     838          //if (TEST_OPT_PROT) { PrintS("n"); mflush(); }
     839        }
    855840#ifdef HAVE_RINGS
    856841      }
     
    12301215  if (TEST_OPT_PROT) { PrintS("r"); mflush(); }
    12311216  int max_ind;
    1232   p = redNF(pCopy(q),max_ind,strat);
     1217  p = redNF(pCopy(q),max_ind,lazyReduce & KSTD_NF_NONORM,strat);
    12331218  if ((p!=NULL)&&((lazyReduce & KSTD_NF_LAZY)==0))
    12341219  {
     
    12921277    {
    12931278      if (TEST_OPT_PROT) { PrintS("r");mflush(); }
    1294       p = redNF(pCopy(q->m[i]),max_ind,strat);
     1279      p = redNF(pCopy(q->m[i]),max_ind,lazyReduce & KSTD_NF_NONORM,strat);
    12951280      if ((p!=NULL)&&((lazyReduce & KSTD_NF_LAZY)==0))
    12961281      {
  • kernel/kutil.h

    r8066e80 rab1c36  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: kutil.h,v 1.41 2009-02-22 17:37:55 Singular Exp $ */
     6/* $Id: kutil.h,v 1.42 2009-02-28 11:49:04 Singular Exp $ */
    77/*
    88* ABSTRACT: kernel: utils for kStd
     
    406406poly redtail (poly p,int pos,kStrategy strat);
    407407poly redtail (LObject *L,int pos,kStrategy strat);
    408 poly redNF (poly h,int & max_ind,kStrategy strat);
     408poly redNF (poly h,int & max_ind,int nonorm,kStrategy strat);
    409409int redNF0 (LObject *P,kStrategy strat);
    410410poly redNFTail (poly h,const int sl,kStrategy strat);
Note: See TracChangeset for help on using the changeset viewer.