Changeset bef194 in git
- Timestamp:
- Dec 18, 2000, 2:30:39 PM (22 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '00e2e9c41af3fde1273eb3633f4c0c7c3db2579d')
- Children:
- 64b116830d916500b5f224c29ed87bb214f3c975
- Parents:
- 35f23db1d98503370c2432aebc628c69b0560444
- Location:
- Singular
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/configure
r35f23d rbef194 600 600 SINGULAR_MAJOR_VERSION=${SINGULAR_MAJOR_VERSION:-1} 601 601 SINGULAR_MINOR_VERSION=${SINGULAR_MINOR_VERSION:-3} 602 SINGULAR_SUB_VERSION=${SINGULAR_SUB_VERSION:-1 0}602 SINGULAR_SUB_VERSION=${SINGULAR_SUB_VERSION:-11} 603 603 SINGULAR_VERSION="${SINGULAR_VERSION:-$SINGULAR_MAJOR_VERSION${VERSION_SEP}$SINGULAR_MINOR_VERSION${VERSION_SEP}$SINGULAR_SUB_VERSION}" 604 VERSION_DATE=${VERSION_DATE:-" November 2000"}604 VERSION_DATE=${VERSION_DATE:-"December 2000"} 605 605 606 606 -
Singular/configure.in
r35f23d rbef194 48 48 SINGULAR_MAJOR_VERSION=${SINGULAR_MAJOR_VERSION:-1} 49 49 SINGULAR_MINOR_VERSION=${SINGULAR_MINOR_VERSION:-3} 50 SINGULAR_SUB_VERSION=${SINGULAR_SUB_VERSION:-1 0}50 SINGULAR_SUB_VERSION=${SINGULAR_SUB_VERSION:-11} 51 51 SINGULAR_VERSION="${SINGULAR_VERSION:-$SINGULAR_MAJOR_VERSION${VERSION_SEP}$SINGULAR_MINOR_VERSION${VERSION_SEP}$SINGULAR_SUB_VERSION}" 52 VERSION_DATE=${VERSION_DATE:-" November 2000"}52 VERSION_DATE=${VERSION_DATE:-"December 2000"} 53 53 54 54 dnl pass them on into the Makefiles -
Singular/kstd1.cc
r35f23d rbef194 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: kstd1.cc,v 1.7 2 2000-12-15 11:33:58obachman Exp $ */4 /* $Id: kstd1.cc,v 1.73 2000-12-18 13:30:35 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: … … 41 41 |Sy_bit(OPT_SUGARCRIT) /* 5 */ 42 42 |Sy_bit(OPT_REDTHROUGH) 43 |Sy_bit(OPT_OLDSTD) 43 44 |Sy_bit(OPT_FASTHC) /* 10 */ 44 45 |Sy_bit(OPT_KEEPVARS) /* 21 */ … … 70 71 |Sy_bit(18) 71 72 |Sy_bit(19) 72 // |Sy_bit(20) obachman 11/00 tossed 73 // |Sy_bit(20) obachman 11/00 tossed: 12/00 used for redOldStd 74 |Sy_bit(OPT_OLDSTD) 73 75 |Sy_bit(21) 74 76 |Sy_bit(22) … … 225 227 226 228 // end of search: have to reduce with pi 227 if ( ei > h->ecart)229 if (!K_TEST_OPT_REDTHROUGH && ei > h->ecart) 228 230 { 229 231 // It is not possible to reduce h with smaller ecart; … … 298 300 *-if the number of pre-defined reductions jumps 299 301 */ 300 if ( (strat->Ll >= 0)302 if (!K_TEST_OPT_REDTHROUGH && (strat->Ll >= 0) 301 303 && ((d >= reddeg) || (pass > strat->LazyPass))) 302 304 { … … 401 403 if (!strat->homog) 402 404 { 403 #ifndef HAVE_OLD_STD 404 if (strat->honey) 405 if (!K_TEST_OPT_OLDSTD && strat->honey) 405 406 { 406 407 h->SetpFDeg(); … … 413 414 } 414 415 else 415 #endif 416 d = h->SetDegStuffReturnLDeg(strat->LDegLast); 416 d = h->SetDegStuffReturnLDeg(strat->LDegLast); 417 417 /*- try to reduce the s-polynomial -*/ 418 418 pass++; … … 422 422 *-if the number of pre-defined reductions jumps 423 423 */ 424 if ( (strat->Ll >= 0)424 if (!K_TEST_OPT_REDTHROUGH && (strat->Ll >= 0) 425 425 && ((d >= reddeg) || (pass > strat->LazyPass))) 426 426 { … … 1071 1071 int olddeg = 0; 1072 1072 int reduc = 0; 1073 int red_result = 1; 1073 1074 int hilbeledeg=1,hilbcount=0; 1074 1075 … … 1174 1175 // might be NULL from noether !!! 1175 1176 if (TEST_OPT_PROT) 1176 message(strat->P.ecart+strat->P.GetpFDeg(),&olddeg,&reduc,strat );1177 message(strat->P.ecart+strat->P.GetpFDeg(),&olddeg,&reduc,strat, red_result); 1177 1178 // reduce 1178 strat->red(&strat->P,strat);1179 red_result = strat->red(&strat->P,strat); 1179 1180 } 1180 1181 … … 1552 1553 kStrategy strat=new skStrategy; 1553 1554 1554 #ifdef HAVE_OLD_STD1555 test &= ~Sy_bit(OPT_REDTHROUGH);1556 #endif1557 1558 1555 if(!TEST_OPT_RETURN_SB) 1559 1556 strat->syzComp = syzComp; -
Singular/kstd2.cc
r35f23d rbef194 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: kstd2.cc,v 1.6 7 2000-12-14 16:38:51obachman Exp $ */4 /* $Id: kstd2.cc,v 1.68 2000-12-18 13:30:36 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT - Kernel: alg. of Buchberger … … 203 203 /*- try to reduce the s-polynomial -*/ 204 204 pass++; 205 if ((strat->Ll >= 0) && ((d > reddeg) || (pass > strat->LazyPass))) 205 if (!K_TEST_OPT_REDTHROUGH && 206 (strat->Ll >= 0) && ((d > reddeg) || (pass > strat->LazyPass))) 206 207 { 207 208 h->SetLmCurrRing(); … … 282 283 * end of search: have to reduce with pi 283 284 */ 284 if (! TEST_OPT_REDTHROUGH && (pass!=0) && (ei > h->ecart))285 if (!K_TEST_OPT_REDTHROUGH && (pass!=0) && (ei > h->ecart)) 285 286 { 286 287 h->SetLmCurrRing(); … … 352 353 pass++; 353 354 d = h_d + h->ecart; 354 if (! TEST_OPT_REDTHROUGH && (strat->Ll >= 0) && ((d > reddeg) || (pass > strat->LazyPass)))355 if (!K_TEST_OPT_REDTHROUGH && (strat->Ll >= 0) && ((d > reddeg) || (pass > strat->LazyPass))) 355 356 { 356 357 h->SetLmCurrRing(); … … 494 495 #endif 495 496 om_Opts.MinTrack = 5; 496 int srmax,lrmax, red_result ;497 int srmax,lrmax, red_result = 1; 497 498 int olddeg,reduc; 498 499 int hilbeledeg=1,hilbcount=0,minimcnt=0; … … 513 514 514 515 // redtailBBa against T for inhomogenous input 515 #ifndef HAVE_OLD_STD 516 withT = ! strat->homog; 517 #endif 516 if (!K_TEST_OPT_OLDSTD) 517 withT = ! strat->homog; 518 518 519 // strat->posInT = posInT_pLength; 519 520 kTest_TS(strat); 520 521 … … 578 579 if (TEST_OPT_PROT) 579 580 message((strat->honey ? strat->P.ecart : 0) + strat->P.pFDeg(), 580 &olddeg,&reduc,strat );581 &olddeg,&reduc,strat, red_result); 581 582 582 583 /* reduction of the element choosen from L */ -
Singular/kstdfac.cc
r35f23d rbef194 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: kstdfac.cc,v 1.4 7 2000-11-09 16:32:51obachman Exp $ */4 /* $Id: kstdfac.cc,v 1.48 2000-12-18 13:30:36 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT - Kernel: factorizing alg. of Buchberger … … 460 460 { 461 461 int srmax,lrmax; 462 int olddeg,reduc ;463 462 int olddeg,reduc=0; 463 int red_result = 1; 464 464 srmax = strat->sl; 465 465 reduc = olddeg = lrmax = 0; … … 504 504 { 505 505 if (TEST_OPT_PROT) 506 message(strat->P.ecart+pFDeg(strat->P.p),&olddeg,&reduc,strat );506 message(strat->P.ecart+pFDeg(strat->P.p),&olddeg,&reduc,strat, red_result); 507 507 } 508 508 else 509 509 { 510 510 if (TEST_OPT_PROT) 511 message(pFDeg(strat->P.p),&olddeg,&reduc,strat );511 message(pFDeg(strat->P.p),&olddeg,&reduc,strat, red_result); 512 512 } 513 513 /* reduction of the element choosen from L */ 514 514 kTest_TS(strat); 515 strat->red(&strat->P,strat);515 red_result = strat->red(&strat->P,strat); 516 516 if (strat->P.p != NULL) 517 517 { -
Singular/kutil.cc
r35f23d rbef194 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: kutil.cc,v 1.8 3 2000-12-14 16:38:51obachman Exp $ */4 /* $Id: kutil.cc,v 1.84 2000-12-18 13:30:37 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: kernel: utils for kStd … … 1886 1886 } 1887 1887 1888 // determines the position based on: 1.) Ecart 2.) FDeg 3.) pLength 1889 int posInT_EcartFDegpLength(const TSet set,const int length,const LObject &p) 1890 { 1891 1892 if (length==-1) return 0; 1893 1894 int o = p.ecart; 1895 int op=p.GetpFDeg(); 1896 int ol = p.GetpLength(); 1897 1898 if (set[length].ecart < o) 1899 return length+1; 1900 if (set[length].ecart == o) 1901 { 1902 int oo=set[length].GetpFDeg(); 1903 if ((oo < op) || ((oo==op) && (set[length].length < ol))) 1904 return length+1; 1905 } 1906 1907 int i; 1908 int an = 0; 1909 int en= length; 1910 loop 1911 { 1912 if (an >= en-1) 1913 { 1914 if (set[an].ecart > o) 1915 return an; 1916 if (set[an].ecart == o) 1917 { 1918 int oo=set[an].GetpFDeg(); 1919 if((oo > op) 1920 || ((oo==op) && (set[an].pLength > ol))) 1921 return an; 1922 } 1923 return en; 1924 } 1925 i=(an+en) / 2; 1926 if (set[i].ecart > o) 1927 en=i; 1928 else if (set[i].ecart == o) 1929 { 1930 int oo=set[i].GetpFDeg(); 1931 if ((oo > op) 1932 || ((oo == op) && (set[i].pLength > ol))) 1933 en=i; 1934 else 1935 an=i; 1936 } 1937 else 1938 an=i; 1939 } 1940 } 1941 1942 // determines the position based on: 1.) FDeg 2.) pLength 1943 int posInT_FDegpLength(const TSet set,const int length,const LObject &p) 1944 { 1945 1946 if (length==-1) return 0; 1947 1948 int op=p.GetpFDeg(); 1949 int ol = p.GetpLength(); 1950 1951 int oo=set[length].GetpFDeg(); 1952 if ((oo < op) || ((oo==op) && (set[length].length < ol))) 1953 return length+1; 1954 1955 int i; 1956 int an = 0; 1957 int en= length; 1958 loop 1959 { 1960 if (an >= en-1) 1961 { 1962 int oo=set[an].GetpFDeg(); 1963 if((oo > op) 1964 || ((oo==op) && (set[an].pLength > ol))) 1965 return an; 1966 return en; 1967 } 1968 i=(an+en) / 2; 1969 int oo=set[i].GetpFDeg(); 1970 if ((oo > op) 1971 || ((oo == op) && (set[i].pLength > ol))) 1972 en=i; 1973 else 1974 an=i; 1975 } 1976 } 1977 1978 // determines the position based on: 1.) Ecart 2.) pLength 1979 int posInT_EcartpLength(const TSet set,const int length,const LObject &p) 1980 { 1981 if (length==-1) return 0; 1982 1983 int op=p.ecart; 1984 int ol = p.GetpLength(); 1985 1986 int oo=set[length].ecart; 1987 if ((oo < op) || ((oo==op) && (set[length].length < ol))) 1988 return length+1; 1989 1990 int i; 1991 int an = 0; 1992 int en= length; 1993 loop 1994 { 1995 if (an >= en-1) 1996 { 1997 int oo=set[an].ecart; 1998 if((oo > op) 1999 || ((oo==op) && (set[an].pLength > ol))) 2000 return an; 2001 return en; 2002 } 2003 i=(an+en) / 2; 2004 int oo=set[i].ecart; 2005 if ((oo > op) 2006 || ((oo == op) && (set[i].pLength > ol))) 2007 en=i; 2008 else 2009 an=i; 2010 } 2011 } 2012 2013 // determines the position based on: 1.) Ecart 2.) FDeg 3.) pLength 2014 int posInT_pLength(const TSet set,const int length,const LObject &p) 2015 { 2016 if (length==-1) 2017 return 0; 2018 if (set[length].length<p.length) 2019 return length+1; 2020 2021 int i; 2022 int an = 0; 2023 int en= length; 2024 int ol = p.GetpLength(); 2025 2026 loop 2027 { 2028 if (an >= en-1) 2029 { 2030 if (set[an].pLength>ol) return an; 2031 return en; 2032 } 2033 i=(an+en) / 2; 2034 if (set[i].pLength>ol) en=i; 2035 else an=i; 2036 } 2037 } 2038 1888 2039 /*2 1889 2040 * looks up the position of p in set … … 2810 2961 *checks the change degree and write progress report 2811 2962 */ 2812 void message (int i,int* reduc,int* olddeg,kStrategy strat )2963 void message (int i,int* reduc,int* olddeg,kStrategy strat, int red_result) 2813 2964 { 2814 2965 if (i != *olddeg) … … 2817 2968 *olddeg = i; 2818 2969 } 2819 if (strat->Ll != *reduc) 2820 { 2821 if (strat->Ll != *reduc-1) 2822 Print("(%d)",strat->Ll+1); 2970 if (K_TEST_OPT_OLDSTD) 2971 { 2972 if (strat->Ll != *reduc) 2973 { 2974 if (strat->Ll != *reduc-1) 2975 Print("(%d)",strat->Ll+1); 2976 else 2977 PrintS("-"); 2978 *reduc = strat->Ll; 2979 } 2823 2980 else 2981 PrintS("."); 2982 mflush(); 2983 } 2984 else 2985 { 2986 if (red_result == 0) 2824 2987 PrintS("-"); 2825 *reduc = strat->Ll; 2826 } 2827 else 2828 PrintS("."); 2829 mflush(); 2988 else if (red_result < 0) 2989 PrintS("."); 2990 else 2991 { 2992 if (strat->Ll != *reduc) 2993 { 2994 Print("(%d)",strat->Ll+1); 2995 *reduc = strat->Ll; 2996 } 2997 } 2998 } 2830 2999 } 2831 3000 -
Singular/kutil.h
r35f23d rbef194 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: kutil.h,v 1.4 7 2000-12-14 16:38:52obachman Exp $ */6 /* $Id: kutil.h,v 1.48 2000-12-18 13:30:38 obachman Exp $ */ 7 7 /* 8 8 * ABSTRACT: kernel: utils for kStd … … 16 16 #include "omalloc.h" 17 17 #include "ring.h" 18 #include "tok.h" 18 19 #include "pShallowCopyDelete.h" 19 20 … … 21 22 22 23 // define if you want std computations as in Singular version < 2 23 // This disbales RedThrough and tailReductions against T 24 #define HAVE_OLD_STD 24 // This disbales RedThrough, tailReductions against T (bba), 25 // sets posInT = posInT15 (bba, strat->honey), and enables redFirst with LDeg 26 #define HAVE_OLD_STD 27 28 #ifdef HAVE_OLD_STD 29 #define K_TEST_OPT_REDTHROUGH 0 30 #define K_TEST_OPT_OLDSTD 1 31 #else 32 #define K_TEST_OPT_REDTHROUGH TEST_OPT_REDTHROUGH 33 #define K_TEST_OPT_OLDSTD TEST_OPT_OLDSTD 34 #endif 25 35 26 36 #undef NO_KINLINE … … 296 306 int posInT17 (const TSet set,const int length,const LObject &p); 297 307 int posInT19 (const TSet set,const int length,const LObject &p); 308 int posInT_EcartFDegpLength(const TSet set,const int length,const LObject &p); 309 int posInT_FDegpLength(const TSet set,const int length,const LObject &p); 310 int posInT_EcartpLength(const TSet set,const int length,const LObject &p); 311 int posInT_pLength(const TSet set,const int length,const LObject &p); 312 298 313 void reorderS (int* suc,kStrategy strat); 299 314 int posInL0 (const LSet set, const int length, … … 316 331 void entersets (LObject h); 317 332 void pairs (); 318 void message (int i,int* reduc,int* olddeg,kStrategy strat );333 void message (int i,int* reduc,int* olddeg,kStrategy strat,int red_result); 319 334 void messageStat (int srmax,int lrmax,int hilbcount,kStrategy strat); 320 335 #ifdef KDEBUG -
Singular/misc.cc
r35f23d rbef194 325 325 /* 25 no redTail(p)/redTail(s) */ 326 326 {"redTail", Sy_bit(OPT_REDTAIL), ~Sy_bit(OPT_REDTAIL) }, 327 {"redThrough", Sy_bit(OPT_REDTHROUGH), ~Sy_bit(OPT_REDTHROUGH) }, 327 {"redThrough", Sy_bit(OPT_REDTHROUGH), ~Sy_bit(OPT_REDTHROUGH) }, 328 {"oldStd", Sy_bit(OPT_OLDSTD), ~Sy_bit(OPT_OLDSTD) }, 328 329 {"intStrategy", Sy_bit(OPT_INTSTRATEGY), ~Sy_bit(OPT_INTSTRATEGY) }, 329 330 {"infRedTail", Sy_bit(OPT_INFREDTAIL), ~Sy_bit(OPT_INFREDTAIL) }, … … 420 421 { 421 422 test |= optionStruct[i].setval; 423 // optOldStd disables redthrough 424 if (optionStruct[i].setval == Sy_bit(OPT_OLDSTD)) 425 test &= ~Sy_bit(OPT_REDTHROUGH); 422 426 } 423 427 else -
Singular/polys.cc
r35f23d rbef194 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: polys.cc,v 1.7 1 2000-12-14 16:38:53obachman Exp $ */4 /* $Id: polys.cc,v 1.72 2000-12-18 13:30:38 obachman Exp $ */ 5 5 6 6 /* … … 61 61 test &= ~Sy_bit(OPT_REDTAIL); /* noredTail */ 62 62 63 if ( r->OrdSgn == 1 && ! r->LexOrder)63 if (!TEST_OPT_OLDSTD && r->OrdSgn == 1 && ! r->LexOrder) 64 64 test |= Sy_bit(OPT_REDTHROUGH); 65 65 else -
Singular/tok.h
r35f23d rbef194 7 7 * ABSTRACT: tokens, types for interpreter; general macros 8 8 */ 9 /* $Id: tok.h,v 1.4 7 2000-12-14 16:38:55obachman Exp $ */9 /* $Id: tok.h,v 1.48 2000-12-18 13:30:39 obachman Exp $ */ 10 10 11 11 #ifndef MYYSTYPE … … 191 191 #define OPT_RETURN_SB 9 192 192 #define OPT_FASTHC 10 193 #define OPT_OLDSTD 20 193 194 #define OPT_KEEPVARS 21 194 195 #define OPT_STAIRCASEBOUND 22 … … 221 222 #define TEST_OPT_WEIGHTM BTEST1(OPT_WEIGHTM) 222 223 #define TEST_OPT_REDTHROUGH BTEST1(OPT_REDTHROUGH) 224 #define TEST_OPT_OLDSTD BTEST1(OPT_OLDSTD) 223 225 224 226 #define TEST_VERB_NSB BVERBOSE(V_NSB)
Note: See TracChangeset
for help on using the changeset viewer.