- Timestamp:
- Apr 24, 1998, 6:51:43 PM (26 years ago)
- Branches:
- (u'spielwiese', 'd1b01e9d51ade4b46b745d3bada5c5f3696be3a8')
- Children:
- 5b54c8b87e7d9b8048cf6ca127512be4c334290c
- Parents:
- 6ddbf53b34c0fdce02514053d39a0599dfffe3ef
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/polys.cc
r6ddbf5 r6c94fb 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: polys.cc,v 1.2 4 1998-04-24 16:39:24Singular Exp $ */4 /* $Id: polys.cc,v 1.25 1998-04-24 16:51:43 Singular Exp $ */ 5 5 6 6 /* … … 1403 1403 } 1404 1404 1405 // Set default Var Indicies 1406 pSetVarIndicies(pVariables); 1407 1405 1408 // Initialize memory management 1406 1409 mmSpecializeBlock(pMonomSize); 1407 1410 1411 pOrdSgn = r->OrdSgn; 1412 pVectorOut=(r->order[0]==ringorder_c); 1413 order=r->order; 1414 block0=r->block0; 1415 block1=r->block1; 1416 firstwv=NULL; 1417 polys_wv=r->wvhdl; 1418 /*------- only one real block ----------------------*/ 1419 pLexOrder=FALSE; 1420 pMixedOrder=FALSE; 1421 pFDeg=pDeg; 1422 if (pOrdSgn == 1) pLDeg = ldegb; 1423 else pLDeg = ldeg0; 1424 /*======== ordering type is (_,c) =========================*/ 1425 if ((order[0]==ringorder_unspec) 1426 ||( 1427 ((order[1]==ringorder_c)||(order[1]==ringorder_C)) 1428 && (order[0]!=ringorder_M) 1429 && (order[2]==0)) 1430 ) 1431 { 1432 if ((order[0]!=ringorder_unspec) 1433 && (order[1]==ringorder_C)) 1434 pComponentOrder=-1; 1435 if (pOrdSgn == -1) pLDeg = ldeg0c; 1436 SimpleChoose(order[0],order[1], &pComp0); 1437 SetpSetm(order[0],0); 1438 } 1439 /*======== ordering type is (c,_) =========================*/ 1440 else if (((order[0]==ringorder_c)||(order[0]==ringorder_C)) 1441 && (order[1]!=ringorder_M) 1442 && (order[2]==0)) 1443 { 1444 /* pLDeg = ldeg0; is standard*/ 1445 if (order[0]==ringorder_C) 1446 pComponentOrder=-1; 1447 SimpleChooseC(order[1], &pComp0); 1448 SetpSetm(order[1],1); 1449 } 1450 /*------- more than one block ----------------------*/ 1451 else 1452 { 1453 //pLexOrder=TRUE; 1454 pVectorOut=order[0]==ringorder_c; 1455 if ((pVectorOut)||(order[0]==ringorder_C)) 1456 { 1457 if(block1[1]!=pVariables) pLexOrder=TRUE; 1458 } 1459 else 1460 { 1461 if(block1[0]!=pVariables) pLexOrder=TRUE; 1462 } 1463 /*the number of orderings:*/ 1464 i = 0; 1465 while (order[++i] != 0); 1466 do 1467 { 1468 i--; 1469 HighSet(i, order[i]);/*sets also pMixedOrder to TRUE, if...*/ 1470 SetpSetm(order[i],i); 1471 } 1472 while (i != 0); 1473 1474 pComp0 = BlockComp; 1475 if ((order[0]!=ringorder_c)&&(order[0]!=ringorder_C)) 1476 { 1477 pLDeg = ldeg1c; 1478 } 1479 else 1480 { 1481 pLDeg = ldeg1; 1482 } 1483 pFDeg = pWTotaldegree; // may be improved: pTotaldegree for lp/dp/ls/.. blocks 1484 } 1408 1485 if (complete) 1409 1486 { 1410 // Set default Var Indicies1411 pSetVarIndicies(pVariables);1412 1413 pOrdSgn = r->OrdSgn;1414 pVectorOut=(r->order[0]==ringorder_c);1415 order=r->order;1416 block0=r->block0;1417 block1=r->block1;1418 firstwv=NULL;1419 polys_wv=r->wvhdl;1420 /*------- only one real block ----------------------*/1421 pLexOrder=FALSE;1422 pMixedOrder=FALSE;1423 pFDeg=pDeg;1424 if (pOrdSgn == 1) pLDeg = ldegb;1425 else pLDeg = ldeg0;1426 /*======== ordering type is (_,c) =========================*/1427 if ((order[0]==ringorder_unspec)1428 ||(1429 ((order[1]==ringorder_c)||(order[1]==ringorder_C))1430 && (order[0]!=ringorder_M)1431 && (order[2]==0))1432 )1433 {1434 if ((order[0]!=ringorder_unspec)1435 && (order[1]==ringorder_C))1436 pComponentOrder=-1;1437 if (pOrdSgn == -1) pLDeg = ldeg0c;1438 SimpleChoose(order[0],order[1], &pComp0);1439 SetpSetm(order[0],0);1440 }1441 /*======== ordering type is (c,_) =========================*/1442 else if (((order[0]==ringorder_c)||(order[0]==ringorder_C))1443 && (order[1]!=ringorder_M)1444 && (order[2]==0))1445 {1446 /* pLDeg = ldeg0; is standard*/1447 if (order[0]==ringorder_C)1448 pComponentOrder=-1;1449 SimpleChooseC(order[1], &pComp0);1450 SetpSetm(order[1],1);1451 }1452 /*------- more than one block ----------------------*/1453 else1454 {1455 //pLexOrder=TRUE;1456 pVectorOut=order[0]==ringorder_c;1457 if ((pVectorOut)||(order[0]==ringorder_C))1458 {1459 if(block1[1]!=pVariables) pLexOrder=TRUE;1460 }1461 else1462 {1463 if(block1[0]!=pVariables) pLexOrder=TRUE;1464 }1465 /*the number of orderings:*/1466 i = 0;1467 while (order[++i] != 0);1468 do1469 {1470 i--;1471 HighSet(i, order[i]);/*sets also pMixedOrder to TRUE, if...*/1472 SetpSetm(order[i],i);1473 }1474 while (i != 0);1475 1476 pComp0 = BlockComp;1477 if ((order[0]!=ringorder_c)&&(order[0]!=ringorder_C))1478 {1479 pLDeg = ldeg1c;1480 }1481 else1482 {1483 pLDeg = ldeg1;1484 }1485 pFDeg = pWTotaldegree; // may be improved: pTotaldegree for lp/dp/ls/.. blocks1486 }1487 1487 if ((pLexOrder) || (pOrdSgn==-1)) 1488 1488 {
Note: See TracChangeset
for help on using the changeset viewer.