Changeset 984ff3 in git
- Timestamp:
- May 20, 2014, 10:00:18 AM (9 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 7063d23887fa8ed57cbcc380059730b2c9c57a3592550d1a103eaa2a9516fa2d6b6217676a4d17e2
- Parents:
- 868d77da262fc3cd0ba86c003e62b39cafb75dbe46c7c3543716f62ef5bb7e5989d0c0876634829a
- Files:
-
- 11 added
- 55 deleted
- 121 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/modstd.lib
r46c7c3 r984ff3 34 34 { 35 35 newstruct("idealPrimeTest", "ideal Ideal"); 36 }37 38 ////////////////////////////////////////////////////////////////////////////////39 40 proc mixedTest()41 "USAGE: mixedTest();42 RETURN: 1 if ordering of basering is mixed, 0 else43 EXAMPLE: example mixedTest(); shows an example44 "45 {46 int i,p,m;47 for(i = 1; i <= nvars(basering); i++)48 {49 if(var(i) > 1)50 {51 p++;52 }53 else54 {55 m++;56 }57 }58 if((p > 0) && (m > 0)) { return(1); }59 return(0);60 }61 example62 { "EXAMPLE:"; echo = 2;63 ring R1 = 0,(x,y,z),dp;64 mixedTest();65 ring R2 = 31,(x(1..4),y(1..3)),(ds(4),lp(3));66 mixedTest();67 ring R3 = 181,x(1..9),(dp(5),lp(4));68 mixedTest();69 36 } 70 37 … … 920 887 rt = rtimer; 921 888 922 if(! mixedTest())889 if(!hasMixedOrdering()) 923 890 { 924 891 if(h) -
Singular/LIB/modwalk.lib
r46c7c3 r984ff3 83 83 //------------------------- make i homogeneous ----------------------------- 84 84 85 if(! mixedTest() && !h)85 if(!hasMixedOrdering() && !h) 86 86 { 87 87 if(!((find(ordstr_R0, "M") > 0) || (find(ordstr_R0, "a") > 0) || neg)) … … 154 154 } 155 155 } 156 if(! mixedTest() && !h)156 if(!hasMixedOrdering() && !h) 157 157 { 158 158 if(!((find(ordstr_R0, "M") > 0) || (find(ordstr_R0, "a") > 0) || neg)) -
Singular/LIB/primdec.lib
r868d77d r984ff3 3995 3995 if(n<nvars(basering)) 3996 3996 { 3997 matrix f=transpose(re[n+1]); //Hom(_,R) 3998 module k=nres(f,2)[2]; //the kernel 3999 matrix g=transpose(re[n]); //the image of Hom(_,R) 4000 4001 ideal ann=quotient1(g,k); //the anihilator 4002 } 4003 else 4004 { 4005 ideal ann=Ann(transpose(re[n])); 4006 } 3997 if(size(re[n+1])>0) 3998 { 3999 matrix f=transpose(re[n+1]); //Hom(_,R) 4000 module k=nres(f,2)[2]; //the kernel 4001 matrix g=transpose(re[n]); //the image of Hom(_,R) 4002 4003 ideal ann=quotient1(g,k); //the anihilator 4004 return(ann); 4005 } 4006 } 4007 // remaining case: re[n+1] is trivial 4008 // either n is at least number of variables or 4009 // resolution happens to be shorter 4010 ideal ann=Ann(transpose(re[n])); 4007 4011 return(ann); 4008 4012 } -
Singular/LIB/ring.lib
r46c7c3 r984ff3 27 27 hasCommutativeVars(rng) non-commutive or commnuative polynomial ring 28 28 hasGlobalOrdering(rng) global versus mixed/local monomial ordering 29 hasMixedOrdering() mixed versus global/local ordering 29 30 isSubModule(I,J) check if I is in J as submodule 30 31 "; … … 1010 1011 } 1011 1012 1012 1013 proc hasMixedOrdering() 1014 "USAGE: hasMixedOrdering(); 1015 RETURN: 1 if ordering of basering is mixed, 0 else 1016 EXAMPLE: example hasMixedOrdering(); shows an example 1017 " 1018 { 1019 int i,p,m; 1020 for(i = 1; i <= nvars(basering); i++) 1021 { 1022 if(var(i) > 1) 1023 { 1024 p++; 1025 } 1026 else 1027 { 1028 m++; 1029 } 1030 } 1031 if((p > 0) && (m > 0)) { return(1); } 1032 return(0); 1033 } 1034 example 1035 { "EXAMPLE:"; echo = 2; 1036 ring R1 = 0,(x,y,z),dp; 1037 hasMixedOrdering(); 1038 ring R2 = 31,(x(1..4),y(1..3)),(ds(4),lp(3)); 1039 hasMixedOrdering(); 1040 ring R3 = 181,x(1..9),(dp(5),lp(4)); 1041 hasMixedOrdering(); 1042 } 1043 -
Singular/LIB/symodstd.lib
r46c7c3 r984ff3 35 35 LIB "modstd.lib"; 36 36 LIB "parallel.lib"; 37 LIB "ring.lib"; 37 38 38 39 //////////////////////////////////////////////////////////////////////////////// … … 1117 1118 rt = rtimer; 1118 1119 1119 if(! mixedTest())1120 if(!hasMixedOrdering()) 1120 1121 { 1121 1122 if(h) -
Singular/dyn_modules/callgfanlib/gfan.cc
r46c7c3 r984ff3 4084 4084 case TRUE: 4085 4085 if(hasNegCoeff) 4086 nCoeffNom=n Neg(nCoeffNom);4086 nCoeffNom=nInpNeg(nCoeffNom); 4087 4087 pSetCoeff(strPoly, nDiv(nCoeffNom, nCoeffDenom)); 4088 4088 break; 4089 4089 case FALSE: 4090 4090 if(hasNegCoeff) 4091 nCoeff=n Neg(nCoeff);4091 nCoeff=nInpNeg(nCoeff); 4092 4092 if(!nIsOne(nCoeff)) 4093 4093 { -
Singular/dyn_modules/syzextra/mod_main.cc
r46c7c3 r984ff3 30 30 #include <Singular/attrib.h> 31 31 32 #include <Singular/ipid.h> 32 #include <Singular/ipid.h> 33 33 #include <Singular/ipshell.h> // For iiAddCproc 34 34 … … 45 45 46 46 47 #if GOOGLE_PROFILE_ENABLED 47 #if GOOGLE_PROFILE_ENABLED 48 48 #include <google/profiler.h> 49 #endif // #if GOOGLE_PROFILE_ENABLED 49 #endif // #if GOOGLE_PROFILE_ENABLED 50 50 51 51 … … 84 84 85 85 const char *usage = "'ClearContent' needs a (non-zero!) poly or vector argument..."; 86 86 87 87 if( h == NULL ) 88 88 { … … 100 100 101 101 assume (h->Next() == NULL); 102 102 103 103 poly ph = reinterpret_cast<poly>(h->Data()); 104 104 105 105 if( ph == NULL ) 106 106 { … … 108 108 return TRUE; 109 109 } 110 110 111 111 const ring r = currRing; 112 112 assume( r != NULL ); assume( r->cf != NULL ); const coeffs C = r->cf; … … 185 185 } 186 186 187 return (_n); 187 return (_n); 188 188 } 189 189 … … 201 201 { 202 202 const char* name = (char*)(h->Data()); 203 assume( name != NULL ); 203 assume( name != NULL ); 204 204 ProfilerStart(name); 205 205 } else 206 WerrorS("ProfilerStart requires a string [name] argument"); 206 WerrorS("ProfilerStart requires a string [name] argument"); 207 207 #else 208 208 WarnS("Sorry no google profiler support (GOOGLE_PROFILE_ENABLE!=1)..."); … … 249 249 } 250 250 251 251 252 252 253 253 static BOOLEAN DetailedPrint(leftv __res, leftv h) … … 263 263 if( h->Typ() == NUMBER_CMD) 264 264 { 265 number n = (number)h->Data(); 265 number n = (number)h->Data(); 266 266 267 267 const ring r = currRing; … … 278 278 return FALSE; 279 279 } 280 280 281 281 if( h->Typ() == RING_CMD) 282 282 { … … 301 301 if( h->Typ() == IDEAL_CMD || h->Typ() == MODUL_CMD) 302 302 { 303 const ideal id = (const ideal)h->Data(); h = h->Next(); 303 const ideal id = (const ideal)h->Data(); h = h->Next(); 304 304 305 305 dPrint(id, currRing, currRing, getOptionalInteger(h, 3)); 306 307 return FALSE; 306 307 return FALSE; 308 308 } 309 309 … … 344 344 if (r == NULL) 345 345 Print("ring '%10s': NULL", "syRing"); 346 else 346 else 347 347 if (r == currRing) 348 348 Print("ring '%10s': currRing", "syRing"); … … 356 356 #endif 357 357 // rChangeCurrRing(r); 358 } 358 } 359 359 PrintLn(); 360 360 … … 489 489 490 490 h = h->Next(); assume (h == NULL); 491 491 492 492 return FALSE; 493 493 } … … 495 495 if( h->Typ() == IDEAL_CMD || h->Typ() == MODUL_CMD) 496 496 { 497 res->data = id_Tail( (const ideal)h->Data(), r ); 497 res->data = id_Tail( (const ideal)h->Data(), r ); 498 498 res->rtyp = h->Typ(); 499 499 500 500 h = h->Next(); assume (h == NULL); 501 501 502 502 return FALSE; 503 503 } … … 512 512 { 513 513 const SchreyerSyzygyComputationFlags attributes(currRingHdl); 514 514 515 515 const BOOLEAN __DEBUG__ = attributes.__DEBUG__; 516 516 // const BOOLEAN __SYZCHECK__ = attributes.__SYZCHECK__; … … 528 528 } 529 529 530 assume( h != NULL ); 530 assume( h != NULL ); 531 531 532 532 if( h->Typ() == IDEAL_CMD || h->Typ() == MODUL_CMD) … … 538 538 if( __DEBUG__ ) 539 539 { 540 PrintS("ComputeLeadingSyzygyTerms::Input: \n"); 540 PrintS("ComputeLeadingSyzygyTerms::Input: \n"); 541 541 dPrint(id, r, r, 1); 542 542 } 543 543 544 544 assume( !__LEAD2SYZ__ ); 545 545 … … 547 547 548 548 const ideal newid = ComputeLeadingSyzygyTerms(id, attributes); 549 549 550 550 res->data = newid; res->rtyp = MODUL_CMD; 551 551 return FALSE; … … 580 580 } 581 581 582 assume( h != NULL ); 582 assume( h != NULL ); 583 583 584 584 if( (h->Typ() == IDEAL_CMD || h->Typ() == MODUL_CMD) 585 585 && (h->rtyp == IDHDL) // must be a variable! 586 586 && (h->e == NULL) // not a list element 587 ) 587 ) 588 588 { 589 589 const ideal id = (const ideal)h->Data(); … … 594 594 { 595 595 PrintS("Sort_c_ds::Input: \n"); 596 dPrint(id, r, r, 1); 596 dPrint(id, r, r, 1); 597 597 } 598 598 … … 605 605 // res->data = id; 606 606 // res->rtyp = h->Typ(); 607 607 608 608 if( __DEBUG__ ) 609 609 { … … 617 617 618 618 WarnS("ComputeLeadingSyzygyTerms needs a single ideal/module argument (must be a variable!)..."); 619 return TRUE; 619 return TRUE; 620 620 } 621 621 … … 640 640 } 641 641 642 assume( h != NULL ); 642 assume( h != NULL ); 643 643 644 644 assume( __LEAD2SYZ__ ); // ??? 645 645 646 646 if( h->Typ() == IDEAL_CMD || h->Typ() == MODUL_CMD) 647 647 { … … 690 690 { 691 691 WerrorS(usage); 692 return TRUE; 693 } 694 692 return TRUE; 693 } 694 695 695 const poly product = (poly) h->Data(); assume (product != NULL); 696 696 … … 700 700 { 701 701 WerrorS(usage); 702 return TRUE; 702 return TRUE; 703 703 } 704 704 705 705 poly syzterm = NULL; 706 706 707 if(h->Typ()==VECTOR_CMD) 707 if(h->Typ()==VECTOR_CMD) 708 708 syzterm = (poly) h->Data(); 709 709 … … 714 714 { 715 715 WerrorS(usage); 716 return TRUE; 717 } 718 716 return TRUE; 717 } 718 719 719 const ideal L = (ideal) h->Data(); h = h->Next(); 720 720 … … 758 758 PrintS("FindReducer::Output: \n"); 759 759 dPrint((poly)res->data, r, r, 2); 760 } 761 762 return FALSE; 763 760 } 761 762 return FALSE; 763 764 764 } 765 765 … … 781 781 782 782 assume( __HYBRIDNF__ ); // ??? 783 783 784 784 if ((h==NULL) || (h->Typ() != VECTOR_CMD) || (h->Data() == NULL)) 785 785 { 786 786 WerrorS(usage); 787 return TRUE; 787 return TRUE; 788 788 } 789 789 … … 795 795 { 796 796 WerrorS(usage); 797 return TRUE; 797 return TRUE; 798 798 } 799 799 … … 804 804 { 805 805 WerrorS(usage); 806 return TRUE; 806 return TRUE; 807 807 } 808 808 … … 814 814 { 815 815 WerrorS(usage); 816 return TRUE; 816 return TRUE; 817 817 } 818 818 … … 851 851 PrintS("LS: "); dPrint(LS, r, r, 0); 852 852 } 853 } 854 853 } 854 855 855 res->rtyp = VECTOR_CMD; 856 856 res->data = SchreyerSyzygyNF(syz_lead, … … 889 889 { 890 890 WerrorS(usage); 891 return TRUE; 891 return TRUE; 892 892 } 893 893 894 894 const poly multiplier = (poly) h->Data(); assume (multiplier != NULL); 895 895 896 896 897 897 h = h->Next(); 898 898 if ((h==NULL) || (h->Typ()!=VECTOR_CMD && h->Typ() !=POLY_CMD) || (h->Data() == NULL)) 899 899 { 900 900 WerrorS(usage); 901 return TRUE; 901 return TRUE; 902 902 } 903 903 904 904 const poly term4reduction = (poly) h->Data(); assume( term4reduction != NULL ); 905 905 906 906 907 907 poly syztermCheck = NULL; 908 908 909 909 h = h->Next(); 910 910 if ((h==NULL) || !((h->Typ()==VECTOR_CMD) || (h->Data() == NULL)) ) 911 911 { 912 912 WerrorS(usage); 913 return TRUE; 914 } 915 916 if(h->Typ()==VECTOR_CMD) 913 return TRUE; 914 } 915 916 if(h->Typ()==VECTOR_CMD) 917 917 syztermCheck = (poly) h->Data(); 918 918 919 919 920 920 h = h->Next(); 921 921 if ((h==NULL) || (h->Typ()!=IDEAL_CMD && h->Typ() !=MODUL_CMD) || (h->Data() == NULL)) 922 922 { 923 923 WerrorS(usage); 924 return TRUE; 924 return TRUE; 925 925 } 926 926 927 927 const ideal L = (ideal) h->Data(); assume( IDELEMS(L) > 0 ); 928 928 929 929 930 930 h = h->Next(); 931 931 if ((h==NULL) || (h->Typ()!=IDEAL_CMD && h->Typ() !=MODUL_CMD) || (h->Data() == NULL)) 932 932 { 933 933 WerrorS(usage); 934 return TRUE; 934 return TRUE; 935 935 } 936 936 … … 960 960 PrintS("t: "); dPrint(term4reduction, r, r, 2); 961 961 PrintS("syzterm: "); dPrint(syztermCheck, r, r, 2); 962 962 963 963 PrintS("L: "); dPrint(L, r, r, 0); 964 964 PrintS("T: "); dPrint(T, r, r, 0); … … 977 977 const int c = p_GetComp(syztermCheck, r) - 1; 978 978 assume( c >= 0 && c < IDELEMS(L) ); 979 979 980 980 const poly p = L->m[c]; 981 assume( p != NULL ); assume( pNext(p) == NULL ); 981 assume( p != NULL ); assume( pNext(p) == NULL ); 982 982 983 983 assume( p_EqualPolys(term4reduction, p, r) ); // assume? TODO … … 989 989 assume( p_EqualPolys(multiplier, m, r) ); // assume? TODO 990 990 991 p_Delete(&m, r); 992 991 p_Delete(&m, r); 992 993 993 // NOTE: leadmonomial(syzterm) == m && L[leadcomp(syzterm)] == t 994 994 } … … 1004 1004 dPrint((poly)res->data, r, r, 2); 1005 1005 } 1006 1007 1006 1007 1008 1008 return FALSE; 1009 1009 } … … 1031 1031 { 1032 1032 WerrorS(usage); 1033 return TRUE; 1033 return TRUE; 1034 1034 } 1035 1035 … … 1040 1040 { 1041 1041 WerrorS(usage); 1042 return TRUE; 1043 } 1044 1045 const poly tail = (poly) h->Data(); 1042 return TRUE; 1043 } 1044 1045 const poly tail = (poly) h->Data(); 1046 1046 1047 1047 h = h->Next(); … … 1050 1050 { 1051 1051 WerrorS(usage); 1052 return TRUE; 1052 return TRUE; 1053 1053 } 1054 1054 … … 1061 1061 { 1062 1062 WerrorS(usage); 1063 return TRUE; 1063 return TRUE; 1064 1064 } 1065 1065 … … 1069 1069 1070 1070 h = h->Next(); 1071 1071 1072 1072 ideal LS = NULL; 1073 1073 … … 1118 1118 { 1119 1119 const SchreyerSyzygyComputationFlags attributes(currRingHdl); 1120 1120 1121 1121 const BOOLEAN __DEBUG__ = attributes.__DEBUG__; 1122 1122 1123 1123 const char* usage = "`ComputeResolution(<ideal/module>[,int])` expected"; 1124 1124 const ring r = attributes.m_rBaseRing; … … 1130 1130 { 1131 1131 WerrorS(usage); 1132 return TRUE; 1132 return TRUE; 1133 1133 } 1134 1134 … … 1144 1144 { 1145 1145 WerrorS(usage); 1146 return TRUE; 1147 } 1148 1146 return TRUE; 1147 } 1148 1149 1149 ideal L = (ideal)(h->CopyD()); // no copy! 1150 1150 assume( IDELEMS(L) == size ); 1151 1151 1152 1152 h = h->Next(); 1153 1153 if ((h==NULL) || (h->Typ()!=IDEAL_CMD && h->Typ() !=MODUL_CMD) || (h->Data() == NULL)) 1154 1154 { 1155 1155 WerrorS(usage); 1156 return TRUE; 1156 return TRUE; 1157 1157 } 1158 1158 1159 1159 ideal T = (ideal)(h->CopyD()); // no copy! 1160 1160 assume( IDELEMS(T) == size ); 1161 1161 1162 1162 h = h->Next(); 1163 1163 1164 1164 // length..? 1165 1165 long length = 0; 1166 1166 1167 1167 if ((h!=NULL) && (h->Typ()==INT_CMD)) 1168 1168 { … … 1170 1170 h = h->Next(); 1171 1171 } 1172 1172 1173 1173 assume( h == NULL ); 1174 1174 1175 1175 if( length <= 0 ) 1176 length = 1 + rVar(r); 1176 length = 1 + rVar(r); 1177 1177 1178 1178 if( __DEBUG__ ) … … 1187 1187 1188 1188 syStrategy _res=(syStrategy)omAlloc0(sizeof(ssyStrategy)); 1189 1189 1190 1190 // class ssyStrategy; typedef ssyStrategy * syStrategy; 1191 1191 // typedef ideal * resolvente; … … 1198 1198 // if (attributes.__TREEOUTPUT__) 1199 1199 // Print("{ \"RESOLUTION: HYBRIDNF:%d, TAILREDSYZ: %d, LEAD2SYZ: %d, IGNORETAILS: %d\": [\n", attributes.__HYBRIDNF__, attributes.__TAILREDSYZ__, attributes.__LEAD2SYZ__, attributes.__IGNORETAILS__); 1200 1200 1201 1201 while( (!idIs0(L)) && (index < length)) 1202 1202 { 1203 1203 attributes.nextSyzygyLayer(); 1204 ideal LL, TT; 1205 1204 ideal LL, TT; 1205 1206 1206 ComputeSyzygy(L, T, LL, TT, attributes); 1207 1207 … … 1215 1215 1216 1216 assume( size == IDELEMS(TT) ); 1217 1217 1218 1218 id_Delete(&L, r); id_Delete(&T, r); 1219 1219 1220 1220 L = LL; T = TT; 1221 1221 1222 1222 // id_Add(T, L, r); 1223 1223 M = idInit(size, 0); … … 1227 1227 } 1228 1228 M->rank = id_RankFreeModule(M, r); 1229 1229 1230 1230 if( __DEBUG__ ) 1231 1231 { … … 1233 1233 PrintS("M = LL + TT: \n"); dPrint(M, r, r, 0); 1234 1234 } 1235 1235 1236 1236 _res->fullres[index++] = M; // ??? 1237 1237 } … … 1240 1240 1241 1241 id_Delete(&L, r); id_Delete(&T, r); 1242 1242 1243 1243 res->data = _res; 1244 1244 res->rtyp = RESOLUTION_CMD; … … 1253 1253 1254 1254 // omFreeSize(_res, sizeof(ssyStrategy)); 1255 1255 1256 1256 return FALSE; 1257 1257 … … 1280 1280 { 1281 1281 WerrorS(usage); 1282 return TRUE; 1282 return TRUE; 1283 1283 } 1284 1284 … … 1291 1291 { 1292 1292 WerrorS(usage); 1293 return TRUE; 1293 return TRUE; 1294 1294 } 1295 1295 … … 1298 1298 1299 1299 1300 h = h->Next(); assume( h == NULL ); 1300 h = h->Next(); assume( h == NULL ); 1301 1301 1302 1302 if( __DEBUG__ ) … … 1317 1317 1318 1318 l->m[1].rtyp = MODUL_CMD; l->m[1].data = reinterpret_cast<void *>(TT); 1319 1319 1320 1320 res->data = l; res->rtyp = LIST_CMD; 1321 1321 1322 1322 if( __DEBUG__ ) 1323 1323 { … … 1374 1374 } else 1375 1375 res->data = reinterpret_cast<void *>(jjLONG2N(0)); 1376 1376 1377 1377 1378 1378 res->rtyp = BIGINT_CMD; … … 1432 1432 res->data = reinterpret_cast<void *>(rAssure_SyzComp(currRing, TRUE)); 1433 1433 res->rtyp = RING_CMD; // return new ring! 1434 // QRING_CMD? 1434 // QRING_CMD? 1435 1435 1436 1436 return FALSE; … … 1455 1455 } 1456 1456 1457 sign = s; 1457 sign = s; 1458 1458 } 1459 1459 … … 1461 1461 res->data = reinterpret_cast<void *>(rAssure_InducedSchreyerOrdering(currRing, TRUE, sign)); 1462 1462 res->rtyp = RING_CMD; // return new ring! 1463 // QRING_CMD? 1463 // QRING_CMD? 1464 1464 return FALSE; 1465 1465 } … … 1521 1521 1522 1522 1523 1523 1524 1524 lists l=(lists)omAllocBin(slists_bin); 1525 1525 l->Init(2); … … 1552 1552 1553 1553 1554 /* // the following turned out to be unnecessary... 1554 /* // the following turned out to be unnecessary... 1555 1555 /// Finds p^th AM ordering, and returns its position in r->typ[] AND 1556 1556 /// corresponding &r->wvhdl[] … … 1605 1605 // { 1606 1606 // NoReturn(res); 1607 // 1607 // 1608 1608 // const ring r = currRing; 1609 // 1609 // 1610 1610 // int p = 0; // which IS-block? p^th! 1611 // 1611 // 1612 1612 // if ((h!=NULL) && (h->Typ()==INT_CMD)) 1613 1613 // p = (int)((long)(h->Data())); h=h->next; 1614 // 1614 // 1615 1615 // assume(p >= 0); 1616 // 1616 // 1617 1617 // int d, w; 1618 // 1618 // 1619 1619 // if( !rGetAMPos(r, p, d, w, TRUE) ) 1620 1620 // { … … 1622 1622 // return TRUE; 1623 1623 // } 1624 // 1624 // 1625 1625 // assume( r->typ[d].ord_typ == ro_am ); 1626 1626 // assume( r->order[w] == ringorder_am ); 1627 // 1628 // 1627 // 1628 // 1629 1629 // const short start = r->typ[d].data.am.start; // bounds of ordering (in E) 1630 1630 // const short end = r->typ[d].data.am.end; … … 1632 1632 // const int *weights = r->typ[d].data.am.weights; // pointers into wvhdl field of length (end-start+1) + len_gen 1633 1633 // // contents w_1,... w_n, len, mod_w_1, .. mod_w_len, 0 1634 // 1634 // 1635 1635 // assume( weights == r->wvhdl[w] ); 1636 // 1637 // 1636 // 1637 // 1638 1638 // lists l=(lists)omAllocBin(slists_bin); 1639 1639 // l->Init(2); 1640 // 1640 // 1641 1641 // const short V = end-start+1; 1642 1642 // intvec* ww_vars = new intvec(V); 1643 1643 // intvec* ww_gens = new intvec(len_gen); 1644 // 1644 // 1645 1645 // for (int i = 0; i < V; i++ ) 1646 1646 // (*ww_vars)[i] = weights[i]; 1647 // 1647 // 1648 1648 // assume( weights[V] == len_gen ); 1649 // 1649 // 1650 1650 // for (int i = 0; i < len_gen; i++ ) 1651 1651 // (*ww_gens)[i] = weights[i - V - 1]; 1652 // 1653 // 1652 // 1653 // 1654 1654 // l->m[0].rtyp = INTVEC_CMD; 1655 1655 // l->m[0].data = reinterpret_cast<void *>(ww_vars); 1656 // 1656 // 1657 1657 // l->m[1].rtyp = INTVEC_CMD; 1658 1658 // l->m[1].data = reinterpret_cast<void *>(ww_gens); 1659 // 1660 // 1659 // 1660 // 1661 1661 // return FALSE; 1662 // 1662 // 1663 1663 // } 1664 1664 */ … … 1782 1782 1783 1783 if ( ( (h!=NULL) && (h->Typ()== INT_CMD) ) ) 1784 iLazyReduce = (int)((long)(h->Data())); 1785 1786 res->data = (void *)kNFLength(M, curr Quotient, v, iSyzComp, iLazyReduce); // NOTE: currRing :(1784 iLazyReduce = (int)((long)(h->Data())); 1785 1786 res->data = (void *)kNFLength(M, currRing->qideal, v, iSyzComp, iLazyReduce); // NOTE: currRing :( 1787 1787 return FALSE; 1788 1788 } … … 1830 1830 iComp = id_RankFreeModule(r->typ[posIS].data.is.F, r); // ; 1831 1831 } 1832 1832 1833 1833 assume(iComp >= 0); 1834 1834 … … 1838 1838 1839 1839 // int add_row_shift = 0; 1840 // 1840 // 1841 1841 if (w!=NULL) 1842 1842 { 1843 1843 w = ivCopy(w); 1844 1844 // add_row_shift = ww->min_in(); 1845 // 1845 // 1846 1846 // (*ww) -= add_row_shift; 1847 // 1848 // if (idTestHomModule(I, curr Quotient, ww))1847 // 1848 // if (idTestHomModule(I, currRing->qideal, ww)) 1849 1849 // { 1850 1850 hom = isHomog; … … 1867 1867 1868 1868 ideal J = // idPrepare( I, hom, iComp, &w); 1869 kStd(I, curr Quotient, hom, &w, NULL, iComp);1869 kStd(I, currRing->qideal, hom, &w, NULL, iComp); 1870 1870 1871 1871 idTest(J); … … 1892 1892 const poly p = reinterpret_cast<poly>(h->Data()); 1893 1893 1894 1894 1895 1895 pTest(p); pWrite(p); PrintLn(); 1896 1896 1897 1898 p_Content( p, currRing); 1897 1898 p_Content( p, currRing); 1899 1899 1900 1900 pTest(p); 1901 1901 pWrite(p); PrintLn(); 1902 1902 1903 1903 NoReturn(res); 1904 1904 return FALSE; … … 1908 1908 { 1909 1909 int ret = 0; 1910 1910 1911 1911 if ( (h!=NULL) && (h->Typ()!=INT_CMD) ) 1912 1912 { … … 1922 1922 } 1923 1923 1924 1924 1925 1925 1926 1926 END_NAMESPACE 1927 1927 1928 1928 1929 int SI_MOD_INIT(syzextra)(SModulFunctions* psModulFunctions) 1929 int SI_MOD_INIT(syzextra)(SModulFunctions* psModulFunctions) 1930 1930 { 1931 1931 … … 1985 1985 // ADD("", FALSE, ); 1986 1986 1987 #undef ADD 1987 #undef ADD 1988 1988 return 0; 1989 1989 } 1990 1990 1991 1991 #ifndef EMBED_PYTHON 1992 extern "C" { 1992 extern "C" { 1993 1993 int mod_init(SModulFunctions* psModulFunctions) 1994 { 1995 return SI_MOD_INIT(syzextra)(psModulFunctions); 1994 { 1995 return SI_MOD_INIT(syzextra)(psModulFunctions); 1996 1996 } 1997 1997 } -
Singular/dyn_modules/syzextra/myNF.cc
r46c7c3 r984ff3 1 1 // -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 2 /*****************************************************************************\ 3 * Computer Algebra System SINGULAR 3 * Computer Algebra System SINGULAR 4 4 \*****************************************************************************/ 5 5 /** @file DebugPrint.cc 6 * 6 * 7 7 * Here we implement dPrint-s. 8 8 * … … 303 303 pp = p_KillSquares(pp, m_iFirstAltVar, m_iLastAltVar, currRing); 304 304 305 if(Q == curr Quotient)305 if(Q == currRing->qideal) 306 306 Q = SCAQuotient(currRing); 307 307 } -
Singular/dyn_modules/syzextra/syzextra.cc
r46c7c3 r984ff3 1 1 // -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 2 /*****************************************************************************\ 3 * Computer Algebra System SINGULAR 3 * Computer Algebra System SINGULAR 4 4 \*****************************************************************************/ 5 5 /** @file syzextra.cc 6 * 6 * 7 7 * Here we implement the Computation of Syzygies 8 8 * … … 50 50 #include <Singular/attrib.h> 51 51 52 #include <Singular/ipid.h> 52 #include <Singular/ipid.h> 53 53 #include <Singular/ipshell.h> // For iiAddCproc 54 54 … … 73 73 static int cmp_c_ds(const void *p1, const void *p2) 74 74 { 75 void *R = currRing; 75 void *R = currRing; 76 76 #endif 77 77 … … 151 151 } 152 152 153 return 0; 154 } 155 156 153 return 0; 154 } 155 156 157 157 static int cmp_poly(const poly &a, const poly &b) 158 158 { … … 171 171 assume( p_GetComp(a, r) == 0 ); 172 172 assume( p_GetComp(b, r) == 0 ); 173 173 174 174 #ifndef NDEBUG 175 175 const int __DEBUG__ = 0; … … 198 198 } 199 199 200 return 0; 201 } 202 200 return 0; 201 } 202 203 203 END_NAMESPACE 204 204 /* namespace SORT_c_ds */ … … 213 213 return; 214 214 } 215 215 216 216 assume( r != NULL ); 217 217 const coeffs C = r->cf; assume(C != NULL); … … 221 221 222 222 do { 223 assume( p != NULL ); 224 223 assume( p != NULL ); 224 225 225 // write coef... 226 226 number& n = p_GetCoeff(p, r); 227 227 228 228 n_Normalize(n, C); 229 229 230 230 BOOLEAN writeMult = FALSE; ///< needs * before pp or module generator 231 231 232 232 BOOLEAN writeOne = FALSE; ///< need to write something after '-'! 233 233 234 234 if( n_IsZero(n, C) ) 235 235 { … … 237 237 // return; // yes? 238 238 } 239 239 240 240 if (n_IsMOne(n, C)) 241 { 241 { 242 242 PrintS(" - "); writeOne = TRUE; writePlus = FALSE; 243 } 243 } 244 244 else if (!n_IsOne(n, C)) 245 245 { 246 246 if( writePlus && n_GreaterZero(n, C) ) 247 247 PrintS(" + "); 248 249 StringSetS(""); n_WriteLong(n, C); 250 if (true) 248 249 StringSetS(""); n_WriteLong(n, C); 250 if (true) 251 251 { 252 252 char *s = StringEndS(); PrintS(s); omFree(s); 253 253 } 254 255 254 255 256 256 writeMult = TRUE; 257 257 writePlus = TRUE; 258 258 } else 259 259 writeOne = TRUE; 260 260 261 261 // missing '1' if no PP and gen...!? 262 262 // write monom... … … 268 268 { 269 269 const long ee = p_GetExp(p, i+1, r); 270 270 271 271 if (ee!=0L) 272 272 { … … 285 285 else 286 286 Print(" %s ", rRingVar(i, r)); 287 287 288 288 writeOne = FALSE; 289 289 wrotePP = TRUE; … … 292 292 293 293 writePlus = writePlus || wrotePP; 294 writeMult = writeMult || wrotePP; 294 writeMult = writeMult || wrotePP; 295 295 296 296 // write module gen... 297 297 const long comp = p_GetComp(p, r); 298 298 299 299 if (comp > 0 ) 300 300 { 301 301 if (writeMult) 302 302 PrintS(" \\\\cdot "); 303 else 303 else 304 304 if( writePlus ) 305 305 PrintS(" + "); … … 309 309 else 310 310 Print(" \\\\GENP{%ld} ", comp); 311 312 writeOne = FALSE; 313 } 314 311 312 writeOne = FALSE; 313 } 314 315 315 if ( writeOne ) 316 316 PrintS( writePlus? " + 1 " : " 1 " ); 317 317 318 318 319 319 pIter(p); 320 320 321 321 writePlus = TRUE; 322 322 } while( (!bLTonly) && (p != NULL) ); 323 324 } 325 326 327 328 329 323 324 } 325 326 327 328 329 330 330 /// return a new term: leading coeff * leading monomial of p 331 331 /// with 0 leading component! … … 346 346 p_Setm(m, r); 347 347 348 348 349 349 assume( m != NULL ); 350 350 assume( pNext(m) == NULL ); 351 351 assume( p_LmTest(m, r) ); 352 352 353 353 if( bSetZeroComp ) 354 354 assume( p_GetComp(m, r) == 0 ); … … 359 359 360 360 361 361 362 362 poly p_Tail(const poly p, const ring r) 363 363 { … … 375 375 376 376 const ideal newid = idInit(IDELEMS(id),id->rank); 377 377 378 378 for (int i=IDELEMS(id) - 1; i >= 0; i--) 379 379 newid->m[i] = p_Tail( id->m[i], r ); … … 381 381 newid->rank = id_RankFreeModule(newid, currRing); 382 382 383 return newid; 383 return newid; 384 384 } 385 385 … … 395 395 #define qsort_my(m, s, ss, r, cmp) qsort_r(m, s, ss, cmp) 396 396 #endif 397 397 398 398 if( sizeNew >= 2 ) 399 399 qsort_my(id->m, sizeNew, sizeof(poly), r, FROM_NAMESPACE(SORT_c_ds, cmp_c_ds)); … … 408 408 { 409 409 extern void id_Delete (ideal*, const ring); 410 410 411 411 id_Delete(const_cast<ideal*>(&m_idTails), m_rBaseRing); // TODO!!! 412 412 … … 422 422 m_spoly_bucket = NULL; 423 423 } 424 424 425 425 for( TCache::iterator it = m_cache.begin(); it != m_cache.end(); it++ ) 426 426 { 427 427 TP2PCache& T = it->second; 428 428 429 429 for(TP2PCache::iterator vit = T.begin(); vit != T.end(); vit++ ) 430 { 430 { 431 431 p_Delete( (&(vit->second)), m_rBaseRing); 432 432 p_Delete( const_cast<poly*>(&(vit->first)), m_rBaseRing); … … 465 465 CReducersHash::const_iterator itr = m_hash.find(comp); 466 466 467 if ( itr == m_hash.end() ) 467 if ( itr == m_hash.end() ) 468 468 return 2; // no such leading component!!! 469 469 470 470 assume( itr->first == comp ); 471 472 const bool bIdealCase = (comp == 0); 471 472 const bool bIdealCase = (comp == 0); 473 473 const bool bSyzCheck = syzChecker.IsNonempty(); // need to check even in ideal case????? proof? "&& !bIdealCase" 474 474 … … 485 485 const poly p = (*vit)->m_lt; 486 486 487 assume( p_GetComp(p, r) == comp ); 487 assume( p_GetComp(p, r) == comp ); 488 488 489 489 // TODO: check if coprime with Leads... if __TAILREDSYZ__ ! 490 490 for( int var = N; var > 0; --var ) 491 491 if( (p_GetExp(p, var, r) != 0) && (p_GetExp(t, var, r) != 0) ) 492 { 492 { 493 493 #ifndef NDEBUG 494 494 if( __DEBUG__ | 0) 495 { 495 { 496 496 PrintS("CReducerFinder::PreProcessTerm, 't' is NOT co-prime with the following leading term: \n"); 497 497 dPrint(p, r, r, 1); 498 498 } 499 #endif 499 #endif 500 500 coprime = false; // t not coprime with p! 501 501 break; … … 513 513 #ifndef NDEBUG 514 514 if( __DEBUG__ && !coprime) 515 { 515 { 516 516 PrintS("CReducerFinder::PreProcessTerm, 't' is co-prime with p but may lead to NOT divisible syz.term: \n"); 517 517 dPrint(ss, r, r, 1); 518 518 } 519 519 #endif 520 520 521 521 p_LmDelete(&ss, r); // deletes coeff as well??? 522 522 } … … 528 528 PrintS("CReducerFinder::PreProcessTerm, the following 't' is 'co-prime' with all of leading terms! \n"); 529 529 #endif 530 531 return coprime? 3: 0; // t was coprime with all of leading terms!!! 530 531 return coprime? 3: 0; // t was coprime with all of leading terms!!! 532 532 533 533 } … … 536 536 return 0; 537 537 } 538 539 538 539 540 540 void SchreyerSyzygyComputation::SetUpTailTerms() 541 541 { 542 const ideal idTails = m_idTails; 542 const ideal idTails = m_idTails; 543 543 assume( idTails != NULL ); 544 544 assume( idTails->m != NULL ); … … 557 557 for( int p = IDELEMS(idTails) - 1; p >= 0; --p ) 558 558 for( poly* tt = &(idTails->m[p]); (*tt) != NULL; ) 559 { 559 { 560 560 const poly t = *tt; 561 561 const int k = m_div.PreProcessTerm(t, m_checker); // 0..3 … … 565 565 pp[k]++; 566 566 #endif 567 567 568 568 if( k ) 569 569 { 570 570 #ifndef NDEBUG 571 571 if( __DEBUG__) 572 { 572 { 573 573 Print("SchreyerSyzygyComputation::SetUpTailTerms(): PP (%d) the following TT: \n", k); 574 574 dPrint(t, r, r, 1); … … 577 577 578 578 (*tt) = p_LmDeleteAndNext(t, r); // delete the lead and next... 579 } 580 else 579 } 580 else 581 581 tt = &pNext(t); // go next? 582 582 … … 588 588 Print("%% **!!** SchreyerSyzygyComputation::SetUpTailTerms()::PreProcessing(): X: {c: %lu, C: %lu, P: %lu} + %lu\n", pp[1], pp[2], pp[3], pp[0]); 589 589 #endif 590 590 591 591 #ifndef NDEBUG 592 592 if( !__TREEOUTPUT__ ) … … 597 597 } 598 598 #endif 599 600 } 601 /* 599 600 } 601 /* 602 602 m_idTailTerms.resize( IDELEMS(idTails) ); 603 603 604 604 for( unsigned int p = IDELEMS(idTails) - 1; p >= 0; p -- ) 605 605 { … … 609 609 610 610 unsigned int pp = 0; 611 611 612 612 while( t != NULL ) 613 613 { 614 614 assume( t != NULL ); 615 615 // TODO: compute L:t! 616 // ideal reducers; 616 // ideal reducers; 617 617 // CReducerFinder m_reducers 618 618 619 619 CTailTerm* d = v[pp] = new CTailTerm(); 620 620 621 621 ++pp; pIter(t); 622 622 } … … 649 649 if( size < 2 ) 650 650 { 651 const ideal newid = idInit(1, 0); newid->m[0] = NULL; // zero ideal... 651 const ideal newid = idInit(1, 0); newid->m[0] = NULL; // zero ideal... 652 652 return newid; 653 653 } … … 745 745 const ring& r = m_rBaseRing; 746 746 // const SchreyerSyzygyComputationFlags& attributes = m_atttributes; 747 747 748 748 // const BOOLEAN __DEBUG__ = attributes.__DEBUG__; 749 749 // const BOOLEAN __SYZCHECK__ = attributes.__SYZCHECK__; … … 751 751 // const BOOLEAN __HYBRIDNF__ = attributes.__HYBRIDNF__; 752 752 // const BOOLEAN __TAILREDSYZ__ = attributes.__TAILREDSYZ__; 753 753 754 754 755 755 // 1. set of components S? … … 762 762 if( size < 2 ) 763 763 { 764 const ideal newid = idInit(1, 1); newid->m[0] = NULL; // zero module... 764 const ideal newid = idInit(1, 1); newid->m[0] = NULL; // zero module... 765 765 return newid; 766 766 } … … 768 768 769 769 // TODO/NOTE: input is supposed to be sorted wrt "C,ds"!?? 770 770 771 771 // components should come in groups: count elements in each group 772 772 // && estimate the real size!!! … … 826 826 827 827 p_SetCoeff0(m , n_Div(g, lc1, r), r); 828 p_SetCoeff0(mm, n_ Neg(n_Div(g, lc2, r), r), r);828 p_SetCoeff0(mm, n_InpNeg(n_Div(g, lc2, r), r), r); 829 829 830 830 n_Delete(&g, r); … … 863 863 // TEST_OPT_REDTAIL 864 864 assume( r == currRing ); 865 865 866 866 BITSET _save_test; SI_SAVE_OPT1(_save_test); 867 867 SI_RESTORE_OPT1(Sy_bit(OPT_REDTAIL) | Sy_bit(OPT_REDSB) | _save_test); 868 868 869 869 intvec* w=new intvec(IDELEMS(newid)); 870 ideal tmp = kStd(newid, curr Quotient, isHomog, &w);870 ideal tmp = kStd(newid, currRing->qideal, isHomog, &w); 871 871 delete w; 872 872 … … 887 887 888 888 Sort_c_ds(newid, r); 889 889 890 890 return newid; 891 891 } … … 898 898 const ring& R = m_rBaseRing; 899 899 900 const int r = p_GetComp(a, R) - 1; 900 const int r = p_GetComp(a, R) - 1; 901 901 902 902 assume( r >= 0 && r < IDELEMS(T) ); 903 903 assume( r >= 0 && r < IDELEMS(L) ); 904 905 assume( a != NULL ); 904 905 assume( a != NULL ); 906 906 907 907 if( __TREEOUTPUT__ ) … … 909 909 PrintS("{ \"nodelabel\": \""); writeLatexTerm(a, R); PrintS("\", \"children\": ["); 910 910 } 911 911 912 912 913 913 poly aa = leadmonom(a, R); assume( aa != NULL); // :( 914 914 915 poly t = TraverseTail(aa, r); 916 915 poly t = TraverseTail(aa, r); 916 917 917 if( a2 != NULL ) 918 918 { … … 929 929 assume( r2 >= 0 && r2 < IDELEMS(T) ); 930 930 931 t = p_Add_q(a2, p_Add_q(t, TraverseTail(aa2, r2), R), R); 931 t = p_Add_q(a2, p_Add_q(t, TraverseTail(aa2, r2), R), R); 932 932 933 933 p_Delete(&aa2, R); 934 934 935 935 if( __TREEOUTPUT__ ) 936 936 PrintS("]},"); … … 946 946 { 947 947 PrintS("], \"noderesult\": \""); writeLatexTerm(t, R, true, false); PrintS("\" },"); 948 } 948 } 949 949 return t; 950 950 } … … 971 971 assume( IDELEMS(L) == IDELEMS(T) ); 972 972 #ifndef NDEBUG 973 int t, r; 973 int t, r; 974 974 #endif 975 975 976 976 if( __TREEOUTPUT__ ) 977 977 { 978 Print("\n{ \"syzygylayer\": \"%d\", \"hybridnf\": \"%d\", \"diagrams\": \n[", __SYZNUMBER__, __HYBRIDNF__ ); 979 } 980 978 Print("\n{ \"syzygylayer\": \"%d\", \"hybridnf\": \"%d\", \"diagrams\": \n[", __SYZNUMBER__, __HYBRIDNF__ ); 979 } 980 981 981 if( m_syzLeads == NULL ) 982 { 982 { 983 983 #ifndef NDEBUG 984 984 if( !__TREEOUTPUT__ ) … … 988 988 Print("%% %5d **!TIME4!** SchreyerSyzygyComputation::ComputeSyzygy::ComputeLeadingSyzygyTerms: t: %d, r: %d\n", r, t, r); 989 989 } 990 #endif 990 #endif 991 991 ComputeLeadingSyzygyTerms( __LEAD2SYZ__ && !__IGNORETAILS__ ); // 2 terms OR 1 term! 992 992 #ifndef NDEBUG … … 998 998 } 999 999 #endif 1000 1000 1001 1001 } 1002 1002 … … 1010 1010 { 1011 1011 if( __TREEOUTPUT__ ) 1012 PrintS("]},"); 1012 PrintS("]},"); 1013 1013 return; 1014 1014 } 1015 1015 1016 1016 1017 1017 // use hybrid method? … … 1030 1030 } 1031 1031 #endif 1032 1032 1033 1033 SetUpTailTerms(); 1034 1034 #ifndef NDEBUG … … 1040 1040 } 1041 1041 #endif 1042 } 1042 } 1043 1043 } 1044 1044 … … 1051 1051 } 1052 1052 #endif 1053 1053 1054 1054 for( int k = size - 1; k >= 0; k-- ) 1055 1055 { 1056 1056 const poly a = LL->m[k]; assume( a != NULL ); 1057 1057 1058 poly a2 = pNext(a); 1058 poly a2 = pNext(a); 1059 1059 1060 1060 // Splitting 2-terms Leading syzygy module 1061 1061 if( a2 != NULL ) 1062 1062 pNext(a) = NULL; 1063 1063 1064 1064 if( __IGNORETAILS__ ) 1065 1065 { … … 1089 1089 Print("%% %5d **!TIME4!** SchreyerSyzygyComputation::ComputeSyzygy::SyzygyLift: dt: %d, dr: %d\n", getRTimer(), t, r); 1090 1090 } 1091 #endif 1091 #endif 1092 1092 1093 1093 TT->rank = id_RankFreeModule(TT, R); 1094 1094 1095 1095 if( __TREEOUTPUT__ ) 1096 1096 PrintS("\n]},"); … … 1115 1115 { 1116 1116 assume( !__LEAD2SYZ__ ); 1117 1117 1118 1118 m_syzLeads = Compute1LeadingSyzygyTerms(); 1119 1119 } 1120 1120 // m_syzLeads = FROM_NAMESPACE(INTERNAL, _ComputeLeadingSyzygyTerms(m_idLeads, m_rBaseRing, m_atttributes)); 1121 1121 1122 1122 // NOTE: set m_LS if tails are to be reduced! 1123 1123 assume( m_syzLeads!= NULL ); … … 1127 1127 m_LS = m_syzLeads; 1128 1128 m_checker.Initialize(m_syzLeads); 1129 #ifndef NDEBUG 1129 #ifndef NDEBUG 1130 1130 if( __DEBUG__ ) 1131 1131 { … … 1146 1146 poly SchreyerSyzygyComputation::SchreyerSyzygyNF(const poly syz_lead, poly syz_2) const 1147 1147 { 1148 1148 1149 1149 assume( !__IGNORETAILS__ ); 1150 1150 … … 1160 1160 PrintS("{ \"nodelabel\": \""); writeLatexTerm(syz_lead, r); PrintS("\", \"children\": ["); 1161 1161 } 1162 1162 1163 1163 if( syz_2 == NULL ) 1164 1164 { 1165 const int rr = p_GetComp(syz_lead, r) - 1; 1165 const int rr = p_GetComp(syz_lead, r) - 1; 1166 1166 1167 1167 assume( rr >= 0 && rr < IDELEMS(T) ); … … 1175 1175 PrintS("{ \"nodelabel\": \""); writeLatexTerm(syz_2, r); PrintS("\" },"); 1176 1176 } 1177 #else 1177 #else 1178 1178 poly aa = leadmonom(syz_lead, r); assume( aa != NULL); // :( 1179 1179 aa = p_Mult_mm(aa, L->m[rr], r); … … 1183 1183 PrintS("{ \"nodelabel\": \""); writeLatexTerm(syz_2, r); PrintS("\", \"edgelable\": \""); writeLatexTerm(aa, r, false); PrintS("\" },"); 1184 1184 } 1185 1185 1186 1186 syz_2 = m_div.FindReducer(aa, syz_lead, m_checker); 1187 1187 1188 1188 p_Delete(&aa, r); 1189 1189 #endif 1190 1191 } 1192 1193 assume( syz_2 != NULL ); // by construction of S-Polynomial 1190 1191 } 1192 1193 assume( syz_2 != NULL ); // by construction of S-Polynomial 1194 1194 1195 1195 assume( L != NULL ); … … 1213 1213 1214 1214 // kBucketInit(bucket, NULL, 0); // not needed!? 1215 1216 poly p = leadmonom(syz_lead, r); // :( 1217 // poly spoly = pp_Mult_qq(p, T->m[c], r); 1218 kBucket_Plus_mm_Mult_pp(bucket, p, T->m[c], 0); // TODO: store pLength(T->m[c]) separately!? 1215 1216 poly p = leadmonom(syz_lead, r); // :( 1217 // poly spoly = pp_Mult_qq(p, T->m[c], r); 1218 kBucket_Plus_mm_Mult_pp(bucket, p, T->m[c], 0); // TODO: store pLength(T->m[c]) separately!? 1219 1219 p_Delete(&p, r); 1220 1221 kbTest(bucket); 1220 1221 kbTest(bucket); 1222 1222 1223 1223 c = p_GetComp(syz_2, r) - 1; … … 1232 1232 // TODO: use bucket!? 1233 1233 // const bool bUsePolynomial = TEST_OPT_NOT_BUCKETS; // || (pLength(spoly) < MIN_LENGTH_BUCKET); 1234 // CPolynomialSummator tail(r, bUsePolynomial); 1235 sBucket_Add_p(tail, syz_2, 1); // tail.AddAndDelete(syz_2, 1); 1236 1234 // CPolynomialSummator tail(r, bUsePolynomial); 1235 sBucket_Add_p(tail, syz_2, 1); // tail.AddAndDelete(syz_2, 1); 1236 1237 1237 kbTest(bucket); 1238 1238 for( poly spoly = kBucketExtractLm(bucket); spoly != NULL; p_LmDelete(&spoly, r), spoly = kBucketExtractLm(bucket)) 1239 { 1239 { 1240 1240 kbTest(bucket); 1241 poly t = m_div.FindReducer(spoly, NULL, m_checker); 1241 poly t = m_div.FindReducer(spoly, NULL, m_checker); 1242 1242 1243 1243 if( t != NULL ) … … 1247 1247 1248 1248 assume( c >= 0 && c < IDELEMS(T) ); 1249 1249 1250 1250 if( __TREEOUTPUT__ ) 1251 1251 { … … 1270 1270 sBucketClearAdd(tail, &result, &len); // TODO: use Merge with sBucket??? 1271 1271 assume( pLength(result) == len ); 1272 1272 1273 1273 if( __TREEOUTPUT__ ) 1274 { 1274 { 1275 1275 PrintS("]},"); 1276 1276 } 1277 1277 1278 1278 1279 1279 return result; 1280 1280 } 1281 1281 1282 // namespace { 1282 // namespace { 1283 1283 1284 1284 // }; … … 1291 1291 { 1292 1292 const ring& r = m_rBaseRing; 1293 1293 1294 1294 assume(m_idTails != NULL && m_idTails->m != NULL); 1295 1295 assume( tail >= 0 && tail < IDELEMS(m_idTails) ); 1296 1296 1297 1297 /* return ComputeImage(multiplier, tail); */ 1298 1298 1299 1299 // TODO: store (multiplier, tail) -.-^-.-^-.--> ! 1300 1300 TCache::iterator top_itr = m_cache.find(tail); 1301 1301 1302 1302 if ( top_itr != m_cache.end() ) 1303 1303 { … … 1305 1305 1306 1306 TP2PCache& T = top_itr->second; 1307 1307 1308 1308 TP2PCache::iterator itr = T.find(multiplier); 1309 1309 1310 1310 if( itr != T.end() ) // Yey - Reuse!!! 1311 1311 { 1312 1312 assume( p_LmEqual(itr->first, multiplier, r) ); 1313 1313 1314 1314 if( itr->second == NULL ) 1315 1316 1315 return (NULL); 1316 1317 1317 poly p = p_Copy(itr->second, r); // no copy??? 1318 1318 1319 1319 if( __TREEOUTPUT__ ) 1320 1320 { 1321 // PrintS("{ \"nodelabel\": \""); writeLatexTerm(multiplier, r, false); 1321 // PrintS("{ \"nodelabel\": \""); writeLatexTerm(multiplier, r, false); 1322 1322 // Print(" \\\\cdot \\\\GEN{%d}\", \"children\": [ ", tail + 1); 1323 1324 1323 Print("{ \"lookedupnode\": \"1\", \"nodelabel\": \""); 1324 writeLatexTerm(p, r, true, false); 1325 1325 } 1326 1326 1327 1327 if( !n_Equal( pGetCoeff(multiplier), pGetCoeff(itr->first), r) ) // normalize coeffs!? 1328 1328 { 1329 number n = n_Div( pGetCoeff(multiplier), pGetCoeff(itr->first), r); 1330 p = p_Mult_nn(p, n, r); 1329 number n = n_Div( pGetCoeff(multiplier), pGetCoeff(itr->first), r); 1330 p = p_Mult_nn(p, n, r); 1331 1331 n_Delete(&n, r); 1332 1332 1333 1333 if( __TREEOUTPUT__ ) 1334 1334 Print("\", \"RESCALEDRESULT\": \"1\" },"); … … 1338 1338 Print("\", \"RESCALEDRESULT\": \"0\" },"); 1339 1339 } 1340 1340 1341 1341 return p; 1342 1342 } … … 1345 1345 { 1346 1346 // PrintS("{ \"nodelabel\": \""); writeLatexTerm(multiplier, r, false); Print(" \\\\cdot \\\\GEN{%d}\", \"children\": [", tail + 1); 1347 } 1348 1347 } 1348 1349 1349 const poly p = ComputeImage(multiplier, tail); 1350 1350 T.insert( TP2PCache::value_type(p_Copy(multiplier, r), p) ); // T[ multiplier ] = p; … … 1352 1352 // if( p == NULL ) 1353 1353 // return (NULL); 1354 1354 1355 1355 if( __TREEOUTPUT__ ) 1356 1356 { 1357 // 1357 // PrintS("], \"storedResult\": \""); writeLatexTerm(p, r, true, false); PrintS("\" },"); 1358 1358 } 1359 1359 1360 1360 return p_Copy(p, r); 1361 1361 } 1362 1362 1363 1363 CCacheCompare o(r); TP2PCache T(o); 1364 1364 … … 1367 1367 // PrintS("{ \"nodelabel\": \""); writeLatexTerm(multiplier, r, false); Print(" \\\\cdot \\\\GEN{%d}\", \"children\": [", tail + 1); 1368 1368 } 1369 1370 1369 1370 1371 1371 const poly p = ComputeImage(multiplier, tail); 1372 1372 1373 1373 T.insert( TP2PCache::value_type(p_Copy(multiplier, r), p) ); 1374 1374 1375 1375 m_cache.insert( TCache::value_type(tail, T) ); 1376 1376 1377 1377 // if( p == NULL ) 1378 1378 // return (NULL); 1379 1379 1380 1380 if( __TREEOUTPUT__ ) 1381 1381 { 1382 1382 // PrintS("], \"storedResult\": \""); writeLatexTerm(p, r, true, false); PrintS("\" },"); 1383 1383 } 1384 1384 1385 1385 return p_Copy(p, r); 1386 1386 } … … 1396 1396 } 1397 1397 1398 1398 1399 1399 poly SchreyerSyzygyComputation::TraverseTail(poly multiplier, poly tail) const 1400 1400 { … … 1419 1419 sBucket_pt& sum = m_sum_bucket; assume( sum != NULL ); 1420 1420 poly s; int len; 1421 1421 1422 1422 // CPolynomialSummator sum(r, bUsePolynomial); 1423 1423 // poly s = NULL; … … 1431 1431 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1432 1432 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1433 1433 1434 1434 const int lp = pLength(rt); 1435 1435 if( rt != NULL && lp != 0 ) 1436 sBucket_Add_p(sum, rt, lp); 1436 sBucket_Add_p(sum, rt, lp); 1437 1437 } 1438 1438 … … 1474 1474 if( s == NULL ) // No Reducer? 1475 1475 return s; 1476 1476 1477 1477 if( __TREEOUTPUT__ ) 1478 1478 { 1479 PrintS("{ \"nodelabel\": \""); writeLatexTerm(s, r); 1480 } 1481 1482 #else 1479 PrintS("{ \"nodelabel\": \""); writeLatexTerm(s, r); 1480 } 1481 1482 #else 1483 1483 // NOTE: only LT(term4reduction) should be used in the following: 1484 1484 poly product = pp_Mult_mm(multiplier, term4reduction, r); … … 1487 1487 if( s == NULL ) // No Reducer? 1488 1488 return s; 1489 1489 1490 1490 if( __TREEOUTPUT__ ) 1491 1491 { 1492 PrintS("{ \"nodelabel\": \""); writeLatexTerm(s, r); PrintS("\", \"edgelable\": \""); writeLatexTerm(product, r, false); 1493 } 1494 1492 PrintS("{ \"nodelabel\": \""); writeLatexTerm(s, r); PrintS("\", \"edgelable\": \""); writeLatexTerm(product, r, false); 1493 } 1494 1495 1495 p_Delete(&product, r); 1496 1496 #endif … … 1499 1499 if( s == NULL ) // No Reducer? 1500 1500 return s; 1501 1501 1502 1502 1503 1503 poly b = leadmonom(s, r); … … 1506 1506 assume( c >= 0 && c < IDELEMS(T) ); 1507 1507 1508 1508 1509 1509 if( __TREEOUTPUT__ ) 1510 1510 PrintS("\", \"children\": ["); 1511 1511 1512 1512 const poly t = TraverseTail(b, c); // T->m[c]; 1513 1513 1514 1514 if( t != NULL ) 1515 s = p_Add_q(s, t, r); 1515 s = p_Add_q(s, t, r); 1516 1516 1517 1517 if( __TREEOUTPUT__ ) 1518 1518 { 1519 1519 1520 1520 PrintS("], \"noderesult\": \""); 1521 writeLatexTerm(s, r, true, false); 1521 writeLatexTerm(s, r, true, false); 1522 1522 PrintS("\" },"); 1523 1523 } 1524 1524 1525 1525 return s; 1526 1526 } … … 1531 1531 1532 1532 BEGIN_NAMESPACE_NONAME 1533 1533 1534 1534 static inline int atGetInt(idhdl rootRingHdl, const char* attribute, long def) 1535 1535 { … … 1537 1537 } 1538 1538 1539 END_NAMESPACE 1540 1541 1539 END_NAMESPACE 1540 1541 1542 1542 SchreyerSyzygyComputationFlags::SchreyerSyzygyComputationFlags(idhdl rootRingHdl): 1543 1543 #ifndef NDEBUG … … 1547 1547 #endif 1548 1548 // __SYZCHECK__( (BOOLEAN)atGetInt(rootRingHdl, "SYZCHECK", __DEBUG__) ), 1549 __LEAD2SYZ__( atGetInt(rootRingHdl, "LEAD2SYZ", 1) ), 1550 __TAILREDSYZ__( atGetInt(rootRingHdl, "TAILREDSYZ", 1) ), 1549 __LEAD2SYZ__( atGetInt(rootRingHdl, "LEAD2SYZ", 1) ), 1550 __TAILREDSYZ__( atGetInt(rootRingHdl, "TAILREDSYZ", 1) ), 1551 1551 __HYBRIDNF__( atGetInt(rootRingHdl, "HYBRIDNF", 2) ), 1552 1552 __IGNORETAILS__( atGetInt(rootRingHdl, "IGNORETAILS", 0) ), … … 1554 1554 __TREEOUTPUT__( atGetInt(rootRingHdl, "TREEOUTPUT", 0) ), 1555 1555 m_rBaseRing( rootRingHdl->data.uring ) 1556 { 1556 { 1557 1557 #ifndef NDEBUG 1558 1558 if( __DEBUG__ ) … … 1568 1568 } 1569 1569 #endif 1570 1570 1571 1571 // TODO: just current setting! 1572 1572 assume( rootRingHdl == currRingHdl ); … … 1576 1576 } 1577 1577 1578 1578 1579 1579 1580 1580 CLeadingTerm::CLeadingTerm(unsigned int _label, const poly _lt, const ring R): … … 1601 1601 1602 1602 assume( m_L == L ); 1603 1603 1604 1604 if( L != NULL ) 1605 1605 { 1606 1606 const ring& R = m_rBaseRing; 1607 1607 assume( R != NULL ); 1608 1608 1609 1609 for( int k = IDELEMS(L) - 1; k >= 0; k-- ) 1610 1610 { … … 1685 1685 const unsigned long p_sev = m_sev; 1686 1686 1687 assume( p_sev == p_GetShortExpVector(p, r) ); 1687 assume( p_sev == p_GetShortExpVector(p, r) ); 1688 1688 1689 1689 return p_LmShortDivisibleByNoComp(p, p_sev, product, not_sev, r); … … 1704 1704 1705 1705 const unsigned long p_sev = m_sev; 1706 assume( p_sev == p_GetShortExpVector(p, r) ); 1706 assume( p_sev == p_GetShortExpVector(p, r) ); 1707 1707 1708 1708 if (p_sev & not_sev) … … 1720 1720 class CDivisorEnumerator: public SchreyerSyzygyComputationFlags 1721 1721 { 1722 private: 1722 private: 1723 1723 const CReducerFinder& m_reds; 1724 1724 const poly m_product; … … 1742 1742 { 1743 1743 assume( m_comp >= 0 ); 1744 assume( m_reds.m_L != NULL ); 1744 assume( m_reds.m_L != NULL ); 1745 1745 } 1746 1746 … … 1748 1748 { 1749 1749 m_active = false; 1750 1750 1751 1751 m_itr = m_reds.m_hash.find(m_comp); 1752 1752 … … 1763 1763 1764 1764 // m_active = true; 1765 return true; 1765 return true; 1766 1766 } 1767 1767 … … 1773 1773 return *(*m_current); 1774 1774 } 1775 1775 1776 1776 inline bool MoveNext() 1777 1777 { … … 1782 1782 else 1783 1783 m_active = true; // for Current() 1784 1784 1785 1785 // looking for the next good entry 1786 1786 for( ; m_current != m_finish; ++m_current ) … … 1804 1804 // the end... :( 1805 1805 assume( m_current == m_finish ); 1806 1806 1807 1807 m_active = false; 1808 1808 return false; … … 1819 1819 1820 1820 return itr.MoveNext(); 1821 1822 /* 1821 1822 /* 1823 1823 const ring& r = m_rBaseRing; 1824 1824 1825 1825 const long comp = p_GetComp(product, r); 1826 1826 const unsigned long not_sev = ~p_GetShortExpVector(product, r); … … 1830 1830 CReducersHash::const_iterator it = m_hash.find(comp); // same module component 1831 1831 1832 assume( m_L != NULL ); 1832 assume( m_L != NULL ); 1833 1833 1834 1834 if( it == m_hash.end() ) 1835 1835 return false; 1836 1836 // assume comp! 1837 1837 1838 1838 const TReducers& reducers = it->second; 1839 1839 … … 1855 1855 1856 1856 return false; 1857 */ 1857 */ 1858 1858 } 1859 1859 … … 1892 1892 class CDivisorEnumerator2: public SchreyerSyzygyComputationFlags 1893 1893 { 1894 private: 1894 private: 1895 1895 const CReducerFinder& m_reds; 1896 1896 const poly m_multiplier, m_term; … … 1914 1914 { 1915 1915 assume( m_comp >= 0 ); 1916 assume( m_reds.m_L != NULL ); 1917 assume( m_multiplier != NULL ); 1916 assume( m_reds.m_L != NULL ); 1917 assume( m_multiplier != NULL ); 1918 1918 assume( m_term != NULL ); 1919 1919 // assume( p_GetComp(m_multiplier, m_rBaseRing) == 0 ); … … 1923 1923 { 1924 1924 m_active = false; 1925 1926 m_itr = m_reds.m_hash.find(m_comp); 1925 1926 m_itr = m_reds.m_hash.find(m_comp); 1927 1927 1928 1928 if( m_itr == m_reds.m_hash.end() ) … … 1937 1937 return false; 1938 1938 1939 return true; 1939 return true; 1940 1940 } 1941 1941 … … 1947 1947 return *(*m_current); 1948 1948 } 1949 1949 1950 1950 inline bool MoveNext() 1951 1951 { … … 1954 1954 if( m_active ) 1955 1955 ++m_current; 1956 else 1956 else 1957 1957 m_active = true; 1958 1959 1958 1959 1960 1960 // looking for the next good entry 1961 1961 for( ; m_current != m_finish; ++m_current ) … … 1974 1974 // m_active = true; 1975 1975 return true; 1976 1976 1977 1977 } 1978 1978 } … … 1980 1980 // the end... :( 1981 1981 assume( m_current == m_finish ); 1982 1982 1983 1983 m_active = false; 1984 1984 return false; 1985 1985 } 1986 1986 }; 1987 1987 1988 1988 poly CReducerFinder::FindReducer(const poly multiplier, const poly t, 1989 1989 const poly syzterm, … … 2018 2018 2019 2019 poly pr = p_Mult_q( leadmonom(multiplier, r, false), leadmonom(t, r, false), r); 2020 2020 2021 2021 assume( p_EqualPolys(lm, pr, r) ); 2022 2022 … … 2024 2024 // def @@product = leadmonomial(syzterm) * L[@@r]; 2025 2025 2026 p_Delete(&lm, r); 2027 p_Delete(&pr, r); 2028 } 2029 2030 const BOOLEAN to_check = (syz_checker.IsNonempty()); // __TAILREDSYZ__ && 2026 p_Delete(&lm, r); 2027 p_Delete(&pr, r); 2028 } 2029 2030 const BOOLEAN to_check = (syz_checker.IsNonempty()); // __TAILREDSYZ__ && 2031 2031 2032 2032 const poly q = p_New(r); pNext(q) = NULL; … … 2039 2039 const poly p = itr.Current().m_lt; 2040 2040 const int k = itr.Current().m_label; 2041 2041 2042 2042 p_ExpVectorSum(q, multiplier, t, r); // q == product == multiplier * t // TODO: do it once? 2043 2043 p_ExpVectorDiff(q, q, p, r); // (LM(product) / LM(L[k])) 2044 2044 2045 2045 p_SetComp(q, k + 1, r); 2046 2046 p_Setm(q, r); … … 2055 2055 Print("_FindReducer::Test SYZTERM: q == syzterm !:((, syzterm is: "); 2056 2056 dPrint(syzterm, r, r, 1); 2057 } 2057 } 2058 2058 #endif 2059 2059 continue; 2060 2060 } 2061 2061 2062 // while the complement (the fraction) is not reducible by leading syzygies 2063 if( to_check && syz_checker.IsDivisible(q) ) 2062 // while the complement (the fraction) is not reducible by leading syzygies 2063 if( to_check && syz_checker.IsDivisible(q) ) 2064 2064 { 2065 2065 #ifndef NDEBUG … … 2073 2073 2074 2074 number n = n_Mult( p_GetCoeff(multiplier, r), p_GetCoeff(t, r), r); 2075 p_SetCoeff0(q, n_ Neg( n_Div(n, p_GetCoeff(p, r), r), r), r);2075 p_SetCoeff0(q, n_InpNeg( n_Div(n, p_GetCoeff(p, r), r), r), r); 2076 2076 n_Delete(&n, r); 2077 2077 2078 2078 return q; 2079 2079 } 2080 2080 2081 2081 /* 2082 2082 const long comp = p_GetComp(t, r); assume( comp >= 0 ); … … 2086 2086 // { 2087 2087 // const poly p = L->m[k]; 2088 // 2088 // 2089 2089 // if ( p_GetComp(p, r) != comp ) 2090 2090 // continue; 2091 // 2091 // 2092 2092 // const unsigned long p_sev = p_GetShortExpVector(p, r); // to be stored in m_hash!!! 2093 2093 … … 2099 2099 2100 2100 // assume comp! 2101 2101 2102 2102 assume( m_L != NULL ); 2103 2103 … … 2113 2113 2114 2114 // const unsigned long p_sev = (*vit)->m_sev; 2115 // assume( p_sev == p_GetShortExpVector(p, r) ); 2115 // assume( p_sev == p_GetShortExpVector(p, r) ); 2116 2116 2117 2117 // if( !p_LmShortDivisibleByNoComp(p, p_sev, product, not_sev, r) ) 2118 // continue; 2118 // continue; 2119 2119 2120 2120 if( !(*vit)->DivisibilityCheck(multiplier, t, not_sev, r) ) 2121 2121 continue; 2122 2123 2122 2123 2124 2124 // if (p_sev & not_sev) continue; 2125 // if( !_p_LmDivisibleByNoComp(p, multiplier, t, r) ) continue; 2126 2127 2128 p_ExpVectorSum(q, multiplier, t, r); // q == product == multiplier * t 2125 // if( !_p_LmDivisibleByNoComp(p, multiplier, t, r) ) continue; 2126 2127 2128 p_ExpVectorSum(q, multiplier, t, r); // q == product == multiplier * t 2129 2129 p_ExpVectorDiff(q, q, p, r); // (LM(product) / LM(L[k])) 2130 2130 2131 2131 p_SetComp(q, k + 1, r); 2132 2132 p_Setm(q, r); … … 2140 2140 Print("_FindReducer::Test SYZTERM: q == syzterm !:((, syzterm is: "); 2141 2141 dPrint(syzterm, r, r, 1); 2142 } 2142 } 2143 2143 2144 2144 continue; 2145 2145 } 2146 2146 2147 // while the complement (the fraction) is not reducible by leading syzygies 2148 if( to_check && syz_checker.IsDivisible(q) ) 2147 // while the complement (the fraction) is not reducible by leading syzygies 2148 if( to_check && syz_checker.IsDivisible(q) ) 2149 2149 { 2150 2150 if( __DEBUG__ ) … … 2157 2157 2158 2158 number n = n_Mult( p_GetCoeff(multiplier, r), p_GetCoeff(t, r), r); 2159 p_SetCoeff0(q, n_ Neg( n_Div(n, p_GetCoeff(p, r), r), r), r);2159 p_SetCoeff0(q, n_InpNeg( n_Div(n, p_GetCoeff(p, r), r), r), r); 2160 2160 n_Delete(&n, r); 2161 2161 2162 2162 return q; 2163 2163 } 2164 */ 2164 */ 2165 2165 2166 2166 p_LmFree(q, r); 2167 2167 2168 2168 return NULL; 2169 2169 2170 2170 } 2171 2171 … … 2203 2203 // def @@product = leadmonomial(syzterm) * L[@@r]; 2204 2204 2205 p_Delete(&lm, r); 2206 } 2207 2208 2209 const BOOLEAN to_check = (syz_checker.IsNonempty()); // __TAILREDSYZ__ && 2205 p_Delete(&lm, r); 2206 } 2207 2208 2209 const BOOLEAN to_check = (syz_checker.IsNonempty()); // __TAILREDSYZ__ && 2210 2210 2211 2211 const poly q = p_New(r); pNext(q) = NULL; … … 2218 2218 const poly p = itr.Current().m_lt; 2219 2219 const int k = itr.Current().m_label; 2220 2220 2221 2221 p_ExpVectorDiff(q, product, p, r); // (LM(product) / LM(L[k])) 2222 2222 p_SetComp(q, k + 1, r); … … 2232 2232 Print("_FindReducer::Test SYZTERM: q == syzterm !:((, syzterm is: "); 2233 2233 dPrint(syzterm, r, r, 1); 2234 } 2234 } 2235 2235 #endif 2236 2236 continue; 2237 2237 } 2238 2238 2239 // while the complement (the fraction) is not reducible by leading syzygies 2240 if( to_check && syz_checker.IsDivisible(q) ) 2239 // while the complement (the fraction) is not reducible by leading syzygies 2240 if( to_check && syz_checker.IsDivisible(q) ) 2241 2241 { 2242 2242 #ifndef NDEBUG … … 2249 2249 } 2250 2250 2251 p_SetCoeff0(q, n_ Neg( n_Div( p_GetCoeff(product, r), p_GetCoeff(p, r), r), r), r);2252 2251 p_SetCoeff0(q, n_InpNeg( n_Div( p_GetCoeff(product, r), p_GetCoeff(p, r), r), r), r); 2252 2253 2253 return q; 2254 2254 } 2255 2256 2257 2258 /* 2255 2256 2257 2258 /* 2259 2259 const long comp = p_GetComp(product, r); 2260 2260 const unsigned long not_sev = ~p_GetShortExpVector(product, r); … … 2265 2265 // { 2266 2266 // const poly p = L->m[k]; 2267 // 2267 // 2268 2268 // if ( p_GetComp(p, r) != comp ) 2269 2269 // continue; 2270 // 2270 // 2271 2271 // const unsigned long p_sev = p_GetShortExpVector(p, r); // to be stored in m_hash!!! 2272 2272 2273 2273 // looking for an appropriate diviser p = L[k]... 2274 2274 CReducersHash::const_iterator it = m_hash.find(comp); // same module component … … 2281 2281 const TReducers& reducers = it->second; 2282 2282 2283 const BOOLEAN to_check = (syz_checker.IsNonempty()); // __TAILREDSYZ__ && 2283 const BOOLEAN to_check = (syz_checker.IsNonempty()); // __TAILREDSYZ__ && 2284 2284 2285 2285 const poly q = p_New(r); pNext(q) = NULL; … … 2287 2287 if( __DEBUG__ ) 2288 2288 p_SetCoeff0(q, 0, r); // for printing q 2289 2289 2290 2290 for(TReducers::const_iterator vit = reducers.begin(); vit != reducers.end(); vit++ ) 2291 2291 { … … 2300 2300 const unsigned long p_sev = (*vit)->m_sev; 2301 2301 2302 assume( p_sev == p_GetShortExpVector(p, r) ); 2302 assume( p_sev == p_GetShortExpVector(p, r) ); 2303 2303 2304 2304 if( !p_LmShortDivisibleByNoComp(p, p_sev, product, not_sev, r) ) 2305 continue; 2305 continue; 2306 2306 2307 2307 // // ... which divides the product, looking for the _1st_ appropriate one! … … 2321 2321 Print("_FindReducer::Test SYZTERM: q == syzterm !:((, syzterm is: "); 2322 2322 dPrint(syzterm, r, r, 1); 2323 } 2323 } 2324 2324 2325 2325 continue; 2326 2326 } 2327 2327 2328 // while the complement (the fraction) is not reducible by leading syzygies 2329 if( to_check && syz_checker.IsDivisible(q) ) 2328 // while the complement (the fraction) is not reducible by leading syzygies 2329 if( to_check && syz_checker.IsDivisible(q) ) 2330 2330 { 2331 2331 if( __DEBUG__ ) … … 2333 2333 PrintS("_FindReducer::Test LS: q is divisible by LS[?] !:((: "); 2334 2334 } 2335 2335 2336 2336 continue; 2337 2337 } 2338 2338 2339 p_SetCoeff0(q, n_ Neg( n_Div( p_GetCoeff(product, r), p_GetCoeff(p, r), r), r), r);2339 p_SetCoeff0(q, n_InpNeg( n_Div( p_GetCoeff(product, r), p_GetCoeff(p, r), r), r), r); 2340 2340 return q; 2341 2341 } … … 2376 2376 } 2377 2377 2378 m_compute = true; 2378 m_compute = true; 2379 2379 } 2380 2380 } … … 2385 2385 assume( m != NULL ); 2386 2386 if( m_compute && (m != NULL)) 2387 { 2387 { 2388 2388 const ring& R = m_rBaseRing; 2389 2389 … … 2400 2400 } 2401 2401 2402 CCacheCompare::CCacheCompare(): m_ring(currRing) {} 2402 CCacheCompare::CCacheCompare(): m_ring(currRing) {} 2403 2403 2404 2404 -
Singular/eigenval_ip.cc
r46c7c3 r984ff3 199 199 pNext(pNext(e0->m[i]))==NULL) 200 200 { 201 number e1=n Neg(nCopy(pGetCoeff(e0->m[i])));201 number e1=nInpNeg(nCopy(pGetCoeff(e0->m[i]))); 202 202 if(pGetExp(pNext(e0->m[i]),1)==0) 203 203 e->m[k]=pNSet(nDiv(pGetCoeff(pNext(e0->m[i])),e1)); -
Singular/fevoices.h
r46c7c3 r984ff3 13 13 14 14 #include <kernel/structs.h> 15 16 enum feBufferTypes 17 { 18 BT_none = 0, // entry level 19 BT_break = 1, // while, for 20 BT_proc, // proc 21 BT_example, // example 22 BT_file, // <"file" 23 BT_execute, // execute 24 BT_if, // if 25 BT_else // else 26 }; 15 27 16 28 enum feBufferInputs -
Singular/fglm.cc
r46c7c3 r984ff3 53 53 }; 54 54 55 // Has to be called, if curr Quotient!= NULL. ( i.e. qring-case )55 // Has to be called, if currRing->qideal != NULL. ( i.e. qring-case ) 56 56 // Then a new ideal is build, consisting of the generators of sourceIdeal 57 // and the generators of curr Quotient, which are completely reduced by57 // and the generators of currRing->qideal, which are completely reduced by 58 58 // the sourceIdeal. This means: If sourceIdeal is reduced, then the new 59 59 // ideal will be reduced as well. … … 63 63 int k, l, offset; 64 64 BOOLEAN found; 65 ideal newSource= idInit( IDELEMS( sourceIdeal ) + IDELEMS( curr Quotient), 1 );65 ideal newSource= idInit( IDELEMS( sourceIdeal ) + IDELEMS( currRing->qideal ), 1 ); 66 66 for ( k= IDELEMS( sourceIdeal )-1; k >=0; k-- ) 67 67 (newSource->m)[k]= pCopy( (sourceIdeal->m)[k] ); 68 68 offset= IDELEMS( sourceIdeal ); 69 for ( l= IDELEMS( curr Quotient)-1; l >= 0; l-- )70 { 71 if ( (curr Quotient->m)[l] != NULL )69 for ( l= IDELEMS( currRing->qideal )-1; l >= 0; l-- ) 70 { 71 if ( (currRing->qideal->m)[l] != NULL ) 72 72 { 73 73 found= FALSE; 74 74 for ( k= IDELEMS( sourceIdeal )-1; (k >= 0) && (found == FALSE); k-- ) 75 if ( pDivisibleBy( (sourceIdeal->m)[k], (curr Quotient->m)[l] ) )75 if ( pDivisibleBy( (sourceIdeal->m)[k], (currRing->qideal->m)[l] ) ) 76 76 found= TRUE; 77 77 if ( ! found ) 78 78 { 79 (newSource->m)[offset]= pCopy( (curr Quotient->m)[l] );79 (newSource->m)[offset]= pCopy( (currRing->qideal->m)[l] ); 80 80 offset++; 81 81 } … … 86 86 } 87 87 88 // Has to be called, if curr Quotient!= NULL, i.e. in qring-case.88 // Has to be called, if currRing->qideal != NULL, i.e. in qring-case. 89 89 // Gets rid of the elements of result which are contained in 90 // curr Quotientand skips Zeroes.90 // currRing->qideal and skips Zeroes. 91 91 // Assumes that currRing == destRing 92 92 void … … 100 100 { 101 101 found= FALSE; 102 for ( l= IDELEMS( curr Quotient)-1; (l >= 0) && ( found == FALSE ); l-- )103 if ( pDivisibleBy( (curr Quotient->m)[l], (result->m)[k] ) )102 for ( l= IDELEMS( currRing->qideal )-1; (l >= 0) && ( found == FALSE ); l-- ) 103 if ( pDivisibleBy( (currRing->qideal->m)[l], (result->m)[k] ) ) 104 104 found= TRUE; 105 105 if ( found ) pDelete( & ((result->m)[k]) ); … … 302 302 { 303 303 ideal sourceIdeal; 304 if ( curr Quotient!= NULL )304 if ( currRing->qideal != NULL ) 305 305 sourceIdeal= fglmUpdatesource( IDIDEAL( ih ) ); 306 306 else … … 311 311 // Now the settings are compatible with FGLM 312 312 assumeStdFlag( (leftv)ih ); 313 if ( fglmzero( IDRING(sourceRingHdl), sourceIdeal, IDRING(destRingHdl), destIdeal, FALSE, (curr Quotient!= NULL) ) == FALSE )313 if ( fglmzero( IDRING(sourceRingHdl), sourceIdeal, IDRING(destRingHdl), destIdeal, FALSE, (currRing->qideal != NULL) ) == FALSE ) 314 314 state= FglmNotReduced; 315 315 } … … 321 321 { 322 322 case FglmOk: 323 if ( curr Quotient!= NULL ) fglmUpdateresult( destIdeal );323 if ( currRing->qideal != NULL ) fglmUpdateresult( destIdeal ); 324 324 break; 325 325 case FglmHasOne: -
Singular/grammar.cc
r46c7c3 r984ff3 235 235 Werror("leaving %s",VoiceName()); 236 236 } 237 // libfac:238 extern int libfac_interruptflag;239 libfac_interruptflag=0;240 237 } 241 238 -
Singular/grammar.y
r46c7c3 r984ff3 171 171 Werror("leaving %s",VoiceName()); 172 172 } 173 // libfac:174 extern int libfac_interruptflag;175 libfac_interruptflag=0;176 173 } 177 174 -
Singular/iparith.cc
r46c7c3 r984ff3 1981 1981 } 1982 1982 #endif 1983 if(curr Quotient==NULL)1983 if(currRing->qideal==NULL) 1984 1984 res->data = (char *)((long)scDimInt((ideal)(v->Data()),(ideal)w->Data())); 1985 1985 else 1986 1986 { 1987 ideal q=idSimpleAdd(curr Quotient,(ideal)w->Data());1987 ideal q=idSimpleAdd(currRing->qideal,(ideal)w->Data()); 1988 1988 res->data = (char *)((long)scDimInt((ideal)(v->Data()),q)); 1989 1989 idDelete(&q); … … 2408 2408 Print("// performed for generic fibre, that is, over Q\n"); 2409 2409 intvec *module_w=(intvec*)atGet(&uuAsLeftv,"isHomog",INTVEC_CMD); 2410 intvec *iv=hFirstSeries(uu,module_w,curr Quotient);2410 intvec *iv=hFirstSeries(uu,module_w,currRing->qideal); 2411 2411 int returnWithTrue = 1; 2412 2412 switch((int)(long)v->Data()) … … 2433 2433 assumeStdFlag(u); 2434 2434 intvec *module_w=(intvec*)atGet(u,"isHomog",INTVEC_CMD); 2435 intvec *iv=hFirstSeries((ideal)u->Data(),module_w,curr Quotient);2435 intvec *iv=hFirstSeries((ideal)u->Data(),module_w,currRing->qideal); 2436 2436 switch((int)(long)v->Data()) 2437 2437 { … … 2499 2499 kModW=w; 2500 2500 pSetDegProcs(currRing,kHomModDeg); 2501 res->data=(void *)(long)idHomModule(v_id,curr Quotient,&w);2501 res->data=(void *)(long)idHomModule(v_id,currRing->qideal,&w); 2502 2502 currRing->pLexOrder=save_pLexOrder; 2503 2503 kHomW=NULL; … … 2511 2511 assumeStdFlag(u); 2512 2512 res->data=(void *)scIndIndset((ideal)(u->Data()),(int)(long)(v->Data()), 2513 curr Quotient);2513 currRing->qideal); 2514 2514 return FALSE; 2515 2515 } … … 2558 2558 intvec *w_u=(intvec *)atGet(u,"isHomog",INTVEC_CMD); 2559 2559 res->data = (char *)scKBase((int)(long)v->Data(), 2560 (ideal)(u->Data()),curr Quotient, w_u);2560 (ideal)(u->Data()),currRing->qideal, w_u); 2561 2561 if (w_u!=NULL) 2562 2562 { … … 2646 2646 else 2647 2647 { 2648 if ((!idTestHomModule(u_id,curr Quotient,w_v))2649 || (!idTestHomModule(v_id,curr Quotient,w_v)))2648 if ((!idTestHomModule(u_id,currRing->qideal,w_v)) 2649 || (!idTestHomModule(v_id,currRing->qideal,w_v))) 2650 2650 { 2651 2651 WarnS("wrong weights"); … … 3000 3000 { 3001 3001 assumeStdFlag(v); 3002 res->data = (char *)kNF((ideal)v->Data(),curr Quotient,(poly)u->Data());3002 res->data = (char *)kNF((ideal)v->Data(),currRing->qideal,(poly)u->Data()); 3003 3003 return FALSE; 3004 3004 } … … 3008 3008 ideal ui=(ideal)u->Data(); 3009 3009 ideal vi=(ideal)v->Data(); 3010 res->data = (char *)kNF(vi,curr Quotient,ui);3010 res->data = (char *)kNF(vi,currRing->qideal,ui); 3011 3011 return FALSE; 3012 3012 } … … 3031 3031 { 3032 3032 maxl = currRing->N-1+2*(iiOp==MRES_CMD); 3033 if (curr Quotient!=NULL)3033 if (currRing->qideal!=NULL) 3034 3034 { 3035 3035 Warn( … … 3041 3041 if (weights!=NULL) 3042 3042 { 3043 if (!idTestHomModule(u_id,curr Quotient,weights))3043 if (!idTestHomModule(u_id,currRing->qideal,weights)) 3044 3044 { 3045 3045 WarnS("wrong weights given:");weights->show();PrintLn(); … … 3056 3056 } 3057 3057 else 3058 idHomModule(u_id,curr Quotient,&ww);3058 idHomModule(u_id,currRing->qideal,&ww); 3059 3059 weights=ww; 3060 3060 … … 3069 3069 { 3070 3070 int dummy; 3071 if((curr Quotient!=NULL)||3071 if((currRing->qideal!=NULL)|| 3072 3072 (!idHomIdeal (u_id,NULL))) 3073 3073 { … … 3081 3081 { 3082 3082 int dummy; 3083 if((curr Quotient!=NULL)||3083 if((currRing->qideal!=NULL)|| 3084 3084 (!idHomIdeal (u_id,NULL))) 3085 3085 { … … 3093 3093 { 3094 3094 int dummy; 3095 if((curr Quotient!=NULL)||3095 if((currRing->qideal!=NULL)|| 3096 3096 (!idHomIdeal (u_id,NULL))) 3097 3097 { … … 3146 3146 { 3147 3147 maxl = currRing->N-1+2*(iiOp==MRES_CMD); 3148 if (curr Quotient!=NULL)3148 if (currRing->qideal!=NULL) 3149 3149 { 3150 3150 Warn( … … 3156 3156 if (weights!=NULL) 3157 3157 { 3158 if (!idTestHomModule(u_id,curr Quotient,weights))3158 if (!idTestHomModule(u_id,currRing->qideal,weights)) 3159 3159 { 3160 3160 WarnS("wrong weights given:");weights->show();PrintLn(); … … 3180 3180 { 3181 3181 int dummy; 3182 if((curr Quotient!=NULL)||3182 if((currRing->qideal!=NULL)|| 3183 3183 (!idHomIdeal (u_id,NULL))) 3184 3184 { … … 3194 3194 { 3195 3195 int dummy; 3196 if((curr Quotient!=NULL)||3196 if((currRing->qideal!=NULL)|| 3197 3197 (!idHomIdeal (u_id,NULL))) 3198 3198 { … … 3206 3206 { 3207 3207 int dummy; 3208 if((curr Quotient!=NULL)||3208 if((currRing->qideal!=NULL)|| 3209 3209 (!idHomIdeal (u_id,NULL))) 3210 3210 { … … 3399 3399 if (w!=NULL) 3400 3400 { 3401 if (!idTestHomModule(u_id,curr Quotient,w))3401 if (!idTestHomModule(u_id,currRing->qideal,w)) 3402 3402 { 3403 3403 WarnS("wrong weights:");w->show();PrintLn(); … … 3410 3410 } 3411 3411 } 3412 result=kStd(u_id,curr Quotient,hom,&w,(intvec *)v->Data());3412 result=kStd(u_id,currRing->qideal,hom,&w,(intvec *)v->Data()); 3413 3413 idSkipZeroes(result); 3414 3414 res->data = (char *)result; … … 3479 3479 if (w!=NULL) 3480 3480 { 3481 if (!idTestHomModule(i1,curr Quotient,w))3481 if (!idTestHomModule(i1,currRing->qideal,w)) 3482 3482 { 3483 3483 // no warnung: this is legal, if i in std(i,p) … … 3496 3496 /* ii0 appears to be the position of the first element of il that 3497 3497 does not belong to the old SB ideal */ 3498 result=kStd(i1,curr Quotient,hom,&w,NULL,0,ii0);3498 result=kStd(i1,currRing->qideal,hom,&w,NULL,0,ii0); 3499 3499 SI_RESTORE_OPT1(save1); 3500 3500 idDelete(&i1); … … 3648 3648 { 3649 3649 number n=(number)u->CopyD(BIGINT_CMD); 3650 n=n_ Neg(n,coeffs_BIGINT);3650 n=n_InpNeg(n,coeffs_BIGINT); 3651 3651 res->data = (char *)n; 3652 3652 return FALSE; … … 3660 3660 { 3661 3661 number n=(number)u->CopyD(NUMBER_CMD); 3662 n=n Neg(n);3662 n=nInpNeg(n); 3663 3663 res->data = (char *)n; 3664 3664 return FALSE; … … 3860 3860 Print("// generic fibre, that is, over Q\n"); 3861 3861 intvec *module_w=(intvec*)atGet(&vvAsLeftv,"isHomog",INTVEC_CMD); 3862 scDegree(vv,module_w,curr Quotient);3862 scDegree(vv,module_w,currRing->qideal); 3863 3863 idDelete(&vv); 3864 3864 rChangeCurrRing(origR); … … 3868 3868 assumeStdFlag(v); 3869 3869 intvec *module_w=(intvec*)atGet(v,"isHomog",INTVEC_CMD); 3870 scDegree((ideal)v->Data(),module_w,curr Quotient);3870 scDegree((ideal)v->Data(),module_w,currRing->qideal); 3871 3871 char *s=SPrintEnd(); 3872 3872 int l=strlen(s)-1; … … 3987 3987 /* drop degree zero generator from vv (if any) */ 3988 3988 if (i != -1) pDelete(&vv->m[i]); 3989 long d = (long)scDimInt(vv, curr Quotient);3989 long d = (long)scDimInt(vv, currRing->qideal); 3990 3990 if (rField_is_Ring_Z(currRing) && (i == -1)) d++; 3991 3991 res->data = (char *)d; … … 3996 3996 } 3997 3997 #endif 3998 res->data = (char *)(long)scDimInt((ideal)(v->Data()),curr Quotient);3998 res->data = (char *)(long)scDimInt((ideal)(v->Data()),currRing->qideal); 3999 3999 return FALSE; 4000 4000 } … … 4180 4180 Print("// performed for generic fibre, that is, over Q\n"); 4181 4181 intvec *module_w=(intvec*)atGet(&vvAsLeftv,"isHomog",INTVEC_CMD); 4182 //scHilbertPoly(vv,curr Quotient);4183 hLookSeries(vv,module_w,curr Quotient);4182 //scHilbertPoly(vv,currRing->qideal); 4183 hLookSeries(vv,module_w,currRing->qideal); 4184 4184 idDelete(&vv); 4185 4185 rChangeCurrRing(origR); … … 4190 4190 assumeStdFlag(v); 4191 4191 intvec *module_w=(intvec*)atGet(v,"isHomog",INTVEC_CMD); 4192 //scHilbertPoly((ideal)v->Data(),curr Quotient);4193 hLookSeries((ideal)v->Data(),module_w,curr Quotient);4192 //scHilbertPoly((ideal)v->Data(),currRing->qideal); 4193 hLookSeries((ideal)v->Data(),module_w,currRing->qideal); 4194 4194 return FALSE; 4195 4195 } … … 4212 4212 if (w==NULL) 4213 4213 { 4214 res->data=(void *)(long)idHomModule(v_id,curr Quotient,&w);4214 res->data=(void *)(long)idHomModule(v_id,currRing->qideal,&w); 4215 4215 if (res->data!=NULL) 4216 4216 { … … 4228 4228 else 4229 4229 { 4230 res->data=(void *)(long)idTestHomModule(v_id,curr Quotient,w);4230 res->data=(void *)(long)idTestHomModule(v_id,currRing->qideal,w); 4231 4231 if((res->data==NULL) && (v->rtyp==IDHDL)) 4232 4232 { … … 4305 4305 { 4306 4306 assumeStdFlag(v); 4307 res->data=(void *)scIndIntvec((ideal)(v->Data()),curr Quotient);4307 res->data=(void *)scIndIntvec((ideal)(v->Data()),currRing->qideal); 4308 4308 return FALSE; 4309 4309 } 4310 4310 static BOOLEAN jjINTERRED(leftv res, leftv v) 4311 4311 { 4312 ideal result=kInterRed((ideal)(v->Data()), curr Quotient);4312 ideal result=kInterRed((ideal)(v->Data()), currRing->qideal); 4313 4313 #ifdef HAVE_RINGS 4314 4314 if(rField_is_Ring(currRing)) … … 4391 4391 { 4392 4392 assumeStdFlag(v); 4393 res->data = (char *)scKBase(-1,(ideal)(v->Data()),curr Quotient);4393 res->data = (char *)scKBase(-1,(ideal)(v->Data()),currRing->qideal); 4394 4394 return FALSE; 4395 4395 } … … 4572 4572 int t=v->Typ(); 4573 4573 ideal r,m; 4574 r=kMin_std((ideal)v->Data(),curr Quotient,testHomog,NULL,m);4574 r=kMin_std((ideal)v->Data(),currRing->qideal,testHomog,NULL,m); 4575 4575 lists l=(lists)omAllocBin(slists_bin); 4576 4576 l->Init(2); … … 4586 4586 { 4587 4587 assumeStdFlag(v); 4588 res->data = (char *)(long)scMultInt((ideal)(v->Data()),curr Quotient);4588 res->data = (char *)(long)scMultInt((ideal)(v->Data()),currRing->qideal); 4589 4589 return FALSE; 4590 4590 } … … 4744 4744 if (w!=NULL) 4745 4745 { 4746 if (!idTestHomModule(v_id,curr Quotient,w))4746 if (!idTestHomModule(v_id,currRing->qideal,w)) 4747 4747 { 4748 4748 WarnS("wrong weights"); … … 4851 4851 #endif 4852 4852 4853 if ((curr Quotient!=NULL) && !bIsSCA)4853 if ((currRing->qideal!=NULL) && !bIsSCA) 4854 4854 { 4855 4855 WerrorS("qring not supported by slimgb at the moment"); … … 4866 4866 if (w!=NULL) 4867 4867 { 4868 if (!idTestHomModule(u_id,curr Quotient,w))4868 if (!idTestHomModule(u_id,currRing->qideal,w)) 4869 4869 { 4870 4870 WarnS("wrong weights"); … … 4895 4895 if (w!=NULL) 4896 4896 { 4897 if (!idTestHomModule(v_id,curr Quotient,w))4897 if (!idTestHomModule(v_id,currRing->qideal,w)) 4898 4898 { 4899 4899 WarnS("wrong weights"); … … 4906 4906 } 4907 4907 } 4908 result=kSba(v_id,curr Quotient,hom,&w,1,0);4908 result=kSba(v_id,currRing->qideal,hom,&w,1,0); 4909 4909 idSkipZeroes(result); 4910 4910 res->data = (char *)result; … … 4921 4921 if (w!=NULL) 4922 4922 { 4923 if (!idTestHomModule(v_id,curr Quotient,w))4923 if (!idTestHomModule(v_id,currRing->qideal,w)) 4924 4924 { 4925 4925 WarnS("wrong weights"); … … 4932 4932 } 4933 4933 } 4934 result=kSba(v_id,curr Quotient,hom,&w,(int)(long)u->Data(),0);4934 result=kSba(v_id,currRing->qideal,hom,&w,(int)(long)u->Data(),0); 4935 4935 idSkipZeroes(result); 4936 4936 res->data = (char *)result; … … 4947 4947 if (w!=NULL) 4948 4948 { 4949 if (!idTestHomModule(v_id,curr Quotient,w))4949 if (!idTestHomModule(v_id,currRing->qideal,w)) 4950 4950 { 4951 4951 WarnS("wrong weights"); … … 4958 4958 } 4959 4959 } 4960 result=kSba(v_id,curr Quotient,hom,&w,(int)(long)u->Data(),(int)(long)t->Data());4960 result=kSba(v_id,currRing->qideal,hom,&w,(int)(long)u->Data(),(int)(long)t->Data()); 4961 4961 idSkipZeroes(result); 4962 4962 res->data = (char *)result; … … 4973 4973 if (w!=NULL) 4974 4974 { 4975 if (!idTestHomModule(v_id,curr Quotient,w))4975 if (!idTestHomModule(v_id,currRing->qideal,w)) 4976 4976 { 4977 4977 WarnS("wrong weights"); … … 4984 4984 } 4985 4985 } 4986 result=kStd(v_id,curr Quotient,hom,&w);4986 result=kStd(v_id,currRing->qideal,hom,&w); 4987 4987 idSkipZeroes(result); 4988 4988 res->data = (char *)result; … … 5034 5034 add_row_shift=w->min_in(); 5035 5035 (*w)-=add_row_shift; 5036 if (idTestHomModule(v_id,curr Quotient,w))5036 if (idTestHomModule(v_id,currRing->qideal,w)) 5037 5037 hom=isHomog; 5038 5038 else … … 5196 5196 { 5197 5197 assumeStdFlag(v); 5198 res->data = (char *)(long)scMult0Int((ideal)v->Data(),curr Quotient);5198 res->data = (char *)(long)scMult0Int((ideal)v->Data(),currRing->qideal); 5199 5199 return FALSE; 5200 5200 } … … 5908 5908 Print("// performed for generic fibre, that is, over Q\n"); 5909 5909 intvec *module_w=(intvec*)atGet(&uuAsLeftv,"isHomog",INTVEC_CMD); 5910 intvec *iv=hFirstSeries(uu,module_w,curr Quotient,wdegree);5910 intvec *iv=hFirstSeries(uu,module_w,currRing->qideal,wdegree); 5911 5911 int returnWithTrue = 1; 5912 5912 switch((int)(long)v->Data()) … … 5933 5933 assumeStdFlag(u); 5934 5934 intvec *module_w=(intvec *)atGet(u,"isHomog",INTVEC_CMD); 5935 intvec *iv=hFirstSeries((ideal)u->Data(),module_w,curr Quotient,wdegree);5935 intvec *iv=hFirstSeries((ideal)u->Data(),module_w,currRing->qideal,wdegree); 5936 5936 switch((int)(long)v->Data()) 5937 5937 { … … 6553 6553 { 6554 6554 assumeStdFlag(v); 6555 res->data = (char *)kNF((ideal)v->Data(),curr Quotient,(poly)u->Data(),6555 res->data = (char *)kNF((ideal)v->Data(),currRing->qideal,(poly)u->Data(), 6556 6556 0,(int)(long)w->Data()); 6557 6557 return FALSE; … … 6560 6560 { 6561 6561 assumeStdFlag(v); 6562 res->data = (char *)kNF((ideal)v->Data(),curr Quotient,(ideal)u->Data(),6562 res->data = (char *)kNF((ideal)v->Data(),currRing->qideal,(ideal)u->Data(), 6563 6563 0,(int)(long)w->Data()); 6564 6564 return FALSE; … … 6582 6582 { 6583 6583 l=1; 6584 if (!idTestHomModule(u_id,curr Quotient,iv))6584 if (!idTestHomModule(u_id,currRing->qideal,iv)) 6585 6585 { 6586 6586 WarnS("wrong weights"); … … 6631 6631 if (ww!=NULL) 6632 6632 { 6633 if (!idTestHomModule(u_id,curr Quotient,ww))6633 if (!idTestHomModule(u_id,currRing->qideal,ww)) 6634 6634 { 6635 6635 WarnS("wrong weights"); … … 6643 6643 } 6644 6644 result=kStd(u_id, 6645 curr Quotient,6645 currRing->qideal, 6646 6646 hom, 6647 6647 &ww, // module weights … … 7759 7759 if (ww!=NULL) 7760 7760 { 7761 if (!idTestHomModule(i1,curr Quotient,ww))7761 if (!idTestHomModule(i1,currRing->qideal,ww)) 7762 7762 { 7763 7763 WarnS("wrong weights"); … … 7774 7774 si_opt_1|=Sy_bit(OPT_SB_1); 7775 7775 result=kStd(i1, 7776 curr Quotient,7776 currRing->qideal, 7777 7777 hom, 7778 7778 &ww, // module weights -
Singular/ipassign.cc
r46c7c3 r984ff3 471 471 res->data=(void*)p; 472 472 jiAssignAttr(res,a); 473 if (TEST_V_QRING && (curr Quotient!=NULL) && (!hasFlag(res,FLAG_QRING))) jjNormalizeQRingP(res);473 if (TEST_V_QRING && (currRing->qideal!=NULL) && (!hasFlag(res,FLAG_QRING))) jjNormalizeQRingP(res); 474 474 } 475 475 else … … 643 643 setFlag(res,FLAG_STD); 644 644 } 645 if (TEST_V_QRING && (curr Quotient!=NULL)&& (!hasFlag(res,FLAG_QRING))) jjNormalizeQRingId(res);645 if (TEST_V_QRING && (currRing->qideal!=NULL)&& (!hasFlag(res,FLAG_QRING))) jjNormalizeQRingId(res); 646 646 return FALSE; 647 647 } … … 661 661 pNormalize(I->m[0]); 662 662 res->data=(void *)I; 663 if (TEST_V_QRING && (curr Quotient!=NULL))663 if (TEST_V_QRING && (currRing->qideal!=NULL)) 664 664 { 665 665 if (hasFlag(a,FLAG_QRING)) setFlag(res,FLAG_QRING); … … 677 677 id_Normalize((ideal)m, currRing); 678 678 res->data=(void *)m; 679 if (TEST_V_QRING && (curr Quotient!=NULL)) jjNormalizeQRingId(res);679 if (TEST_V_QRING && (currRing->qideal!=NULL)) jjNormalizeQRingId(res); 680 680 return FALSE; 681 681 } … … 1172 1172 l1->CleanUp(); 1173 1173 r->CleanUp(); 1174 //if (TEST_V_QRING && (curr Quotient!=NULL)) jjNormalizeQRingP(l);1174 //if (TEST_V_QRING && (currRing->qideal!=NULL)) jjNormalizeQRingP(l); 1175 1175 return FALSE; 1176 1176 } … … 1909 1909 void jjNormalizeQRingId(leftv I) 1910 1910 { 1911 if ((curr Quotient!=NULL) && (!hasFlag(I,FLAG_QRING)))1911 if ((currRing->qideal!=NULL) && (!hasFlag(I,FLAG_QRING))) 1912 1912 { 1913 1913 if (I->e==NULL) … … 1920 1920 { 1921 1921 ideal F=idInit(1,1); 1922 ideal II=kNF(F,curr Quotient,I0);1922 ideal II=kNF(F,currRing->qideal,I0); 1923 1923 idDelete(&F); 1924 1924 if (I->rtyp!=IDHDL) … … 1944 1944 void jjNormalizeQRingP(leftv I) 1945 1945 { 1946 if ((curr Quotient!=NULL) && (!hasFlag(I,FLAG_QRING)))1946 if ((currRing->qideal!=NULL) && (!hasFlag(I,FLAG_QRING))) 1947 1947 { 1948 1948 poly p=(poly)I->Data(); … … 1950 1950 { 1951 1951 ideal F=idInit(1,1); 1952 poly II=kNF(F,curr Quotient,p);1952 poly II=kNF(F,currRing->qideal,p); 1953 1953 idDelete(&F); 1954 1954 if ((I->rtyp==POLY_CMD) -
Singular/ipid.h
r46c7c3 r984ff3 90 90 91 91 /*extern ring currRing; in ring.h */ 92 /*extern ideal currQuotient; in structs.h */93 92 94 93 idhdl enterid(const char * a, int lev, int t, idhdl* root, BOOLEAN init=TRUE, BOOLEAN serach=TRUE); -
Singular/ipshell.cc
r46c7c3 r984ff3 1463 1463 if (rHasLocalOrMixedOrdering_currRing()) 1464 1464 { 1465 scComputeHC(I,curr Quotient,ak,po);1465 scComputeHC(I,currRing->qideal,ak,po); 1466 1466 if (po!=NULL) 1467 1467 { … … 3444 3444 #endif 3445 3445 3446 ideal stdJ = kStd(J,curr Quotient,isNotHomog,NULL);3446 ideal stdJ = kStd(J,currRing->qideal,isNotHomog,NULL); 3447 3447 idSkipZeroes( stdJ ); 3448 3448 … … 3511 3511 poly hc = (poly)NULL; 3512 3512 3513 scComputeHC( stdJ,curr Quotient, 0,hc );3513 scComputeHC( stdJ,currRing->qideal, 0,hc ); 3514 3514 3515 3515 if( hc!=(poly)NULL ) … … 5555 5555 { 5556 5556 // all dependend stuff is done, clean global vars: 5557 if (r->qideal!=NULL)5558 {5559 currQuotient=NULL;5560 }5561 5557 if ((currRing->ppNoether)!=NULL) pDelete(&(currRing->ppNoether)); 5562 5558 if (sLastPrinted.RingDependend()) -
Singular/ipshell.h
r46c7c3 r984ff3 11 11 #include <kernel/ideals.h> 12 12 #include <Singular/lists.h> 13 #include <Singular/fevoices.h> 13 14 14 15 struct _ssubexpr; -
Singular/libsingular.h
r46c7c3 r984ff3 9 9 #include <coeffs/numbers.h> 10 10 #include <coeffs/longrat.h> 11 #include <kernel/oswrapper/fe base.h>11 #include <kernel/oswrapper/feread.h> 12 12 #include <polys/monomials/ring.h> 13 13 #include <omalloc/omalloc.h> -
Singular/links/ssiLink.cc
r46c7c3 r984ff3 57 57 #include <time.h> 58 58 59 #define SSI_VERSION 759 #define SSI_VERSION 8 60 60 // 5->6: changed newstruct representation 61 61 // 6->7: attributes 62 // 7->8: qring 62 63 63 64 // 64 bit version: … … 91 92 volatile BOOLEAN ssiToBeClosed_inactive=TRUE; 92 93 94 // forward declarations: 95 void ssiWritePoly_R(const ssiInfo *d, int typ, poly p, const ring r); 96 void ssiWriteIdeal(const ssiInfo *d, int typ,ideal I); 97 poly ssiReadPoly_R(const ssiInfo *D, const ring r); 98 ideal ssiReadIdeal_R(const ssiInfo *d,const ring r); 99 93 100 // the helper functions: 94 101 void ssiSetCurrRing(const ring r) 95 102 { 103 // if (currRing!=NULL) 104 // Print("need to change the ring, currRing:%s, switch to: ssiRing%d\n",IDID(currRingHdl,nr); 105 // else 106 // Print("no ring, switch to ssiRing%d\n",nr); 96 107 if (!rEqual(r,currRing,1)) 97 108 { … … 108 119 } 109 120 // the implementation of the functions: 110 void ssiWriteInt( ssiInfo *d,const int i)121 void ssiWriteInt(const ssiInfo *d,const int i) 111 122 { 112 123 fprintf(d->f_write,"%d ",i); … … 114 125 } 115 126 116 void ssiWriteString( ssiInfo *d,const char *s)127 void ssiWriteString(const ssiInfo *d,const char *s) 117 128 { 118 129 fprintf(d->f_write,"%d %s ",(int)strlen(s),s); 119 130 //if (d->f_debug!=NULL) fprintf(d->f_debug,"stringi: %d \"%s\" ",strlen(s),s); 120 131 } 121 122 132 123 133 void ssiWriteBigInt(const ssiInfo *d, const number n) … … 142 152 } 143 153 144 void ssiWritePoly_R(const ssiInfo *d, int typ, poly p, const ring r);145 154 void ssiWriteNumber_CF(const ssiInfo *d, const number n, const coeffs cf) 146 155 { … … 176 185 } 177 186 178 void ssiWriteRing (ssiInfo *d,const ring r)179 { 180 /* 5 <ch> <N> <l1> <v1> ...<lN> <vN> <number of orderings> <ord1> <block0_1> <block1_1> .... */187 void ssiWriteRing_R(ssiInfo *d,const ring r) 188 { 189 /* 5 <ch> <N> <l1> <v1> ...<lN> <vN> <number of orderings> <ord1> <block0_1> <block1_1> .... <extRing> <Q-ideal> */ 181 190 /* ch=-1: transext, coeff ring follows */ 182 191 /* ch=-2: algext, coeff ring and minpoly follows */ 183 if (r==currRing) // see recursive calls for transExt/algExt184 {185 if (d->r!=NULL) rKill(d->r);186 d->r=r;187 }188 192 if (r!=NULL) 189 193 { 190 /*d->*/r->ref++;191 194 if (rField_is_Q(r) || rField_is_Zp(r)) 192 195 fprintf(d->f_write,"%d %d ",n_GetChar(r->cf),r->N); … … 242 245 || (rFieldType(r)==n_algExt)) 243 246 { 244 ssiWriteRing (d,r->cf->extRing);247 ssiWriteRing_R(d,r->cf->extRing); 245 248 if (rFieldType(r)==n_algExt) 246 249 { … … 248 251 } 249 252 } 253 /* Q-ideal :*/ 254 if (r->qideal!=NULL) 255 { 256 ssiWriteIdeal(d,IDEAL_CMD,r->qideal); 257 } 258 else 259 { 260 fprintf(d->f_write,"0 "/*ideal with 0 entries */); 261 } 250 262 } 251 263 else /* dummy ring r==NULL*/ 252 264 { 253 fprintf(d->f_write,"0 0 0 "/*,r->ch,r->N, blocks*/); 254 } 255 } 256 265 fprintf(d->f_write,"0 0 0 0 "/*,r->ch,r->N, blocks, q-ideal*/); 266 } 267 } 268 269 void ssiWriteRing(ssiInfo *d,const ring r) 270 { 271 /* 5 <ch> <N> <l1> <v1> ...<lN> <vN> <number of orderings> <ord1> <block0_1> <block1_1> .... <extRing> <Q-ideal> */ 272 /* ch=-1: transext, coeff ring follows */ 273 /* ch=-2: algext, coeff ring and minpoly follows */ 274 if (r==currRing) // see recursive calls for transExt/algExt 275 { 276 if (d->r!=NULL) rKill(d->r); 277 d->r=r; 278 } 279 if (r!=NULL) 280 { 281 /*d->*/r->ref++; 282 } 283 ssiWriteRing_R(d,r); 284 } 257 285 void ssiWritePoly_R(const ssiInfo *d, int typ, poly p, const ring r) 258 286 { 259 287 fprintf(d->f_write,"%d ",pLength(p));//number of terms 260 int i;261 288 262 289 while(p!=NULL) … … 279 306 } 280 307 281 void ssiWriteIdeal( ssiInfo *d, int typ,ideal I)308 void ssiWriteIdeal(const ssiInfo *d, int typ,ideal I) 282 309 { 283 310 // syntax: 7 # of elements <poly 1> <poly2>..... … … 320 347 } 321 348 322 void ssiWriteProc( ssiInfo *d,procinfov p)349 void ssiWriteProc(const ssiInfo *d,procinfov p) 323 350 { 324 351 if (p->data.s.body==NULL) … … 341 368 } 342 369 } 343 void ssiWriteIntvec( ssiInfo *d,intvec * v)370 void ssiWriteIntvec(const ssiInfo *d,intvec * v) 344 371 { 345 372 fprintf(d->f_write,"%d ",v->length()); … … 350 377 } 351 378 } 352 void ssiWriteIntmat( ssiInfo *d,intvec * v)379 void ssiWriteIntmat(const ssiInfo *d,intvec * v) 353 380 { 354 381 fprintf(d->f_write,"%d %d ",v->rows(),v->cols()); … … 360 387 } 361 388 362 void ssiWriteBigintmat( ssiInfo *d,bigintmat * v)389 void ssiWriteBigintmat(const ssiInfo *d,bigintmat * v) 363 390 { 364 391 fprintf(d->f_write,"%d %d ",v->rows(),v->cols()); … … 370 397 } 371 398 372 char *ssiReadString( ssiInfo *d)399 char *ssiReadString(const ssiInfo *d) 373 400 { 374 401 char *buf; … … 388 415 } 389 416 390 number ssiReadBigInt( ssiInfo *d)417 number ssiReadBigInt(const ssiInfo *d) 391 418 { 392 419 int sub_type=-1; … … 413 440 } 414 441 415 static number ssiReadQNumber(ssiInfo *d) 416 { 417 int sub_type=-1; 418 sub_type=s_readint(d->f_read); 419 switch(sub_type) 420 { 421 case 0: 422 case 1: 423 {// read mpz_t, mpz_t 424 number n=nlRInit(0); 425 mpz_init(n->n); 426 s_readmpz(d->f_read,n->z); 427 s_readmpz(d->f_read,n->n); 428 n->s=sub_type; 429 return n; 430 } 431 432 case 3: 433 {// read mpz_t 434 number n=nlRInit(0); 435 s_readmpz(d->f_read,n->z); 436 n->s=3; /*sub_type*/ 437 return n; 438 } 439 case 4: 440 { 441 LONG dd=s_readlong(d->f_read); 442 //#if SIZEOF_LONG == 8 443 return INT_TO_SR(dd); 444 //#else 445 //return nlInit(dd,NULL); 446 //#endif 447 } 448 case 5: 449 case 6: 450 {// read raw mpz_t, mpz_t 451 number n=nlRInit(0); 452 mpz_init(n->n); 453 s_readmpz_base (d->f_read,n->z, SSI_BASE); 454 s_readmpz_base (d->f_read,n->n, SSI_BASE); 455 n->s=sub_type-5; 456 return n; 457 } 458 case 8: 459 {// read raw mpz_t 460 number n=nlRInit(0); 461 s_readmpz_base (d->f_read,n->z, SSI_BASE); 462 n->s=sub_type=3; /*subtype-5*/ 463 return n; 464 } 465 466 default: Werror("error in reading number: invalid subtype %d",sub_type); 467 return NULL; 468 } 469 return NULL; 470 } 471 472 poly ssiReadPoly_R(ssiInfo *D, const ring r); 473 number ssiReadNumber_CF(ssiInfo *d, const coeffs cf) 442 number ssiReadNumber_CF(const ssiInfo *d, const coeffs cf) 474 443 { 475 444 if (cf->cfReadFd!=NULL) … … 495 464 } 496 465 497 number ssiReadNumber( ssiInfo *d)466 number ssiReadNumber(const ssiInfo *d) 498 467 { 499 468 return ssiReadNumber_CF(d,d->r->cf); 500 469 } 501 470 502 ring ssiReadRing( ssiInfo *d)503 { 504 /* syntax is <ch> <N> <l1> <v1> ...<lN> <vN> <number of orderings> <ord1> <block0_1> <block1_1> .... */505 int ch, N,i ,l;471 ring ssiReadRing(const ssiInfo *d) 472 { 473 /* syntax is <ch> <N> <l1> <v1> ...<lN> <vN> <number of orderings> <ord1> <block0_1> <block1_1> .... <Q-ideal> */ 474 int ch, N,i; 506 475 char **names; 507 476 ch=s_readint(d->f_read); … … 561 530 return NULL; 562 531 } 563 else if (ch>=0) /* Q, Z/p */564 return rDefault(ch,N,names,num_ord,ord,block0,block1,wvhdl);565 else if (ch==-1) /* trans ext. */566 {567 TransExtInfo T;568 T.r=ssiReadRing(d);569 coeffs cf=nInitChar(n_transExt,&T);570 return rDefault(cf,N,names,num_ord,ord,block0,block1,wvhdl);571 }572 else if (ch==-2) /* alg ext. */573 {574 TransExtInfo T;575 T.r=ssiReadRing(d);576 T.r->qideal=idInit(1,1);577 T.r->qideal->m[0]=ssiReadPoly_R(d,T.r);578 coeffs cf=nInitChar(n_algExt,&T);579 return rDefault(cf,N,names,num_ord,ord,block0,block1,wvhdl);580 }581 532 else 582 533 { 583 Werror("ssi: read unknown coeffs type (%d)",ch); 584 return NULL; 585 } 586 } 587 588 poly ssiReadPoly_R(ssiInfo *D, const ring r) 534 ring r=NULL; 535 if (ch>=0) /* Q, Z/p */ 536 r=rDefault(ch,N,names,num_ord,ord,block0,block1,wvhdl); 537 else if (ch==-1) /* trans ext. */ 538 { 539 TransExtInfo T; 540 T.r=ssiReadRing(d); 541 coeffs cf=nInitChar(n_transExt,&T); 542 r=rDefault(cf,N,names,num_ord,ord,block0,block1,wvhdl); 543 } 544 else if (ch==-2) /* alg ext. */ 545 { 546 TransExtInfo T; 547 T.r=ssiReadRing(d); 548 T.r->qideal=idInit(1,1); 549 T.r->qideal->m[0]=ssiReadPoly_R(d,T.r); 550 coeffs cf=nInitChar(n_algExt,&T); 551 r=rDefault(cf,N,names,num_ord,ord,block0,block1,wvhdl); 552 } 553 else 554 { 555 Werror("ssi: read unknown coeffs type (%d)",ch); 556 return NULL; 557 } 558 ideal q=ssiReadIdeal_R(d,r); 559 if (IDELEMS(q)==0) omFreeBin(q,sip_sideal_bin); 560 else r->qideal=q; 561 return r; 562 } 563 } 564 565 poly ssiReadPoly_R(const ssiInfo *D, const ring r) 589 566 { 590 567 // < # of terms> < term1> < ..... … … 593 570 //Print("poly: terms:%d\n",n); 594 571 poly p; 595 int j;596 j=0;597 572 poly ret=NULL; 598 573 poly prev=NULL; … … 619 594 } 620 595 621 poly ssiReadPoly( ssiInfo *D)596 poly ssiReadPoly(const ssiInfo *D) 622 597 { 623 598 // < # of terms> < term1> < ..... … … 625 600 } 626 601 627 ideal ssiReadIdeal (ssiInfo *d)602 ideal ssiReadIdeal_R(const ssiInfo *d,const ring r) 628 603 { 629 604 int n,i; … … 633 608 for(i=0;i<IDELEMS(I);i++) // read n terms 634 609 { 635 I->m [i]=ssiReadPoly (d);610 I->m [i]=ssiReadPoly_R(d,r); 636 611 } 637 612 return I; 638 613 } 639 614 640 matrix ssiReadMatrix(ssiInfo *d) 641 { 642 int n,m,i,j; 615 ideal ssiReadIdeal(const ssiInfo *d) 616 { 617 return ssiReadIdeal_R(d,d->r); 618 } 619 620 matrix ssiReadMatrix(const ssiInfo *d) 621 { 622 int n,m; 643 623 m=s_readint(d->f_read); 644 624 n=s_readint(d->f_read); … … 700 680 } 701 681 702 procinfov ssiReadProc( ssiInfo *d)682 procinfov ssiReadProc(const ssiInfo *d) 703 683 { 704 684 char *s=ssiReadString(d); … … 728 708 return L; 729 709 } 730 intvec* ssiReadIntvec( ssiInfo *d)710 intvec* ssiReadIntvec(const ssiInfo *d) 731 711 { 732 712 int nr; … … 739 719 return v; 740 720 } 741 intvec* ssiReadIntmat( ssiInfo *d)721 intvec* ssiReadIntmat(const ssiInfo *d) 742 722 { 743 723 int r,c; … … 751 731 return v; 752 732 } 753 bigintmat* ssiReadBigintmat( ssiInfo *d)733 bigintmat* ssiReadBigintmat(const ssiInfo *d) 754 734 { 755 735 int r,c; … … 889 869 d->fd_read=pc[0]; 890 870 d->fd_write=cp[1]; 891 892 871 //d->r=currRing; 872 //if (d->r!=NULL) d->r->ref++; 893 873 l->data=d; 894 874 omFree(l->mode); … … 928 908 SI_LINK_SET_RW_OPEN_P(l); 929 909 d->send_quit_at_exit=1; 930 931 910 //d->r=currRing; 911 //if (d->r!=NULL) d->r->ref++; 932 912 } 933 913 else … … 944 924 int sockfd, newsockfd, portno, clilen; 945 925 struct sockaddr_in serv_addr, cli_addr; 946 int n;947 926 sockfd = socket(AF_INET, SOCK_STREAM, 0); 948 927 if(sockfd < 0) … … 1005 984 int sockfd, newsockfd, portno, clilen; 1006 985 struct sockaddr_in serv_addr, cli_addr; 1007 int n;1008 986 sockfd = socket(AF_INET, SOCK_STREAM, 0); 1009 987 if(sockfd < 0) … … 1088 1066 { 1089 1067 char* host = (char*)omAlloc(256); 1090 int sockfd, portno , n;1068 int sockfd, portno; 1091 1069 struct sockaddr_in serv_addr; 1092 1070 struct hostent *server; … … 1296 1274 case 5:{ 1297 1275 d->r=ssiReadRing(d); 1298 res->rtyp=RING_CMD;1299 1276 res->data=(char*)d->r; 1277 if (d->r->qideal==NULL) 1278 res->rtyp=RING_CMD; 1279 else 1280 res->rtyp=QRING_CMD; 1300 1281 // we are in the top-level, so set the basering to d->r: 1301 1282 if (d->r!=NULL) … … 1398 1379 break; 1399 1380 } 1381 // if currRing is required for the result, but lost 1382 // define "ssiRing%d" as currRing: 1383 if ((d->r!=NULL) 1384 && (currRing!=d->r) 1385 && (res->RingDependend())) 1386 { 1387 ssiSetCurrRing(d->r); 1388 } 1400 1389 return res; 1401 1390 no_ring: WerrorS("no ring"); … … 1470 1459 ssiWriteNumber(d,(number)dd); 1471 1460 break; 1461 case QRING_CMD: 1472 1462 case RING_CMD:fputs("5 ",d->f_write); 1473 1463 ssiWriteRing(d,(ring)dd); … … 1578 1568 && (strcmp(request, "read") == 0)) 1579 1569 { 1580 fd_set mask , fdmask;1570 fd_set mask; 1581 1571 struct timeval wt; 1582 1572 if (s_isready(d->f_read)) return "ready"; … … 1838 1828 } 1839 1829 int portno; 1840 int n;1841 1830 ssiReserved_sockfd = socket(AF_INET, SOCK_STREAM, 0); 1842 1831 if(ssiReserved_sockfd < 0) -
Singular/newstruct.cc
r46c7c3 r984ff3 388 388 Werror("different ring %lx(data) - %lx(basering)", 389 389 (long unsigned)(al->m[nm->pos-1].data),(long unsigned)currRing); 390 Werror("name of basering: %s",IDID(currRingHdl)); 391 rWrite(currRing,TRUE);PrintLn(); 392 idhdl hh=rFindHdl((ring)(al->m[nm->pos-1].data),NULL); 393 const char *nn="??"; 394 if (hh!=NULL) nn=IDID(hh); 395 Werror("(possible) name of ring of data: %s",nn); 396 rWrite((ring)(al->m[nm->pos-1].data),TRUE);PrintLn(); 397 390 398 return TRUE; 391 399 } -
Singular/subexpr.cc
r46c7c3 r984ff3 139 139 case MODUL_CMD: 140 140 case IDEAL_CMD: 141 if ((TEST_V_QRING) &&(curr Quotient!=NULL)141 if ((TEST_V_QRING) &&(currRing->qideal!=NULL) 142 142 &&(!hasFlag(this,FLAG_QRING))) 143 143 { … … 151 151 case POLY_CMD: 152 152 case VECTOR_CMD: 153 if ((TEST_V_QRING) &&(curr Quotient!=NULL)153 if ((TEST_V_QRING) &&(currRing->qideal!=NULL) 154 154 &&(!hasFlag(this,FLAG_QRING))) 155 155 { -
Tst/Buch/Example_4_6_26.res.gz.uu
r46c7c3 r984ff3 1 1 begin 644 Example_4_6_26.res.gz 2 M'XL(" *_O<D\``T5X86UP;&5?-%\V7S(V+G)E<P"%4\U/@S`4O^^O>#$>6H&R3 M MH@:`@>CAR7.P^;-3();XYKL*[2+_/F64@HF+O9`7_I^'^U[O.7;T^P5`&@!4 M +[-'N-)*DYW\O,HF2Y=A!9C#4AZD1CB;M#L4!3PWU?ZT$V52IB5+R4%\$Z4K5 M[6F\`!\G!.(X_V\!B$[3X%/"4H "+4*]\2P:7E$`M#U\F6N33L$$)(12'F]/P6 M E+L"Y$94.X!9'C6(XIL&,1RX*&DCCD,/OR?@UP"/F-T^F$5;7D0'TL.?I%[>7 M &5ERK^?SO0:=CC0"A^<6[-]"3</VE:YE`_-\O:WJ4HE:"H5F(XQIG:O(,D>V8 M )!B;+R6$V\+$L3Z"$@+T5D`MU'FGX5OJK8DC+\)'1G)?G=`BG.-LN&`<JY-89 M :S!2K<QZ>U3B`,=Z(UIO+Y,4,,\F\W<:TE6.F"M#U`6!K07'`8J2+L,#.NTQ10 M +@HXMGRVRFW;4%?Z[I!?$J4&Z!/)2(C]NDC`_`TZ_\A1Q@3CW#7?H3IS9LV=11 BC/?L9;UC7XC;83"H^67;V6H'YZP,+;N>_`#/&O,XD0,`````2 M'XL("/KI;%,``T5X86UP;&5?-%\V7S(V+G)E<P"%4\U/@S`4O^^O>%D\M`)E 3 M;1EJ"!R,'I8X#YLW,PENC6NRK]`NX\^WE%)FHK$'^M+W^WCOE2[?GF:O`$`+ 4 M>)D]PE@K37;R<YR-EB[#"C"'I3Q(C7`V:G<H"GANJOUI)\JD3$N6DH.X$*4K 5 M[6F\`!\G!.(X_V\!B$[3X%/"4H`_H5YY2@:7E$`M#U\F6N23L$$)(12'F]/0 6 MRET!<B.J'<`LCQI$\6V#&`Y<E+01QZ&'WQ/P:X!'S&X?S*(M+Z(#Z>%74B_O 7 MC"RYU_/Y7H-.KC0"A^<6['NAYL+VE:YE`_-\O:WJ4HE:"H5F5QAS=6XBRQS9 8 MD6!LOI00;@<3Q_H(2@C06P&U4.>=AHO46Q-'7H1?&<E]=4*+<(ZSH<`X5B>Q 9 MUF"D6IGU]JC$`8[U1K3>7B8I8)Z-YN\TI*L<L7X,MG6.`Q39`]YMS&X!QY;` 10 M5GDW<X>*:'?.C5"/M\.D7H=%G4-D)=@/3Y<*J+=.N@P/Z*3'N"AP?%-"5\#@ 11 ISSK_H1/W*_A"?";QI?3#F`Z/@YK?MGU?[>,Y*\/,;D;?/=8PWY4#```` 12 12 ` 13 13 end -
Tst/Buch/Example_4_6_26.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 13 32932526:3143- exported :3-1-4:ix86-Linux:mamawutz:1831042 1 >> tst_memory_1 :: 13 32932526:3143- exported :3-1-4:ix86-Linux:mamawutz:22402723 1 >> tst_memory_2 :: 13 32932526:3143- exported :3-1-4:ix86-Linux:mamawutz:22730564 1 >> tst_timer_1 :: 13 32932526:3143- exported :3-1-4:ix86-Linux:mamawutz:151 1 >> tst_memory_0 :: 1399646713:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:175096 2 1 >> tst_memory_1 :: 1399646713:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2240344 3 1 >> tst_memory_2 :: 1399646713:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2281316 4 1 >> tst_timer_1 :: 1399646713:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:18 -
Tst/Manual/Branches_of_space_curve_singularities.res.gz.uu
r46c7c3 r984ff3 1 begin 64 0Branches_of_space_curve_singularities.res.gz2 M'XL(" ,HG<DX``T)R86YC:&5S7V]F7W-P86-E7V-U<G9E7W-I;F=U;&%R:71I3 M97,N<F5S`,586 W/KMA%^UZ]`,YV)98DZ)BCY6IV'DTR2,Y.D'=LO2<;R0"1D4 M H8<D%(*T1?[Z[BXNI&2==CI]J!],<G?Q`=C[ZN'Q^\^_,L;BC^SGSY_8-[6I5 M 9[E:?W/'X.U9E:H^&]^-\,D^?F2?*E&F6VF>]>;9[$0JG].F>I7/1I4O32XJ6 M 52MI9J5\FYE:U*,'!\X_PK\*9%BUO)B>[:?MM!M/,W,7)!*44)D4.5/+_6H>7 M M>?=BD_WYVW4K9)IN^+1?I6<=W>,??C`ZJUDM#VC[5F_?1L0YXCXY_9-JI=M8 M ?:;@$O&43^/`7R`?L!X!ZT6]RO)KB$P9]F<CC-KJ0K_(4NK&S-A/L@3A-Y`79 M )=L)8P+PY<P"UYK.N=-Y6^I"P<U0`[,@=S4+2CG0RJ[7RO50*ZH0N[-JBC?Q10 M _!O2JS0Z;VJE2Z;@?5G`OS,UO>CEX@O"`?K="+Z8_4O<D[OGJ*K8WZ((`,-S11 M -+IPS/A8.&#'3H\_5+JPAJFK)JV;2C*](4)_P"DJS$@)9%$3[SN]E67TBT@%12 M :#L8+^9>A^TNP#@C'1J&AR6)71*^YP[B9UFSQK!2O[%<ZR]LHRN"6SM7!B;:13 M @$Q5J2*3*0/_KT35!E/%"\2B\'`B-D0"_Q)UX%@/OY&S_1$_W8*RF7_"WS.\14 M +_=1%S[YT[+C44MB_#^+>9ECR"Z)]NU0>I],]KR;[#L^V;>3MD=*@,>1REO@15 M =,#BDY:?VO]_QO2JN4+59'(#2ETB4*^TH7/S9:Z0Z;P+S):*/+?N)%-=9D$P16 M ++\9Q*^+62D+@V&W%?#%>PNO6_:&#H?1JHM=4\NLM[H'Y!?.843^HL&]M@4Z17 M WL-6%;H5A8A^TU_H)7@%C]V"7\&UZ*2B\!L("D?8%^D_*E&6*GJLQ(NLHM]%18 M N@7W%:;?Z#9`DM\[1_KQ\?=_ZTD1*OK`1-9GCDUY4NZKOG0-!KP$`W;S29O@19 M ROG!TFXQ039RT>AM,O2#J`,GZ;>:>\\@\M#;B+TX[53O//'_>R)OF<2YVT_B20 M %1TG^)'/&Y`OP,V1K(VRR;@$'\S49B,K68+SB19,7F8!T2>HK474ZUJHTB&221 M *Y5-L985>J'W9,J?!18T)O<[F=8AD0;4A4-]OQC3905!E+>,3]FZJ7WU`F;Z22 M !4`410KDQP(2;(_HZYE/G*I\1?\M:X/HIXLF=`&]4U\=9F9^[0"+ABU9+1H623 M L9I-H,2<X1;'I?84]CA@W3BLMRUH&1$S6>H:+HLG_47E)2!:54QI*R0__K.!24 M LBN\B@8V27P..%6<J!@%R?CP4@D?7@KL+O-:P,4JO%@02@Y.:V6&!R9*]-DK25 M &(_&K-+?FS.`SH].XCT`KXOF70^R'MBW+W>IKJ`T[R"[(F57Z51F6+8?8[:!26 M 8AX`O0/@0BQ\(0,F9%DC:]O%A-2>4&JG>NG7],4RH<3]^!Q3<@/83!7X"6J+27 M DQ&%/%C^['(\X=TYOBW&(XIT?)^/)\F>$YDC.;'D9#S!1XPDC'&W#II(*QE928 M ).(O/#\&\@#J\FG9NG6X1]=SKCSG$.CZ:<G;(R0ZZPW6Z_XSO@C?M"[&\I[T29 M \#&W66E`P9K:#47@4MW<?SM%SJFK"]KOU3_W+9GM4=$/(+3CA-RI1M>#.*-@30 M0 3(X[J>&_!U25HTDA3G,J'5N^[0`&YJR[6%_O(5:5K_I098";NHWD-BUX<[631 M W14FP0#I`T*5M83B^)?`\,GQ04-B?%60!_*6LE^F,NCEZI!KK7/GLI9Y"S>132 M $*M&TA$WJC*U.U3`]<$!QS"%UO5VRG29M^\[#1<Y2-<E-/I;E6X],>P=$L<\33 M ),FF0@V'$)E?O6]#81<#F[C`AG0K<M79CH%:73S;8=/3PUV'3M0N/(RM.<6634 M Y9PI#O&%`?:M)7S+4DC_F`4$-&.F!C-!4@/>E+8%`\I<%E"JS`Q7/6K7J4N235 M MMG/5DI88Y'/\14BEJQJQ0`JIJGFS(P]CDA3:6R&4U&]M4./7?F'>II29X^^36 M !RD9ZIX]U[V:6G\-VV(3>8]IPJV,H5WTWG\?WR%997?V]CO*+#^XBJ71)+2K37 M L1.%=8TS!8!X=+(#5EPX?*N;BJT%^!#*C^W681N"=6%4HB%K53:200!@Z;J/38 M Z<;WZ@.=Q4.+S08*.[9[$KS1CS/O#'__X1_/RI8&1,$/-5`:N5R)G03(BJ->39 M PV&J$M*\]YK,G]5JY,2F2,5,#UJ`KMD?>S8P+7]G6@)'VY)'I\H'22Y``DMV40 M )6I=(8(_$YW&@H&U9]BPE^ZT$/05QEJNC9L7K1*400"'A@YKV'UDFG6ALR8/41 M `V&M:S=4(V53B11OA4T,KHX_P.'.!QN?:J1!CC'LQV&MK."2*F6W[&)$]+[F42 M 0CTV0+^T=/I;YQJ:)AR,;YFN()KQ&-EN(-'_W9)W&7Q]A!H`_SC^2\8G\/A_43 M A[=G+>M.P"1#F.^^VNX?S@5'0]VP;>["X+6X\!-=5>KELXO$P(T/BE*I>PYW44 M N0F"=$0/&DY0%^?0<#L2'`-5=(XSBJ4D2.%(08V=>_+<"783AT#<O7UT$R^V45 M \%NTDV[%'?'2KUWA6&UI5VX;I!&&9UP[X7;B<.P.*VY?8$AP@C=6D!CQF*1)46 M 9!+[ZUXX*&1%@1K;G=V^GLJ#;#*F&WB&UP=!?VTGTDYB,>.P%)31K6"P#W>+47 M 01/[%8P\*XXVH%OM\4I!S?$52G#+@6>+?)"EG^<F[:IWBV0PC[L,9`8A#)VG48 M &/X6!M,1UE7J=-<VIC/(!E!QYK;8!F#?"FP@1C7$85_O,8-HD.]A:22A%$]*49 M Z8?UA2_\[F<J96>I+R7-[N['*)]*WF=*EX@S5>'091K\;2!`^]H_/_ZMSQS?50 M LC^.;PMLBX8U!]3]`E-)[N8=:JJ@F4)]A`ENES>8C6WG@L@!S\]4MD]YPVH#51 M Q3[#F1026T&#)9C@Y*3:G\I/4W^'\VSH,#`@-'GM[F\;QUNV""<*2R]A<L(?52 4C/%GW\:`S]W]=?0OXY+%`5L6````1 begin 644 Branches_of_space_curve_singularities.res.gz 2 M'XL("$^_<%,``T)R86YC:&5S7V]F7W-P86-E7V-U<G9E7W-I;F=U;&%R:71I 3 M97,N<F5S`,586V_K-A)^]Z_@%@LTCBV?2+)S79^'TT7;`_2&)"]M$0>T1,?< 4 M(XFN2"66?OW.#"^2'9\%%EA@_6#)P^''X=S'#X___/P+8RS^R'[Z_(E]8[29 5 M%7+]S1V#MV=927,VOAOADWW\R#[5O,JV0C^KS;/>\4P\9TW]*IZUK%Z:@M?2 6 M2*%GE7B;:</-Z,&!)Q_AJP8>5B\OIF?[:3OMQM-<WP6.%#ED+GC!Y'*_FD?M 7 M>;=*IOOS-NI6Z;1=)=%^E9YW=XQ]^,#,5C`ZGM'QK#^^#8AS1/QK^R;DR]:< 8 M2;A$/$VF<5A?X#I@/0+6BWP5U=<0F=3LKX9KN56E>A&54(V>L1]%!<QOP,\K 9 MMN-:!^#+F04VBN3<J:*M5"GA9JB!6>"[F@6E'&AEUVOE>J@56?+=63W%F_CU 10 M&]*KT*IHC%05D_"^+.'K3$XO>K[X@G"`?C>"7\Q^4O=,W'-4U^P?402`X3D: 11 M7;C%^)@Y8,=.C]_7JK2&,763F:863&V(T`LX185I(8#,#:U]I[:BBG[F&0=M 12 M!^/%B==ANPLPSDB'ADG"EM1N";_G#N(G85BC6:7>6*'4%[91-<&MG2O#(MJ` 13 M3%7+,A<9`_^O>=T&4\4+Q*+P<"PV1,+Z)>K`+3W\3L[V9_QT"\IF_@F?9WA? 14 M=FFT;P,A>5KNT\D^Z2;[+IGLVTG;A;44UA*D)BVL=+"43-J$,)/_,:8'/!9V 15 M'W5#V"Z)VE/GGV+SJKE"U>1B`TI=(G.OM*%SQ\M"PM8[YUU@MHP7!1EE(VMM 16 M`E_8?3,(7Q>R0I0:HV[+X5?2&WC=LC?T-PQ65>X:(_+>Z!XPN7#^PHL7!=ZU 17 M+='O'K:R5"TO>?2[^D(OP2F2V&WX!3R+_)Z7_@!.T0CG(OT'R:M*1H\U?Q%U 18 M]`?/MN"]7/<'W09(<GOG1S\\_O$?'2E"TQT8W5KAV#@G^;YF\.X:7.(27**; 19 M3]H4=\X/MG:+"2[C*KI1FPX]*^K`[?JCYM[7B#ST7UI>G';3=[[]_Y7(6R9U 20 M[O8C?T7'"7[DTP:D"_!R)"LM;2ZNP`=SN=F(6E3@?+P%DU=Y0/3Y:6L1U=IP 21 M63E$<J6J*=>B1B_TGDSIL\1ZQL1^)S(3\FA`73C4]YLQ6]801$7+DBE;-\87 22 M+UC,O@"(I$B!]%A"?NT1?3GS>5-6K^B_E=&(?KIF0A/0._7586).KAU@V;`E 23 M,[QA$3-L`A7F#(\XKK2GL,<!Z\9AO6U!RXB8BTH9N"Q*^K,L*D"TJIC244A^ 24 M_%<#59=[%0ULDOH<<*HV42T*G/'AI=)D>"FPNR@,AXO5>+'`E!Y(:WF&`A,E 25 M^NP5C*(QJ_3WY@R@\R-)O`?@==&\ZT'6`_OVU2Y3-53FG:IRI.QJE8D<J_9C 26 MS#90RP.@=P#<B'4O9,"4+*N%L4U,R.PI978JEWY/7RM32MR/SS$E-X#-98D_ 27 M06UQ.J*0!\N?78XG27>.;XOQB"(=W^?C2;I/B)P@.;7D=#S!1XPDC'&W#WI( 28 MRQE9)%I?^/48R`.HRZ=EZ_;A&5V_<N57#H&NGY9)>X1$LMY@!>Q_QA?A-^V+ 29 ML6"F/7R<V*PTH&"5[H8L<*EN[G\[1<ZIJ0O:[]4_]QV9;5'1#R"TXY3<R:#K 30 M09Q1L"`9'/=30_X.*<L@26(.TW)=V#8MP(:>;'O8'F^AEIDW-<A2L)KY`P0V 31 M;7BR=7>)23!`^H"0E1%0'/\6%GQR?%"0&%\EY(&BI>R7RQQ:.1-RK77N0AA1 32 MM'`3`;&JA141..!8*U4`]M$!<NA2*;.=,E45[;M.PT4.DE4%??Y69EM/#&>' 33 MQ#$/2;*I4<,A1.97[[M0$$O#(2ZP(=WR0G:V8Z!.%T0[['EZM.O0A]I]AZ$U 34 MI]"R*V<RAO#"^/K6$KYE&61_3`(<6C%MP$J0TV!M2J>"_40A2JA4>H:['I7K 35 MTP5QV^1G"R7LL<CG^`H!2T:U;``5TTQSIL<>AV>9T#;!R<AL[<AC=_XIGZ;4 36 MUZ/K04:&LF?ENI=3ZZ[A6&PA[S%+N)W020;GOX_OD"SS.WO['266[UW!4F@1 37 M.E7;><)J]TP"((I.9L"""\*WJJG9FH,+(?_8'AV.(5@7117:T<BJ$0S\'RO7 38 M?4PWOI<?2!8/S3<;J.O8[0GP13_,O+/[_8??GJ6M#(B"/^1`:>1Q%382P,N/ 39 M6@V'*2O(\MYK<B^KU<B)0Y&*B1ZT`$VS%WLV,&WRSK0$CK8EA\ZDCY&"`P=6 40 M[)H;52."EXFDL6!@[1GVZY63%F*^QE`KE';3HE6"U`C@T-!A-;N/=+,N5=X4 41 M81PTRKB1&BF;FF=X*^QA<'?\`80['QQ\JH\&/L:P'8>]HH9+RHS=LHL1T?N2 42 M"^58`_W2TNFS+A3T3#@6WS)50S"C&/ENP-%_;LF[-+X^0@F`KP2_TO$)O.2_ 43 MP]NSEG4G8-(AS'=?[?8/QX*C*7'8-7=AS%Y<^'FNKA0-=,.9;A$?U*1*]2N) 44 MRTT0I"-ZT&R"NCB'?MN10`Q4T3F.*):2(B5!"FKLW)/GCK&;.`1:W=M'-_%L 45 M"W]$.^E6B2->^KTKG%,M[<H=@S3"\`O7CKF=.!Q[PBJQ+S`C.,8;RT@+\9BX 46 MB642^^M>."A<B@(UMB>[<STU";SIF&[@%[P^"/IK)Y%V4HL9AZV@C&Z51OMP 47 MMQ@TL5_!Q+-*T`9TJSU>*:@YOD*.Q*[`L\5UX*4_YR;MJG>+=#".NPRD!R$, 48 MC2<?_A,&PQ&656ITUS:F<\@&4''FMM8&8-\);"!&%<1A7^XQ@RC@[V%I(J$4 49 M3TKI9_6%+_ON3RII1ZDO%8WN[J\HGTK>9TJ7B'-9X\RE&_QK($#[TC\__J=/ 50 M']^R%\=W!;9#PYH#ZGZ!H:1PXP[U5-!+H3["`+<K&LS&MF]!Y(#G1RK;IKQA 51 MM8%BG^-("HFMI+D23'!R4.VE\L/4KR#/AH2!^:`IC+N_[1MOV2)(%+9>PN"$ 52 5?Q?CG[Z-!I^[^_OHWV0\F-A9%@`` 53 53 ` 54 54 end -
Tst/Manual/Branches_of_space_curve_singularities.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:4064442 1 >> tst_memory_1 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:9134083 1 >> tst_memory_2 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:9711124 1 >> tst_timer_1 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:441 1 >> tst_memory_0 :: 1399897935:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:411768 2 1 >> tst_memory_1 :: 1399897935:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2490368 3 1 >> tst_memory_2 :: 1399897935:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2546268 4 1 >> tst_timer_1 :: 1399897935:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:43 -
Tst/Manual/Branches_of_space_curve_singularities.tst
r46c7c3 r984ff3 15 15 LIB "primdec.lib"; 16 16 primdecSY(i); 17 def li=_[ 2];18 ideal i 2=li[2]; // call the second ideal i217 def li=_[1]; 18 ideal i1=li[2]; // call the first ideal i1 19 19 // The curve seems to have 2 branches by what we computed using the 20 20 // algorithm of Shimoyama-Yokoyama. … … 42 42 // the singularity has two branches, since mu is even and delta is an 43 43 // integer! 44 // So obviously, we did not decompose completely. Because the firstbranch45 // is smooth, only the secondideal can be the one which can be decomposed44 // So obviously, we did not decompose completely. Because the second branch 45 // is smooth, only the first ideal can be the one which can be decomposed 46 46 // further. 47 // Let us now consider the normalization of this second ideal i2.47 // Let us now consider the normalization of this first ideal i1. 48 48 LIB "normal.lib"; 49 normal(i 2);49 normal(i1); 50 50 def rno=_[1][1]; 51 51 setring rno; -
Tst/Manual/minAssChar.res.gz.uu
r46c7c3 r984ff3 1 begin 64 0minAssChar.res.gz2 M'XL(" #`J<DX``VUI;D%S<T-H87(N<F5S`$V074_#(!2&[_D5)XL7K;!&J/.K3 M *8D?-TO,;N;=,I=J&SU)5QE@%'Z]8&?Q"EZ>)R]PUD\/RQ4`<`F/RSN866.+4 M 'E]F%83=#@>T65Z1N(*4L,?AUIC[]T870_=5&-M8LCXVB&.#TKAON]>Q9:*E5 M !(W#&X"&&LY8]LT<\SEK55+.):B/W@&HH'A!>4*+/W2(J*0BH0L)V'9-#QB06 M .CT\"^;F_I]P*:%'8T'%F],',LR3<Q7Z=44V?'M#0MR%3>W%W(U!;&OGJ1A#7 E &8*@PI-PG&1'^>3&IT_-U_)WD'%2GR;C>75"?@#S3?KW<P$`````1 begin 644 minAssChar.res.gz 2 M'XL(",+=;%,``VUI;D%S<T-H87(N<F5S`$V02T_#,!"$[_X5JXI#@MT(.Y17 3 M%$L\+I50+^56E2J0"%9*@VL;@?WKL4F).>V,OM&LO>NGA^4*`+B$Q^4=S*RQ 4 M18\OLPJ"VN&`-LLK$B=("7L<;HVY?V]T,71?A;&-)>MC@S@V*(W[MGL=6R9: 5 M2M`XO`%HJ.&,9=_,,9^S5J7(N03UT3L`%2)>4)[0X@\=(BJI2.A"`K9=TP,& 6 MI$X/SX*YN?\7N)30H[&@XN;T@0SSE+D*_;HB&[Z](<'N@J@=Y:,6VSJ^A@21 7 EJ!=S-V'GJ1A-&8R@PD_-U_+WD/%2GR;C>75"?@`*>#)=<P$````` 8 8 ` 9 9 end -
Tst/Manual/minAssChar.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:2252042 1 >> tst_memory_1 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:6694603 1 >> tst_memory_2 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:7207364 1 >> tst_timer_1 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:121 1 >> tst_memory_0 :: 1399643586:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:217240 2 1 >> tst_memory_1 :: 1399643586:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2242444 3 1 >> tst_memory_2 :: 1399643586:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2300880 4 1 >> tst_timer_1 :: 1399643586:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:7 -
Tst/Manual/primdecSY.res.gz.uu
r46c7c3 r984ff3 1 begin 64 0primdecSY.res.gz2 M'XL(" $5?<DX``W!R:6UD96-362YR97,`C9%/2\-`$,7O^RD>Q4-BUF"V:?T33 M L@?Q4A`O\2)22[5!!M:8)BN:?'IG:[81>K!SF1G>C\<;IGBX7=P#2#3N%C>84 MV-;&AEXF& 7A:444V"#/A.K1&W=#[IGPM'N.J_(I;N[:B&`S48#`@OR9[=:K15 M4/4&-,AQ+H-OV<D^E*8>D93M/TP'U(ST*DI& :>:EK9.FD1JEN09MRK4!L52?6 M ;I^5[,[Z/\"%AJ'6<G0'^/P!A2-RZ0[+Q%.RO!:\^LZUXCEW6?:[6N;.?\>I7 I?SA>/7/@.8]2/B0]RI<//N!\]BN]>Y1[Q6<;)&%V(GX`DI$%R-,!````1 begin 644 primdecSY.res.gz 2 M'XL("%C=;%,``W!R:6UD96-362YR97,`C9%/3\,P#,7O^11/$X>6AHIF9?RI 3 MF@/B,@EQZ2X(C6FP"ED*I6N#H/WT.*-9T78A%]MY/SW;<K&XFS\`2#3NY[>8 4 MV-;&AEXF&3A;444V"#/A(K1&W=#[IGPM'N.J_(I;N[:B&`S48#`@OR9[=:K1 5 M4/4&-,AQ+H-OV<D^E*8>D93M/TP'U(ST*DI&Z<)+6R=-(S5*,PW:E&L#8JD^ 6 MW3XKV9WU?X!+#4.MY=$=X.</*!R1*[=8)IZ2Y8W@TD=^*\[S?A:EW#3=_ZEE 7 L[GKL6'7`\G!'G(>.C'G)?YD><ESZV:_U[E#N%)]MD(39B?@!$(R[;],!```` 8 8 ` 9 9 end -
Tst/Manual/primdecSY.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:2437442 1 >> tst_memory_1 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:7823363 1 >> tst_memory_2 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:7987204 1 >> tst_timer_1 :: 13 16104113:3132- exportiert :3-1-3:ix86-Linux:mamawutz:131 1 >> tst_memory_0 :: 1399643479:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:235848 2 1 >> tst_memory_1 :: 1399643479:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2338816 3 1 >> tst_memory_2 :: 1399643479:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2370208 4 1 >> tst_timer_1 :: 1399643479:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:10 -
Tst/New.lst
r868d77d r984ff3 51 51 New/qring_ZmtoZmn_errorCoprime.tst 52 52 New/qring_ZtoZm.tst 53 New/AnnExt_R_bug.tst -
Tst/Old.lst
r46c7c3 r984ff3 331 331 Old/zahlen0.tst 332 332 ; Old/algmap.tst 333 ; Old/m25si.tst ; needs MP! -
Tst/Old/ok_g.lst
r46c7c3 r984ff3 156 156 m23si 157 157 m24si 158 ; m25si: trouble with rings159 158 m27si 160 159 m28si -
Tst/Old/singular.lst
r46c7c3 r984ff3 24 24 m23si 25 25 m24si 26 m25si27 26 m27si 28 27 m28si -
Tst/Old/universal.lst
r46c7c3 r984ff3 156 156 m23si 157 157 m24si 158 ;m25si159 158 m27si 160 159 m28si -
Tst/Short/bug_15.res.gz.uu
r46c7c3 r984ff3 1 1 begin 644 bug_15.res.gz 2 M'XL(" &G9(E,``V)U9U\Q-2YR97,`I99=:\(P%(;O^RL.L@N+336MW])<C,$03 M 9!=3!EL0\:.X0!6QE;7_?M5:M6V.1.N%;<S#V]ASWC<93]Z&'P!`&8R&KU`)4 M _,#TQ*(RT,;G&8M!_.-,;$50U0?:\0J,P>*PGM&6N77_3#^8!Q?<9G"Y;YJ)5 M Z&XO-BMWF1-N,=B+[1H^'=NHAD:D&][N.MMF(%;NW`/A1$T2VB0TPE[\%?5(6 M =*4Z##SA!^`YYV>\3WZJ0K\"W1@8:)Q.^UH\2J_Q9Q;?.]%E8$V=\$1862*\7 M )2(MG2X(U6A&*AGFQ204MQ%!HB18I'@3$;34EBC!>`N5S"^`8*(2D+<Q6:(J8 M *P-Y1Z76%O+W"Q#OJE7<(M@JI2#OJ=4=EY6"G#94RQ^I-L`1Y!1S4!XGJKHD9 M T<4,)6F92+6W8I]2S%=%_,Z;D**<HA8K]&,-6;,,Y!3U6;'/T37+T30.>PSJ10 M =?AR]VO/%<M?%S8BZ*>SM&$F:3I*TW3\?1NF]+A)W`G3IS,0ZX&G,Q`O_M,911 M B,=JJ0Q\H.2/9"`:K>6['XO7DH;%8K:DI["8+6\I/&I+[@QHU);=&O"H+;<U12 M J+KMT:T!LUR&E0IF"3Q8LZ])]4B0QJ%U/>I2VSR=DH]'X8-?I?K@1?L'$.6.13 %3EL+````2 M'XL("+S9;%,``V)U9U\Q-2YR97,`K9;;:L)`$(;O\Q1#Z47$;'03SY*]*(4B 3 M2"^J%-I%Q$.P"U%$(TW>OM$8#\F.K&Z],%GWXW>2F?EW!L/7WCL`4`;]W@L\ 4 MA=O0#L3TJ6L,CCL.@^3'L5B)T"QUC?T5&(/I;C&F=7OE_]K;<!*><)?!Z;YF 5 MIZ+KC5C._5E.N,Y@(U8+^/!<RXRLN&0%Z_-N@X&8^Y,`A!?72.22R(K:R5?< 6 M)O&9:C((Q#:$P#O^Q]OPVQ2E,]!*@*[!Z:AC)*OLFGS&R;T7GQ;.R(L.A'-- 7 M1)=$;&3;!:$RO9)*EWDQ"<5=1)`H"18I7D,$';40)1BOHY+Y``@F*@%Y`Y,E 8 MJK(RD#=5<NT@CU^`>$LMXP[!HI2"O*V6=UQ6"G):54U_K%H`>Y!3K(/R.%'5 9 M):DNUE"2DHE5:ROI4XKU51&_\2:D**=HBQ7JL8S$+`,Y1?NL6.=HS'(TL\,V 10 M@TH%/OW-(O#%[,>'I0@[V2ZMVJF;]C,W'7Q=FBG='Q(Z9IHC4#/5K"D\]5HM 11 M@&5=LV.QI&OZRQWF>F<MH0:K6?Z8T6HZ`6:T_V$$J-GJG6`WS%;KP+UAM@_/ 12 M!JC1/CS`H/;Z\(R%&NMUXZB.!)D=.N=1E[KV84K>C\*[K4E+W6?C#V:A/\E; 13 #"P`` 14 14 ` 15 15 end -
Tst/Short/bug_15.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 139 4792809:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:3158442 1 >> tst_memory_1 :: 139 4792809:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:23879683 1 >> tst_memory_2 :: 139 4792809:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:25169964 1 >> tst_timer_1 :: 139 4792809:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:431 1 >> tst_memory_0 :: 1399642556:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:317748 2 1 >> tst_memory_1 :: 1399642556:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2387968 3 1 >> tst_memory_2 :: 1399642556:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2517208 4 1 >> tst_timer_1 :: 1399642556:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:43 -
Tst/Short/bug_17.res.gz.uu
r46c7c3 r984ff3 1 begin 64 0bug_17.res.gz2 M'XL(" (<JO4X``V)U9U\Q-RYR97,`"PYQ\?134%`PM%/P\7124"HI+M'+R4Q21 begin 644 bug_17.res.gz 2 M'XL("/_9;%,``V)U9U\Q-RYR97,`"PYQ\?134%`PM%/P\7124"HI+M'+R4Q2 3 3 MLN8*ALH8V2D`!>,S\S)+-#2MN4"T@IV=0E)I>KRAN5Y>:KE><4EB"5RYL9T" 4 4 MG&VB!S&TH"@S-R4U&<U@4SN%HLR\=(4@6R,=C0J=2ITJ39V<`H2\F9U"9DIJ 5 5 M8HY"IFV5D7:5MJ%.I9%V)9"JT*Y$J#*W4X`:[QX2I9$)=&&T8:P5%U`&1@-! 6 M/)`--00N8A1K6ZE=!><:Q]H"S07K,R)#'TP3498B"9!H+:9.6#A8P,,A.)+2 7 G8*@:F&"`"E`8$):(!&AHH`=.NZ`$6EJL8:AIK<(%`/]54&/Q`@`` 6 M/)`--00N8A1K6ZE=!><:Q]H"S07K,R)#'TP3498B"9!H+:9.6#A8P,,A.)+T 7 M8$`W%RI`IIM("@PTB\F.`5A`6"(2H*&!'CCM@A)H:;&&H::U"A<`E^3XW/$" 8 "```` 8 9 ` 9 10 end -
Tst/Short/bug_17.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 13 21020039:3133- 14004 :3-1-3:ix86-Linux:mamawutz:3121242 1 >> tst_memory_1 :: 13 21020039:3133- 14004 :3-1-3:ix86-Linux:mamawutz:8642563 1 >> tst_memory_2 :: 13 21020039:3133- 14004 :3-1-3:ix86-Linux:mamawutz:9495364 1 >> tst_timer_1 :: 13 21020039:3133- 14004 :3-1-3:ix86-Linux:mamawutz:151 1 >> tst_memory_0 :: 1399642623:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:304588 2 1 >> tst_memory_1 :: 1399642623:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2428928 3 1 >> tst_memory_2 :: 1399642623:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2520924 4 1 >> tst_timer_1 :: 1399642623:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:16 -
Tst/Short/bug_charseries.res.gz.uu
r46c7c3 r984ff3 1 begin 64 0bug_charseries.res.gz2 M'XL("% `INT8``V)U9U]C:&%R<V5R:65S+G)E<P#5E$V/FS`0AN_Y%:.H!P*43 M Q082D@@J5>UAI:J5DDI556VRA)C4*B6L(=HNO[X##M@*JMIKN?CC?69LCU^\4 M _?SN_B,`D!@^W+^%:5W53LX/T_5D>U5H##BYYP6OC=EZTK80QW"XG/;I]T145 M 3'!6.05[=JHZJ8<P+X:[.T@*8$*<!22'\Z6&BA\9L"QC:5W!.8,OG;@%7@`N6 M FB4I",1XP:K5D,AW8.@'CMQE*?C/(TMO=CJ/0?#B!`(B<&WCE_UB-S,[+Q6Q7 M B.'(,BBC9D?!`J*44"I/J'BH4*4LI5(E)T;=J`03GG9*)JXFD^CE=:.+6%4\8 M <9(#CV2\+3E%8'5_\#R'VWE/GW?5O*\MYT77.FR_&GRFF"`&%(K:D!0JW\C#9 M :H)GZ5O\]MB/&FJ184P?VNW3CJ-_X7#8,Z.<<\MO/,O_I[R>14=<?PR\SJ&_10 M </YTM6@RTP3!L"IHS0XQS2$NU,KECVZ=X-V^WVP^;8QI5^QR/<5BX6;>P'4L11 M !]+"YS2]"%RH=:M,D*-3,<D*'D=9'OLUJ&Z08&0O2C1Y'FD"U82%M$\`NRNH12 M ,$_#0HGYZ%$9IC#=-\L;F]*@MVDK>Z[,$DJO+A4V5SD\HGE/1BD#4OS-)/1_13 =.H^&RGETZ73/7_NV72J#S-:O)K\!.VTP'#0%````1 begin 644 bug_charseries.res.gz 2 M'XL("%?:;%,``V)U9U]C:&%R<V5R:65S+G)E<P#5E%%OFS`0Q]_S*4[1'@A0 3 MBFU(2".8-&T/E:9-2BI54]5$)#&I-4:H(=K*I]\%!VP13=IK><'<_W>'??>' 4 MU</G^V\`0!+X>O\)QG55>[G8CA>CU46A"6!P(PI16Y/%Z'R')('MZ;#9O:2R 5 MXE+PRBOX;Z^JT[I/8PG<WD):`)?R*"'='D\U5&+/@6<9W]45'#-X;,45B`+P 6 MI5FZ`XF8*'AUUQ<*/.C7H:=V64KQ:\]W@YU.$Y"B.("$&'S7^N.^N<W$S4M- 7 MS!+8\PS*N%E3<(!H)5+**RH,%:J5N5*J],"I'Y=@P^M:R\0W9!*_W32FB%W% 8 M$Z<YB%CENXK3!';WI\AS&,:9&?=U/#!>Q^)+'U8_+#'13)@`"D5M*0J5)_)\ 9 M-\*S='>\-KB.FZD3-,P)^AA]/A^!MBP=L,RA5UP'716F#OFOHD,.'[MCX#C[ 10 M]<S[UVC19+8-DF-7T)HM8MM]7F2T*[B:.L'9?EDNOR^M<=OL<C'&9N%>/L+E 11 MN2.I.>;PRB24&/(T-@1J"#-E@A#6%U!CS,`BA07H-)6F,7/Z\X'9:-B9[2PS 12 M7U6)E./F&IOJ&HP8#E)9VD84/Q8%O4__T$C[A\Z]]B=V_D.=*HM,%A]&?P$D 13 ')3>H^@0````` 14 14 ` 15 15 end -
Tst/Short/bug_charseries.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 1 186670893:2007080817:3-0-3:ix86-Linux:nepomuck:247436 1292524760:3120- 13145 :3-1-2:ix86-Linux:mamawutz:2441002 1 >> tst_memory_1 :: 1 186670893:2007080817:3-0-3:ix86-Linux:nepomuck:832260 1292524760:3120- 13145 :3-1-2:ix86-Linux:mamawutz:7823363 1 >> tst_memory_2 :: 1 186670893:2007080817:3-0-3:ix86-Linux:nepomuck:832260 1292524760:3120- 13145 :3-1-2:ix86-Linux:mamawutz:8026044 1 >> tst_timer_1 :: 1 186670893:2007080817:3-0-3:ix86-Linux:nepomuck:19 1292524760:3120- 13145 :3-1-2:ix86-Linux:mamawutz:111 1 >> tst_memory_0 :: 1399642710:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:236720 2 1 >> tst_memory_1 :: 1399642710:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2338816 3 1 >> tst_memory_2 :: 1399642710:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2375480 4 1 >> tst_timer_1 :: 1399642710:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:12 -
Tst/Short/bug_charseries2.res.gz.uu
r46c7c3 r984ff3 1 1 begin 644 bug_charseries2.res.gz 2 M'XL(" (C9(E,``V)U9U]C:&%R<V5R:65S,BYR97,`[54[;\(P$-[S*TZH0P*63 M P4[2A])XJ+I$JKK0K2HH@`%+*$&V<2M5_>^])&#*PMPA'B[W_.[S1?)-WYZ+4 M 5P!@`EZ*)QA88^E.+099,#U&N`!TSE6E;!AE0?,%(6!QV,R7VU(;J94TG%;R5 M DQI;6E\7"QB/H:Q`:EUK*!?UP<)R6]=&51M8*[E;@?RRLC*JKHPO2RAX/:6@6 M FV2=<Q(Z1APG+B8N(2Z-R&I_YG@K0*UDN8,B=_&,CQP;NA@E`9<T)A^Z!"7Q7 M !7<47'I,Q&#:*:UCAC8_0]\+*+*@>&<?^1&U:X`NCJX.N6N"KKC):A'^()Y:8 M 8$,/^R!@7>M05194/LG4(T,Q&D6G!#:A\.T-1F&/D[!A,_%Y-_*PB")/D\449 M !OG5<_ZE#.?Z$US<AEQ<A+2<V['%+7^,I.1ZQ44N=">XSJBGT%/H*?04_B.%10 <TU.)F\7KN#2:3=ALN8,)693=!+^1GL)H/P<`````2 M'XL("+[:;%,``V)U9U]C:&%R<V5R:65S,BYR97,`[55-;\(P#+WW5UAHAQ:B 3 M0))V'^J:P[1+I6D7=IL&*A`@$FI1$K))T_[[DA;"N'#=I3FXMF,_/[M2/'U[ 4 M+E\!@'!X*9]@8+3!.[D8Y-'T>$,Y..=<UM+$21[Y+W`.B\-FOMQ62@LEA::X 5 M%I]8F\J$/,9A/(:J!J%4HZ!:-`<#RVW3:%EO8"W%;@7BRXA:RZ;6(2W%$/0, 6 M@_+!JJ`HM@19BBQ#-D4V2]!J?^9XRT&N1+6#LK!L1D>6#"US$H%-O4F'-G42 7 MA80[##8[!KK+K%-:Q\S9]`Q]SZ',H_*=?!1'U*Z`<U'GZI"[(L[%?%2+\`?Q 8 M5,(5#+`/'-:-BF5M0!:37#X2)T:CY!1`)AB^@T$P[-TD3.PG/N]&'I=)$F@2 9 MAF%07#WG7TK<7'^BBV[012.MQ5KFSI<A\.=Z`FE;ODB+KO/I"?0$>@(]@?\G 10 =<'H6W18)NEL0?NOYC7;0,4GRF^@7:K+$>2L'```` 11 11 ` 12 12 end -
Tst/Short/bug_charseries2.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 139 4792840:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:7015562 1 >> tst_memory_1 :: 139 4792840:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:23872003 1 >> tst_memory_2 :: 139 4792840:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:24281724 1 >> tst_timer_1 :: 139 4792840:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2221 1 >> tst_memory_0 :: 1399642813:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:495016 2 1 >> tst_memory_1 :: 1399642813:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2377264 3 1 >> tst_memory_2 :: 1399642813:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2418236 4 1 >> tst_timer_1 :: 1399642813:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:98 -
Tst/Short/charseries.res.gz.uu
r46c7c3 r984ff3 1 1 begin 644 charseries.res.gz 2 M'XL(" -D^*%,``V-H87)S97)I97,N<F5S`-582V_C-A"^YU<0BQYL2_)J9O@23 M `OM0])+=8B_;6Q$':3?;&C721:*B\K\O7Q*I5^)X?6D06!(Y,R2_;_0-J<^_4 M _'3SB3$&6_;SS8_L7?U<KP_[W]Y=7WT./;AEW3VMF3&XVS_NZ\7R^LI>V7;+5 M ?O_S_NGYX6G_\+Q^?/AW_5S?UYT+3]S%FCWM'_]@3YLR7S20-Y@WE#<\;T1^6 M 7.:';W%4N67?_CX<V5?8+!;'K(%50UF#YF:Y6AP+7#6X,T]D?ER+?3`VMFFY7 MC &'4ENV_/-P?V,W&#+C#HC&>8(S,;V'_S0Q<,[EFVQ">K*F+GQ>VPPW6L_&]8 M QC893K?#?=C<Y%\A=E0>I#N/$EM\,$YWOT(.MQNP,]JIC+NK+-`.LQ.9N_`"9 M P%XIXRLW"6'G`,X7;S>%L[1V=L+2>7A+NX)PYWQVZ)9D(;+@V46X('2[\>Y410 M \+X[%3UG<FX['X-"#"K\5+A91BG(34!FH+G4;A&%Q@ITB,LK[FZ-LU!<^?4@11 M Y]+AJE4I5H;&0@,W,?$[H,%+0(,7@08M-*1)M=``H`[8@."R#.`(B0X&`PZ'12 M J@S@@"PA`2=#H%*:J/0=X-`EP*&+@$,6G(*`!W0*DT/2IXO(I"YE6`HI\*TF13 M JC$(\8!750).@5S*]GV#,JH.P)K]M3\<V%/W.D*B:6`T[?W[1):XTR2K"T&614 M OD19`FZ-O3!A$*96C[B]R88*!,)ZM!K$HI`X/'@6M<0\%0VW3SSW9M@W<S;H15 M 1O!FW1C2CL&ZOYR!%\,BR*8/`5D4-Q><MR*6C&Z<_>!!3+WD>=MV"HGVM6YF16 M 2G')*B[9Z2#&+FV[1DK8]E;KCA8LK>6`-X3$``>\C<I)PAM2Y(TL;XZPJ.FA17 M B$28>:@XF%")/*6RL-0D$2*R'3)90,83$@N/JR$!2$]ND<))'8$#ZCK2[`L418 M R.HF)[H<F.,/BN"?,$[9D#V4`_8H=JF7V$.=D%--L$=E-"`X>2M`V&X%^(8M19 M 7*5?N+4L5Y:PP)M["QNK1PEC1+'\>UC`I+=#TMXX'-#<^$R(;CR6<680B."020 M F*_C/GY;F0-E78WU>=$6RX"[>Q36V.B7(<?)QW&';?WK0F(_)/9#8C\DNI`F21 M 4%LINC#4#T/],-0/0S9,2.1C!X",RDEJ)*RDD^[J9(IYV5(L)BDV=<:3;.K+22 M !,T<(LUS+/M[3[1_C.[8IUO$'CJ7;LB&C(>6"_">QL:IV&],@#0>3<6;S`2>23 M ;.RY&&4"3Q*%J],S0;>9(%TFQ(U_$.BHS6[73[V6)"6JUU,BS8?.492MXT<K24 M ?C)VP"`7/I[YZD]E0=.NPZSHK)=_3'\:]"PA&&5`1\71Q&A12792@D99()(D25 M $:>?_H1,LV"<!%,Y8<OK*CV,"75N"NBY%!B>XBZ=`A[:B_`?X,@&;ZU,-L9R26 M O#&6"9V24K[J_$7&))]AK.XS5B>,U4/&I!@P5I_(F)0SC$DUSUCM3O7G,E;'27 M -1U;QKJ(9S%6SS"6E%19C1A3":$*WL"8PI<9FZ9(T9D4*3Y#D1INJ?Y_%*FD28 M UJGQID@E#*JX*:)71%"7ERF%>GYWE"7[H_[V*!*G<88X/=P<O::&H2$"G<&829 M O/!!R6TX[!%F%1>%_MO"*AR:(.FB[ICL?GV[/2-%YB?E-#0,IH034WIC40T-30 B@\`T$7BVM.JD=FKA/[S:+ZO_/"]@>?W#U7\,(I[LNA4`````2 M'XL("!;8;%,``V-H87)S97)I97,N<F5S`-5836_C-A"]YU<0BQYL2_)J9O@A 3 M(;`/12_9+7K9WHHXR':SK5$C7=@J*O_[\DLD)=F)[?BP#0*;(F>&XGNC-R-_ 4 M^O6GNU\88[!D/]_]R-XUNV:^67]^=WOSR:_@DH4QS9DV>%@_KYO)]/;&?+/E 5 MDOW^Y^-V][1=/^WFST__SG?-8Q-<>.(NYFR[?OZ#;1=E/FDA;S%O*6]YWHI\ 6 M/\TWW^*N<LF^_;W9LZ^PF$SV60NSEK(6]6`ZF^P+G+6XTE>D/^R,N=`V9FHZ 7 MC6'4DJV_/#UNV-U";[C"HM6>H(WT9V'^]1W8:;+39L)?&5,;/R_,@MVL9^-6 8 MM6VR7=5M]V%QEW^%N%`[D!X<2FSR03L]_`8YW"_`W-%*9=Q^RP+--BN1V2]> 9 M`)AOROC,WH0P]P#6%^\7QK`P9N;DTCE80WL`-RJ$];386(0<`FACT/W"^_L= 10 MHC]E/6^R?AYF\D'(WPK780BXDNX(4`H)E3N&K$KICT(*W"QE0ANX>`7PNK;( 11 M5JH4,TTMEU('Q3=@@U?`!J^##1ILJ"(/308`6#EH"A!<EG;,,R'1P40%A[I4 12 M+A[($A)L,@0J#3CT!G#H"N#0=<`A`XY.%NK`J;CTV%18@X>&\YJ[M"E0*.ZA 13 M0<YE`HU.I`IX][Q!&54'8,[^6F\V;!L>1T@T#;2FO7^?R!*WFF1TP<O2ERA+ 14 MP(VQ$R;TPM3I$3>#;*A`((Q'IT$L"DEAX.!9U!)]5;3<7/'<F6'?S-J@W<&9 15 MA3VDV8.%OYR!8ZSPLNE"0!;%S0;GG8@ENVOG0%:4/&?;W4*B?9V;OJ5X9!6/ 16 M;'40XU)EED9*V*W6\T`+EL9RP!M"8H`#WD;E).$-*?)&AC=+6-1T7T0BS+S+ 17 MUH1*Y"F5A:$FB1"1#<AD'AE'2"P\MH9X(!VY10HG!0('U`72M$U'5K@Y$7+@ 18 M&']0>/^$<<J&[*$<L$=Q2;W$'E8).?4!]JB,!@0GMP*$72O`%VQB*_W$GF4Z 19 M,X1YWNQ3V!HY2A@CBN7?P0(ZO2V29F!Q0#UPF1#=>"SC3",0P2%QO(Z[^+$R 20 M6\JZ(NOSHBN6'G=[*8R2VG39=V4OA,)^*.R'PGXH-*'TZKXK$"$,]<-0/PSU 21 MPY`-`[H2ZW2Q@J8A#P#(J)RD1L)*5;)<GTPQ+SN*Q4&*=9EQ).OR<H!F#I'F 22 M8RR[L2/:749W[-,MX@I=2C=D0\;]S!MX3V/BH9AG)D`:CP[%>S$3>-+8<S'* 23 M!)XD"E>G9T+598*TF1`;?R_049MMUT^]F20EZM=3(LV'X"C*SO&C$3\9%V"0 24 M"Q\O?/1'61".N/?<GZL`XQQP$4-RG:\&A](@AEQ10"7II`2-LD`D22).?_L3 25 M,LV"<1(<R@E37F?IRYA0EZ9`=2P%AF]QWW$*>#A"$O@CR*0QEN/&6"9T2DKY 26 M:O(7&9/\"&--G[$F8:P9,B;%@+'F1,:D/,*85,<9:^Q;_:6,-;/A0X:]H!>1 27 M5C2N8S<M7J0LJ:FR'E&F$D85G$&9PI<I.\R1H@LY4OP(1VK84_T/.5))M5/C 28 MMD@E%*K8%M$K,EB5URF&U?'^*$LZI'Z#%)FK\`ASU;`]>DT/_42$.?Y\%($N 29 MX&Q5]!.#N'@@[IGET4\,`M.!P.3Z.?/6-8LLH$T4-_"\A$%XL[>?;MZ\UD6Q 30 <KI+J60GWTZOY;?6?W02FMS_<_`=5@1@MO!4````` 31 31 ` 32 32 end -
Tst/Short/charseries.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 139 5146457:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:12072282 1 >> tst_memory_1 :: 139 5146457:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:132956163 1 >> tst_memory_2 :: 139 5146457:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:216842244 1 >> tst_timer_1 :: 139 5146457:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:118941 1 >> tst_memory_0 :: 1399642133:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:1170504 2 1 >> tst_memory_1 :: 1399642133:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:15392768 3 1 >> tst_memory_2 :: 1399642133:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:15392768 4 1 >> tst_timer_1 :: 1399642133:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:8632 -
Tst/Short/charseries_p.res.gz.uu
r46c7c3 r984ff3 1 1 begin 644 charseries_p.res.gz 2 M'XL(" (QK7U,``V-H87)S97)I97-?<"YR97,`[5I+;^,V$+[OKQ`6/=@K(Q"?3 M HA#8AZ*7!$4OV]LB#21MMC4:I$$BHU9_?4G))(<<2::SZ*7(:2F9I$;?@S.C4 M [.=??[KY)<LRLLM^OODQ^]B]=E>/^^;C]8?/IU_H+M,W[_=/^VZUOOY@_LUV5 M NZS]HWYY?7C9/[S>/U\]/?Q]]=K5G5O$=ID;\ZOL9?_T>_:RI9M5MVDV]:9?6 M ;[X^^T>(7;;_^E`_9OMM3?.NV30\;_3`SY"[[/FOQS[[MEWU9L;ZTZK/&Z9G7 M F9&YDW=T[>>7=L>;[7[SS=]78^#W8^39ZD:ON?]"-N1N>WKF<$GOMGK'F@X78 M 3/]FGI3W^I*&4RF<2LW4+J^'B2R<R.!$9B:::3:LRL-%BJOLS_WC8_;BHB8$9 M _$Q#-&N-9X@F8>?0)/PR-(F81I/(>31KI;>H>=X)"^@0BP6TEGEG?F7]<(??10 M ;0L+KH.UMI`VPT#/<;@Z1&N+9I.387B:Q5$,',;`(5/</EZ@10(N$I8U,QR611 M 6!Q*P(_"]`%V:8'I:R,"*8D);&G>YIA'2B=XI(9(/7O@M,V[248IFV:4\C<S12 M VND@S8W6$MKIIX_LBC1VVV$@EFFV)+<GOLWT8<CM`FX7<*^+@>(!Q?%*F`WZ13 M 1,KAFXGQS:P*3F\F[;.E?;:TP4H?K+3O5MKII9U>^E#+(-32KE$H4`4#57&@14 M RFPSAJELF!7:HX)[5/$>U;`';?6-7MM5W\R[?KA_VI`4]DWTZ/0J>N3>18_A15 M R^C+$7A]904G@#<DL@X%SJ(JP3I5HG58$5BG7O^F4KW#R+1W&'WWSO_).UCW16 M H9$ZYQ_KG3&(*@BB\I*W?@G%4`1J*)`<!@L9B3H#N;S#0)7%.#(/`]YB\KQY17 M 6)EJ'@7,PRXS3S5M'EZ\F^?=//^1>=B4>3@HJCE%YN'`6WRB@XG-PU$/,V,>18 M /M7*)'F'SS0U_(U-C0ZPR<^X9JG3<>LIU":UZ\\V0&X]\[4*LZMYN)K#U3Q819 M /5BLT>#U.H+V5-$+4-%WUERCQ,8RWEK*:4V@VH2#NEW@KDP``0D:*Z1%7:Y`20 M ?=F,0L14>Y:D$#'3J(F%1BU2"!`%@WI)50@0!8-Z254($`6#>DE3"!`%@WIQ21 M "FE=SW=.(4`8W.HE5H@`Y:G`C9\``I*H\6M1YRY3&S_YYL9/SC1^\J+&+TRY22 M #";D"_*O.SJ:A/SKZ!BDT/@D;!T_F81;GX0;RWI_8G4R_X8IE\&$?$'^=<%*23 M '^RY)-SZ)-PDY-\PY3*8D),;O[#7`WM\1^,'FST.^L#8.A(4IQ(W?A(X2T:-24 M 7SOQT4NF-GYE\5;KE#-]7[G0][4J;V'Z-1=MF(+U8[UQZ@GC^#UHO`<-]J">25 M ^?"(]3NP>`<6[#`6N!H*3;NYZ<_+\-2%YZVU&+.VX[[V!=6;"`,1<2`B"$3`26 M <T0$=5L)"K,2-STET%4I8^'@;\]E:M-3JC<+9Z;G40L]3R0<H!,6RRA5.$`G27 M +)91FG"`3E@LH^\2#NB5ZA3A`)VP6$:SPE&@7E.XX%=`5RHJ^`^G?OFXZ3?_28 M !/)1J.S/1N&TF\R$=?`S?=U_-"?Q49_$O/4_SQ3W:J&XKXG4>YASO3I8I81?29 M V>V1SUV97^?'A-2,6^/C?&H&G]Y;R_C1,A[%B+_"AS&.&J#YT19U`8.@GJIP30 M 05X!@BN*&33VQPQ6J"R?8[#BBPQ6,\5WM?17DBD&(]+B\BJ-05Q<+3#HFC!031 M 5RTS&)'&(*D+#%8@K5>X8*X\P:0H8@;'O(\8)`4JFV<8)`5=8I`4T\4Q*1:*32 M X^Z@3Z9DZAPL,_2YQJEV]`V,S!#H^J3:$8CHLP&F\98?8\Y((0`IJ%(C10E^33 M 5C%GXZ>2"<Y0O3;'&2D6.2/351DA"U59HW+]L,XY+OQ3[QB&2ZV-I8Q&2_$'34 M $;^46C!M-#ZY$(**%D(`Q$1B#(WR,88$E2ZS&*IE#*<+%$(7"I080P@;^G"P35 M C"&$+?YF`#"D_G@G%.5O0@'$%.7OL?3#&-+4_$WH8OXF=#I_$[J0OX.SXP(`36 M[ ;J+T`-'*T.YDS``+IO(G?K<#7!C4=8<8/-@L2!5KKK\L/YD``,S'/"WVPP"37 M QN)T>0O2)2B)S?.<9X=CBX(I%$P9<#F:OZ#81X`CBZ$L1!B`BJ,L-.@HP(*338 M 12PX/8<%9S-8\#CQW`;?[8*B;P(+]_X4X!)AP<'1P_71X\8E&&N,S'\!,O_#39 3Y_"Z(NOK[(</_P*M9D<H.20`````2 M'XL("`C9;%,``V-H87)S97)I97-?<"YR97,`[5I+;^,V$+[G5PB+'NR58(@< 3 M4@\$]J'H)4'1R_96I(&DS;9&@S1(9-3NKR_UH#CDB#+MW4,/>XHL<4CZ>W!F 4 MY'SZ]:>[7Z(H8KOHY[L?HP_M>[MYWM<?;F\^C4_X+E(W'_<O^W:UOKWI_D:[ 5 M7=3\6;V]/[WMG]X?7S<O3_]LWMNJG8)@%TW78A.][5_^B-ZV/%FU29U4R6F= 6 M?'XU2\A=M/_\5#U'^VW%X[9.:A'7ZL*,R';1Z]_/I^C+=G7J1JP_KDYQ#6I4 7 M=]7=B5N^-N-S/>/==I]\,?>+8>./P\ZCU9V*>?R-)>QA.Z[9?^0/6S5CQ?L/ 8 M\+"MXI.ZY/8PCH?Q;E@;#P/!'@AX('0#^YVKH7I;I8&+I9OHK_WS<_0V[9HQ 9 M])C;:%8*3QM-!N?09.(R-)F<1Y-E?C2K0DU1B;B5&M!^+S:@+!$/VU0C.V%: 10 M:3SKF/67:M0$ZP1H-8'97XQC!%E<X,4%IDGHY24)DCA(]CO.XK9["J?^3A^I 11 M<<@1/P6E#['+4TI?XQ#(F4M@P^,FICQR/L,C[XA4HWM.F[B=993#/*-<7,UH 12 MJS;9W6@TKQ5OU(V30DW=C-N!;QG*=_^5AT\JIHE/_0>?`L:'.`[&.*V)=I*" 13 MEL$0):PHT46=M"3:20E:!;4F?Q@N^^']9:8#,AV0Z8"L#^@OQMES/3C7@W,] 14 M.#>SYWIX0?`O,/Z%BW_1XQ\/H2/D)9FCQ'.4[AQE-X=V2JEG82F50FII(25B 15 M2(>9!B[4)XFLPR7R1D:LPY&S>!%@G3+0.I!:UJG6OQ>AW@$V[QW@W\X[W9:^ 16 MQB\AIR6RR9)))HN$N&,T!=Z/Q/[UF61\B.,RX]]+W-)?7N<7>E[]S\T#J,H" 17 M0<P#R%N0G3</Y*'F*9!YX#+SE//F$>DW-`]\-\]W\YPSCT!%M>#$/`)Y2\QT 18 M,*YY!.EA/.81<ZU,D'>$IZD15S8U:H-U/+FF5LN?%.@C6//FT9X![:/E2FVI 19 M!9I6!U.L@%Y5V-$"1PLK6F"Q"!TO[7B)XZ45+[%$I*T05+=+VI5))"#)784T 20 MI,N5I"_S*$3.M6=!"I&>1DTN-&J.0I`H`.ME4D@35X$*0<(06B]G%()$`5@O 21 M80I!H@"LEU"%(%$`UHM7(1*5IY(V?A()*".-7T,Z]RRT\<NN;OPR3^.77=3X 22 MV2D7<$*^KO&SI5)[CA.:CU&W)TP;>*[QTZV>T!EZ.3$W)C'7-R$]'TK#PN3G 23 MY=:OT?FXOCG?^-GI%W!R#F[\[(P+.!]?E'Z=A`M60O:GWPP5IQEM_#+DK,QI 24 M_)J9EUY9:..7I]=:)_?T??E"W]<4<8/3;_>AL5.P6E8;IYU-OF8.[L[!K3F& 25 M;*R^B/)>=].<U5Q/:-L(N0>TJ8B-1J]8&Q'N1H2U$6%4:)^W9@;ISB"M&236 26 MH'WFYJ@PRVG3DR-=Y9DK'/KN.0]M>O+B:N%X>IYBH>=QA(-T`JZ,0H6#=`*N 27 MC+Y*..CM6Q4B'*03<&44)ARD$W!EY!5.@>JU@A;\!=)5X13\A[%?/B:GY%]+ 28 M/@4I^Z-!.$T2==LZF)&F[C]VI^A1G:*B,8\]Q7VQ4-Q7+%-S=&=R>=!*L=^R 29 MZ^-:H+>R\5$+*[P_UE(X^E.Q:8VU!HZ:?V>?](6\O<]1!4>C`HT%JJ=*6I"7 30 MB."24P8[^U,&2U*6^Q@LQ2*#I:?X+I=^)9ECT"&-EE>A##8S!=4"@U,S5H<Q 31 MZ)`&F%0/@R5*ZR4MF$M#,$M3E\$A[Q,&64K*9@^#+.5+#+)TOCAFZ4)QW![4 32 MR11,70^)A[9&TU8%T39U296?-KVY,+XF75F<L50B4DBEQM(</2Y<SH97)3.< 33 MD7K-QQE+%SEC\U498PM565W$:K%V<ISU5F3<ADT9=\+H3[\FK*=./>O!U+LQ 34 MR84Q4K0PAB!F&<6P4S[%D)'2Q8MAL8SA?('"^$*!XF*(87-?'"Q@B&$##"G% 35 MD)OCG7&2OQE'$'.2OX?2CV+(0_,WXXOYF_'Y_,WX0OZVSHY``'7,Q>BAHQ5( 36 M[F2`P(69W*G.70LW<+)F#YL!"ZQ4N6KCP_IC!Q@:,0%_OXTP8."FRWN4+E%) 37 MW*VGP3H./Y=Q-(:C,6,Y<YR60$<6D"S$`$$E2!;J=61A(=@B%H*?PT*`!POA 38 M)IY[Z[V=5?3-83%]?XYPL;$0Z.@1ZNB9KG-TK3#J_@6H^P^?P_N*K6^C'V[^ 39 )`X/,>R<Y)``` 40 40 ` 41 41 end -
Tst/Short/charseries_p.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 139 8762379:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:7556042 1 >> tst_memory_1 :: 139 8762379:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:24657923 1 >> tst_memory_2 :: 139 8762379:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:24657924 1 >> tst_timer_1 :: 139 8762379:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:54001 1 >> tst_memory_0 :: 1399642375:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:664412 2 1 >> tst_memory_1 :: 1399642375:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2465792 3 1 >> tst_memory_2 :: 1399642375:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2465792 4 1 >> tst_timer_1 :: 1399642375:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2344 -
Tst/Short/ok_e.lst
r46c7c3 r984ff3 58 58 modulo_s 59 59 monodromy_s 60 mpsr_s61 60 normal 62 61 pAdd_s -
Tst/Short/ok_g.lst
r46c7c3 r984ff3 70 70 mora_8.tst 71 71 mora_9.tst 72 mpsr_s73 72 normal 74 73 pAdd_s -
Tst/Short/primdec_s.res.gz.uu
r46c7c3 r984ff3 1 1 begin 644 primdec_s.res.gz 2 M'XL(" ';9(E,``W!R:6UD96-?<RYR97,`[5Q9;^2X$7[O7R$L\F!'DE<L'J(R3 M :`.;#;!88!$$._N2#)Q!7_;T2'8FMA<K]:\/25TD14I]>.Q!T`_NEJJ*K&*)4 M K/J*5/O];W_[^>]!$*#KX)>?_QI\]_ST?%5LE]^]F[UO.'`=".+'[</V^>+R5 M W4Q^!]?7P9?'[?UZL_KX=/6P^>/JZ7GQW+7`UT%W3:[J?AMQJV^J2;*KX''[6 M <!<\SC$D"8XN%M$R6D7K:!/=7D87/T;K+Y=]R_0ZV*XWBR+8SCL:OPH6L%K?7 M 0M21LJM@:9)0(J66!@D)*6Q00`B9%"PH2S!(I-:WZ2FT5J=16*U-HZ1*F4;@8 M 2I=&R&I5/0626E.O&U"M2:-`K4FC8*5)(Q"E22/06I-&4?:N0!LFI$J505*>9 M 7JYTDO0TUBE8&FU2D%)GD&JK]<ZQ-)OH!&7V4J<HN[%.D7:+1MT$P6D_M;`P10 M M]@^/8LYB^;WVX<?GIY^^NU?%]M^.N&LFTYH_KA8;U>+0N>3I./#?//?W[>_11 M .F3$$FJTP+Q='I8>`IT,;BSY\=/B\6(;(4T(=T)DWO3S_I^6#+D.[A?/C]LR12 M N)^O1!<?GS:/V\V3H8S*58K>S3Z@F[_,Q&+X*"[FM_45W,S7,_'9,Y8=8]'U13 M P,2P10=;I`1NY87DJPLL*&MY001EW361"U,\ABVT3:!M`FT3L)IP:2?T=K;?14 M G<G0W2FSI0A8(J9$R[9[6AH]+<#5U=(0F0FC]S!JT]V(,:Z=_=[ZY6?"(4XE15 M *[W-$NN-%MI8I#NAMYN*6^PRP>S.Z&TF6CE-6!OC7('>2D8@W0@1;70C1#SH16 M ;IFX)=U=JNSOA;FZ[Z4S>=\/%R5R@)HNA-2(-8)ZG,N^!X05H3<722=I]B'E17 M ):T!D_>]4Y"TD;B\N#8<8OC#>"+=_,[D_,8GK$.:R!Z(?X4<,Z\]2\08W>WT18 M 3%Y[5\AK3E[/^MD,!],V.F*1^E;(R`+1)ABQYCBU9BPSYV-J+!AN+HC,GMR)19 M -7G12TU>*K+:_;O9_0<4R3[5A?+__0>(5'_R0GJW:R$!X^;I^1\B<RT>JPL120 M VB.9E5`G(/);OBV*X+%+593TV9K2#@@FXR"0LB$(I.D`!%(^`($T&X!`EM@@21 M D"$;!#(8@$"&;1#(B`T"&;5!(&,6"&2I!0(9MT$@RVP0F"8V"$R1#0)3L$!@22 M BBT0F!(;!*9T``)3-@"!:3H`@2FW06":V2"0)P,0R-$`!'*P0"#'-@CDQ`:!23 M G%H@D+-^6O%T"@1R/@X">38-`K-D&@1F:`\0F,$T",SP-`C,R*D@,*,'@\",24 M '0P"L_0,`L\@\/\7!&;\5!"896<0>`:!;P$"49(<"`)1@L9!($K`!H$HZ?<-25 M 42*2>W=-M>O!+F$95='.AH8H&>X/HD2@D[*"'<1(?H5E55_NHDXBDQ)8LJ"G26 M RAW#LB*J54\4F*6$N@?0NI`[AX*`%5D3%_"E)#M))CL(H<3B6GY"6((B"[MZ27 M ::(ZT6V@LGTE+,.Z,N$-$&0(F:#+3]%(&(]#PU2!?$HJFDK-XD-IEW;+@=;N28 M T#5)+[$JQ"65'Z22*CN_HJQ_1G)7<A11(4"CB`H!3"(J!'@242$@TX@*`9U$29 M 5`C8)*)"D+H0U:X+V)49R35&C&;M.BM#U(5,)59U8HI%-%;9:>8Z$A,3MX%B30 M I9S,NP:.B2<?EU4#R<1\$%.A:Y_IL*SK%B<3T*MTQ9#2FSQV>G2I7&TM"5_N31 M J$*D"Y;.8&T+>=-`9?8E5D'=<M"A(2<?AB?D5T:^+?MVV&NK92GS.#`VAE0932 M V:1TYD6[B=%B)O*(6Y$Q@FJGMZJ,Y"RG&)2[L!>ATA01($#\N1TYG`>=1=*K33 M ?)_9HPT+'ZC0:BI59L?XNPHKTQ/>F3/Z$*1^D:'W>0Z6_IWU(,Q'X%Z;/C-V34 M ,PD+]C'"L"$^]`''7:+'R`5\O>'2BH/8W<:.I,YPB6$",)\4UUYV9OHBX-$Q35 M RQ,$#X_-KQ[\WC(F>>+DD8G(%^%>*]QXPIWY(,S)N',.;7RAOUI8&S%C)*R]36 M =#)MHPO6:Z*JK8EVZD(()FUQ)!]%4QY5ZJ)AXIZ)HR8LR$M<=T(46UU`W8#437 M +5O]9*+"PG108>%^/Q3AM*^JY`%YO^7NKJBT(_*NHB+)5$5%D*NB(N"HJ`AV38 M 5U2$."LJ0@^IJ`BS*RJ2NBHJPO>IJ$AV2$5%D[&*2AZP=-<P55')LY.QBDH>39 M I$Q55)1.5U3R:&6RHJ+I=$5%^71%1;.WJJA8<EI%Q9"SHF)PKJB\<N>*ZEQ140 M G2NJ$RHJAM^JHF+D7%&=*ZIS176NJ/Q6'%]1,?JV%15C$Q452P<5%>,]>I<O41 M Z-155#`/FM.I[N6EZ"[Z%'V.\JCH*JNN8=J_73SOB:)RNBCB_/+?65=)R)=Y42 M :AK_L_A>7O8<W')2R5EI'-)RF.2L-0YM.51R-AJ'M1PB.;<:)VTY6'+N-`YO43 M .2`YGS1.UG`D_7,/^WG2^TZ^`C1>^7`8KWPXGJY\.)FN?#C=H_+A;+KRX>ET44 M Y<.YJ_+)XZ(3R/0"16/(%XWZRD-GH(G:0\HZEJ@D^_)T#C'D15@8T>>SOQ]+45 M RI>+<QSC'(H0YP7$!79TWL:(3WOKLAKYLG9.8I+C(F1"/XC+`H<%F3:@#:YW46 M Q]IC]>'#`CF-:4Z*$"7"2(C%%P@+:5Z0N*`'FQDT.>#VA:RVNO3ACIS%+*=B47 M $'(H8@;)L6!Y!V(8+"]H6+!3QZ)NV<U\\W6&9FGPH9D\C=.<%2$@,5Z(L1RP48 M 0$U4#)C$@@ABK&E>L+A(7WC`ZC:]F:]?9?R60A\<RWG,\U2X@PNG0$SE+,!A49 M F@BO$'F'A3L$#X1#>%ZD8<&_KE?4+;^9K]["299^'X3,LSC+N8B%3'@.8DZ$50 M Z\1B`>D[$LMO(KS&9=!B,99A*PVSO.!QD;VJ\]1M=C-??@.^M,QI$R"XRF,]51 M 0^*)*O:(#/G9'+>1,$_(D%:WGTQW.O+GRV7(<=5WYI/TIM.OEB$/,N_6G&B352 M V?6U,N0I@]"7!]L_V;Y1AGS!D>J!(#TX]WX;&?+KN4./B_S85/Q-9LA7\]G253 M 3"TG9N9O,4,2?:,ESL.>0R>V0.0O.ZPMD*S_I37*^%7P_??!P^:/8%,N[K\454 M F^#V\3_WP4^;1U$`K[__X>YA\]0)M_LEO\[K]W@OH^)+VRTDVJ9(1>(2QV5455 M 9N*CRN*JE^I_2^/>-X!D?-\`DNE]`TBF]PT@V6/?`)+I?0-(IO<-(''N&V@[56 M _=XC`!@<DX:HY]H[_P838K4W275^;#5F/F;3.-7Y8*OF7FY<:=NOKM:5?AK457 M "A@6J'U5-"90S>1/2/P"C1+#>Q`/E9`Q@;H/.B(25MUC-G9_U!H(*]*>4;,J58 M 5B\30!57[5&U6"!M8V3L$/6-P=$8!HVG=I&LLP='H+..S'S(V=[D]QS'#*6\59 M )SSQ7AT.I;S'W+"?B0XQ_UE/:!O@/A!T"_KP9#^3)KMU"7H/:PQ!V.?`#$;.60 M HP=G/['/2J>@]Q`FWK=;IZ#WS&7X7*M])T"]UGTKR!:/]^VWB2&^!>68,LYS61 M 2;=@%]_VZ'?$$T[1+C3N,7%#C\TNP2Z>[K,@O#:[1=N`Z-Q5L!.K)^E:&=>162 M V8B77SO.FW2;R6OD74?2-O.N*R7Q$0GI8BOW#C/G6.XU5X(_<XYEWWB8>VW\63 M 8&9>&YN82==JVS[FJ;VAX].5;[D>G:[\Z_3H=.7/@">EJP-6YR'IRIL%3P]464 M ODQX8FSU9<03PY\O(YX>_?Q9\<0D[LV*IV9Q?U8\+8OON]H.S>)[O5OI[-"465 M \.=`TTW[HK<V(!I[!8K3O)=1=:]CZ"]CU.]@U`^C>0U#UAWJCA@\]19&[=W[66 M #]1@T?[M#68PF&*H%FEC3\U(#47<X/%&D;C,#$;6-I)#2@R6N-6L0_7@X^8:67 M NO4B;D%CU5Z`Q@JDO8^"<,-2-T1CD'ZLB&ITV@ZU?1`36S.`^I?[0?[D5_[368 61OEO&7]_ND"7[_XT^Q_V$PH'ZE$`````2 M'XL(""[;;%,``W!R:6UD96-?<RYR97,`[5S=;^.X$7_W7R$<^I!45DX<?HCJ 3 MP@&N5^!PP*$H;N^E7:0+.W:R7LGI-LGA)/_U)2F+(BE2\D<V611^V$2:&7*& 4 M0W+F-Z2R[W_[V\]_CZ((74>__/S7Z+OGI^>K<KWX[MWD_8X#UY$@?EP_K)\O 5 M+M]-Y._H^CKZ\KC>+%>W'Y^N'E9_7#T]SY]U"WP=Z6=RU?2[$W?ZIH8DNXH> 6 MUP_WT>,,0YKBZ<5\NIC>3I?3U?3N<GKQXW3YY;)KF5U'Z^5J7D;KF:;QJV@. 7 MM\L[F&I2?A4M;!)*I=3"(B$AA2T*""&;@@5E`1:)-/I6'84VZ@P*:[09E$PI 8 M,PA<Z3((>:.JHT#::.IT`VHT&11H-!D4K#09!*(T&03::#(HRMY;,(8)F5)E 9 MD92G%[<F27H:FQ0LC;8I2*FS2(W59N=8FDU,@C)[85*4W=BD2+M%([U`<-8M 10 M+2S,+==/SV+-HMEF_?##T]-/O_WK8MTM)YSKY81FC_/E^G9>FGR2:C[,5O_] 11 M??VK1T9LH9T6F+7;P]%#0,O@G24_?IH_7JRGR!#"6HC,=OV\_Z<C0ZZCS?SY 12 M<5U%F]FMZ.+CT^IQO7JRE%&Y2]&[R0=T\Y>)V`P?Q</LKGF"F]ER(GYVC(5F 13 MS'4/3`Q;=+!&2N!./DB^>L""LI0/1%"6NHG<F&(:UM`V@;8)M$W`:<*EG=#9 14 MV?[6)H-^4V9+$7!$;(F6[?:TL'J:@Z^KA24R$4;O8=1*OX@Q+KW]WH7E)\(A 15 M7B6W9IL%-AO-C;%(=T)G-Q6OV&>"W9W5VT2T\IJPM,9Y"V8K&8%,(T2T,8T0 16 M\4"_,O%*]%NF[.^$N7KOI'/YW@T7I7*`ABZ$U(@-@IK.1=<#PHK0F8NDDPS[ 17 MD/*2T8#)]\XI2-I(?%Y<6@ZQ_&'-B%[?N5S?^(1]2%/9`PGOD&/6=6"+6*.[ 18 M&U_)R^`.><W%&]@_J_Y@VD9';-+0#AG8(,8"(\X:I\Z*9?9ZS*P-P^T-D;N+ 19 M.W46+WJIQ4M%5MN\FVP^H*EJ+1^D+\4#2,I</:@9:5M(P+AZ>OZ'R%SSQ_I" 20 MA/:IS$I("XC\5JS+,GK4J8J2+EM3JH%@.@P"*>N#0)KU0"#E/1!(\QX(9*D+ 21 M`AER02"#'@ADV`6!C+@@D%$7!#+F@$"6.2"0<1<$LMP%@5GJ@L`,N2`P`P<$ 22 M9M@!@1EQ06!&>R`P8ST0F&4]$)AQ%P1FN0L">=H#@1SU0"`'!P1R[()`3EP0 23 MR*D#`CGKEA7/QD`@Y\,@D.?C(#!/QT%@CO8`@3F,@\`<CX/`G)P*`G-Z,`C, 24 MV<$@,,_.(/`,`O]_06#.3P6!>7X&@6<0^!8@$*7I@2`0I6@8!*(47!"(TN[< 25 M$*4BN>MG:CSW3@FK:3W=NM`0I?WS090*=%+5L(4$R5]Q53>/VZF6R*4$EBSH 26 MJ/+$L*J):M41!6:IH.D!C"[DR:$@8$4VQ`5\J<A6DLD68JBP>)8_(:Y`D85= 27 MG311G9@V4-F^%I9A4YGP!@@RQ$S0Y4_12!B/8\M4@7PJ*II*S>*'TB[ME@-M 28 MW&%JDEYB=8PK*G^06JK4?D5Y-T?R5'(042%`@X@*`8PB*@1X%%$A(..("@$= 29 M150(V"BB0I#Y$-56!^S:CN0&(T&3=I]5,=(A4XG56DRQB,&JM&9N(C&Q<'=0 30 MK)*+>;N#8V+FDZK>03*Q'L12T.US$Y;I;G$Z`KTJ7PRI@LEC:T:7VM?6D0CE 31 MCCI&IF#E#=:N4#`-U'9?8A<T+7L=6G)R,@(AO[;R;=6UPT%;'4M9P(&)-:3: 32 MRB:5-R^Z3:P6$Y%'_(JL$=1;LU5M)6>YQ*#:QIT(E::(``'BG]^1_76@+9)> 33 MY?NL'F-8^$"%3E.I,C_&WW5<VYX(KIS!29#Z18;>9QX<_5MG(NPI\._-D!G; 34 MB80%^QAAV9`<.L&)3O08^8#O:X1+#".`^<"X=GP`"<2WK[G4`T'P\-C\ZL'O 35 M+6-2($X>F8A"$>ZUPDT@W-D38:^=K7=HPQO]U<+:@!D#8>VEDVD;7;!9$]5M 36 M3;15#T(P;8LC.16[\DAN5/F(&SG<L;%BJX==6Z*8Z@%:BF*U^LE(A85IK\+" 37 MW7DHPEE75<D+\N[(W5]1&5?DNJ(BZ5A%19"OHB+@J:@(]E=4A'@K*D(/J:@( 38 M<RLJDODJ*L+WJ:A(?DA%1=.ABDI>L.AG&*NHY-W)4$4E+U+&*BI*QRLJ>;4R 39 M6E'1;+RBHGR\HJ+Y6U54+#VMHF+(6U$Q.%=40;ES176NJ,X5U0D5%<-O55$Q 40 M<JZHSA75N:(Z5U1A*XZOJ!@]O*)*ZOCE2BK&1DHJEO5**L8[^"Z_T&G*J&@6 41 M[:ZG]-=+T_OII^GG:3$M=6FE&V;=Y\6SCBA*IXLR*2[_G>M20G[-T]#XG\7O 42 MQ67'P2TGDYQ;@T-:#I.<I<&A+8=*SLK@L)9#).?.X&0M!TO.O<'A+0<DYY/! 43 MR7<<2?_<X7Z>=KZ3WP`-ESX<ADL?CL=+'T[&2Q].]RA].!LO?7@V7OIP[BM] 44 MBJ34`KE9H1@,^:515WJ8##12?$A9SQZ5Y%"B+B"!HHQ+*_Q\#O?C2(72=8$3 45 M7$`9XZ*$I,2>SML@\6EO74ZC4-HN2$(*7,9,Z`?Q6.*X).,&M-'U_EA[G#Y" 46 M8*"@"2U(&:-4&`F)^`7"0EJ4)"GIP69&NR1P]T)6.UV&@$?!$E90,0@Y%+&" 47 MY%BP?`,Q#%:4-"[9J6-1K^QFMOHZ0W,TA.!,D259P<H8D!@O)%@.6,`F*@9, 48 M$D$$,=:L*%E29B\\8/6:W<R6KS)^1V$(CQ4\X44FW,&%4R"A<A7@.$N%5XA\ 49 MP\(=@@?"(;PHL[CD7]<KZI7?S&[?PDF._A"&+/(D+[B(A4QX#A).A.O$9@'I 50 M.Y+(WT1XC<N@Q1(LPU86YT7)DS)_5>>IU_QFMO@&?.F8TR9`\-7'9H;$(V7L 51 M$1GRLSUN*V&>D"&=;C_9[O3DSY?+D,.J[^V9#*;3KY8A#S+OSEYHH]GUM3+D 52 M*8,PMP?;/]F^489\P9&:@2`[./=^&QGRZ[G#C(O\V%3\36;(5_/9PDXM)V;F 53 M;S%#$O.D)2GBCD-'CD#DGW8X1R!Y]Z?6*.=7T???1P^K/Z)5-=]\*5?1W>-_ 54 M-M%/JT=1`"^__^'^8?6DA=OSDE]GS8>\E]/R2]LMI,:A2$V2"B?5M,K%CSI/ 55 MZDZJ^V,:_[D!I,/G!I".GQM`.GYN`.D>YP:0CI\;0#I^;@"I]]S`.,.W[P`, 56 M!O0._F/4<=VC?XL)B3J<I"8_<1JS$'/7.#/YX*KF0:XZZ&LC@Z]U;5X'M0*6 57 M!>I@%0T)U!/Y-R1A@9T2RWN0])60(8&F#SH@$M=ZFJW3'[4'XIJTE]2L3M37 58 M!%`G=7M7+39(VQA9)T1=8_`TAE[CL5,DY_+!$^B<.[/@)9!SRA^X`NI+!2^Y 59 MD[TZ[$L%[[EA/Q,]8N'+GM@UP'\CZ!<,X<EN)8UVZQ,,WM98@K#/)1T,7$CW 60 M+G^2D)5>P>`M3+)OMU[!X*5+?U[K?1=`L]=#.\@53_;M=Q=#0AO*LV2\%Y-^ 61 M01W?]NAWP!->41T:]UBX<<!FGZ".I_MLB*#-?M$V('I/%=S$:F4/-[M9><-- 62 MG';.<)O:Z:*?UZRTZTE)V4#[9F;XD(;:3;V]A.6F7F_20R'OM#L00AYJ!7#8 63 M2];Z"B((._%V7#W-8V=#XWG/O98/;].3MG]XEYX4K4(;],3@&MJ?)Z:"`_+@ 64 M@=L^F`M/C%2AG'ABT`[EQ)>(V<&\>!K8&,B+)V&C@;QX-(P+YL2CL68P$QX- 65 MAX,YT-XX^Z*W-B!:9P6*L_LPH_9]X;[[]$)3<??=.^FHZ@.,NNF+*G+2/(*> 66 MU<T'UC%8PT@:1K:SI-J]Z:6Z^<`M%E>?B,AMM_F06YQ\UTB.);4XXG77J'G= 67 M#3NIVE<]2@0VR_C$'V&;A4T;$;&9Q%9(VZ]44.,./1$C1S.`NJ_[0?[-K_Q? 68 7&^7_R_C[TP6Z?/>GR?\`UY"`)NM1```` 69 69 ` 70 70 end -
Tst/Short/primdec_s.stat
r46c7c3 r984ff3 1 1 >> tst_memory_0 :: 139 4792822:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:6310202 1 >> tst_memory_1 :: 139 4792822:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:26214403 1 >> tst_memory_2 :: 139 4792822:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:31170564 1 >> tst_timer_1 :: 139 4792822:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:4641 1 >> tst_memory_0 :: 1399642925:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:631708 2 1 >> tst_memory_1 :: 1399642925:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:2621440 3 1 >> tst_memory_2 :: 1399642925:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:3133440 4 1 >> tst_timer_1 :: 1399642925:4.0.0, 32 bit:4.0.0:i686-Linux:mamawutz:436 -
Tst/regress.cmd
r46c7c3 r984ff3 386 386 } 387 387 388 sub Set_withMP389 {390 if (! $withMP)391 {392 $withMP = "no";393 open(MP_TEST, ">MPTest");394 print(MP_TEST "system(\"with\", \"MP\"); \$");395 close(MP_TEST);396 mysystem("$singular -qt MPTest > withMPtest");397 if (open(MP_TEST, "<withMPtest"))398 {399 $_ = <MP_TEST>;400 $withMP = "yes" if (/^1/);401 close(MP_TEST);402 }403 mysystem("$rm -f withMPtest MPTest");404 }405 }406 407 408 sub MPok409 {410 local($root) = $_[0];411 412 if (! open(TST_FILE, "<$root.tst"))413 {414 print (STDERR "Can not open $root.tst for reading\n");415 return (0);416 }417 while (<TST_FILE>)418 {419 if (/\"MP.+:.*\"/)420 {421 &Set_withMP;422 return (0) if ($withMP eq "no");423 }424 }425 return (1);426 }427 428 388 sub Diff 429 389 { … … 636 596 $test_files{$test_file} = 1; 637 597 return (1); 638 }639 640 # ignore MP stuff, if this singular does not have MP641 if (! MPok($root))642 {643 print "--- $root " unless ($verbosity == 0);644 print "Warning: $root not tested: needs MP\n";645 testIgnored($test_file, "Warning: $root not tested: needs MP");646 $test_files{$test_file} = 0;647 return (0);648 598 } 649 599 -
Tst/regress.lst
r46c7c3 r984ff3 1601 1601 Old/m23si.tst 1602 1602 Old/m24si.tst 1603 Old/m25si.tst1604 1603 Old/m27si.tst 1605 1604 Old/m28si.tst -
dox/Doxyfile.in
r46c7c3 r984ff3 633 633 @abs_top_srcdir@/resources/ \ 634 634 @abs_top_srcdir@/factory/ \ 635 @abs_top_srcdir@/factory/libfac/ \636 @abs_top_srcdir@/factory/libfac/charset/ \637 @abs_top_srcdir@/factory/libfac/factor/ \638 635 @abs_top_srcdir@/factory/templates/ \ 639 636 @abs_top_srcdir@/factory/include/factory/ \ -
factory/COPYING
r46c7c3 r984ff3 10 10 Copyright (C) 1991-2013 11 11 12 Characteristic sets by: Michael Messollen <mmessollen@web.de> 12 Characteristic sets and factorization over algebraic function fields: 13 Michael Messollen <mmessollen@web.de> 13 14 Copyright (C) 1996-2010 14 15 … … 27 28 Their copyrights and licences can be found in the accompanying files 28 29 which are distributed along with these packages. 30 31 Files which contain code written by M. Messollen or contain code derived from 32 code written by M. Messollen contain respective details. 29 33 30 34 This program is distributed in the hope that it will be useful, but -
factory/Makefile.am
r46c7c3 r984ff3 1 1 ACLOCAL_AMFLAGS = -I ../m4 2 2 3 SUBDIRS=include/factory libfac3 SUBDIRS=include/factory 4 4 5 5 AM_CPPFLAGS = -I${builddir}/include -I${srcdir}/include -I${srcdir} \ … … 9 9 lib_LTLIBRARIES = libfactory.la 10 10 11 libfactory_la_LIBADD = ${builddir}/libfac/libfac.la \ 12 $(RESOURCES_LIBS) $(OMALLOC_LIBS) \ 11 libfactory_la_LIBADD =$(RESOURCES_LIBS) $(OMALLOC_LIBS) \ 13 12 $(FLINT_LIBS) $(NTL_LIBS) $(GMP_LIBS) 14 13 … … 21 20 cf_algorithm.cc \ 22 21 cf_char.cc \ 22 cfCharSets.cc \ 23 cfCharSetsUtil.cc \ 23 24 cf_chinese.cc \ 24 25 cf_cyclo.cc \ … … 53 54 facAbsFact.cc \ 54 55 facAlgExt.cc \ 56 facAlgFunc.cc \ 57 facAlgFuncUtil.cc \ 55 58 facBivar.cc \ 56 59 fac_ezgcd.cc \ … … 97 100 canonicalform.h \ 98 101 cf_algorithm.h \ 102 cfCharSets.h \ 103 cfCharSetsUtil.h \ 99 104 cf_cyclo.h \ 100 105 cf_defs.h \ … … 123 128 facAbsFact.h \ 124 129 facAlgExt.h \ 130 facAlgFunc.h \ 131 facAlgFuncUtil.h \ 125 132 facBivar.h \ 126 133 facFactorize.h \ -
factory/canonicalform.h
r46c7c3 r984ff3 367 367 typedef Array<CanonicalForm> CFArray; 368 368 typedef Matrix<CanonicalForm> CFMatrix; 369 typedef List<CFList> ListCFList; 370 typedef ListIterator<CFList> ListCFListIterator ; 371 typedef List<int> IntList; 372 typedef ListIterator<int> IntListIterator; 373 typedef List<Variable> Varlist; 374 typedef ListIterator<Variable> VarlistIterator; 375 typedef Array<int> Intarray; 369 376 //}}} 370 377 -
factory/configure.ac
r46c7c3 r984ff3 391 391 AC_DEFINE_UNQUOTED([FACTORYVERSION], "$factory_version") 392 392 393 AH_TEMPLATE([HAVE_LIBFAC], [have libfac])394 AC_DEFINE_UNQUOTED([HAVE_LIBFAC], 1)395 396 393 AH_TEMPLATE([FACTORYCONFIGURATION], [factory configuration]) 397 394 AC_DEFINE_UNQUOTED([FACTORYCONFIGURATION], "$factory_configuration") … … 402 399 403 400 404 AC_CONFIG_FILES([Makefile include/factory/Makefile libfac/Makefilefactory.pc]) # ftest/GNUmakefile401 AC_CONFIG_FILES([Makefile include/factory/Makefile factory.pc]) # ftest/GNUmakefile 405 402 AC_OUTPUT 406 403 -
factory/factory.template
r46c7c3 r984ff3 113 113 #include "algext.h" 114 114 115 /*MAKEHEADER PUBLIC ONLY*/ 116 #include "facAlgFunc.h" 117 118 /*MAKEHEADER PUBLIC ONLY*/ 119 #include "cfCharSetsUtil.h" 120 121 /*MAKEHEADER PUBLIC ONLY*/ 122 #include "cfCharSets.h" 123 124 115 125 #endif /* ! INCL_FACTORY_H */ -
kernel/GBEngine/f5gb.cc
r46c7c3 r984ff3 128 128 //Print("%p\n",gPrev->getFirst()); 129 129 //pWrite(gPrev->getFirst()->getPoly()); 130 poly tempNF = kNF(gbPrev,curr Quotient,f_i);130 poly tempNF = kNF(gbPrev,currRing->qideal,f_i); 131 131 f_i = tempNF; 132 132 //gPrev->insert(ONE,i,f_i); … … 642 642 testNode = testNode->getNext(); 643 643 } 644 poly temp = kNF(testId,curr Quotient,u1);644 poly temp = kNF(testId,currRing->qideal,u1); 645 645 //pWrite(temp); 646 646 for(i=0;i<IDELEMS(testId);i++) { … … 1096 1096 //sPolyList->print(); 1097 1097 sPolyList->setFirst(temp->getNext()); 1098 poly tempNF = kNF(gbPrev,curr Quotient,temp->getPoly());1098 poly tempNF = kNF(gbPrev,currRing->qideal,temp->getPoly()); 1099 1099 if(NULL != tempNF) { 1100 1100 pNorm(tempNF); … … 1149 1149 //} 1150 1150 //pWrite(temp->getPoly()); 1151 //poly tempNF = kNF(gbPrev,curr Quotient,temp->getPoly());1151 //poly tempNF = kNF(gbPrev,currRing->qideal,temp->getPoly()); 1152 1152 //Print("!!!\n"); 1153 1153 //if(NULL != tempNF) { … … 1758 1758 pNorm(temp); 1759 1759