Changeset d2cd515 in git for kernel/gfan.cc
- Timestamp:
- Oct 20, 2009, 12:39:18 PM (14 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- bb503c7363e3c90a3b0c5ae93374d5b7b20cc34a
- Parents:
- e9806890fa4b234b8c11d976584cab53f617eb21
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/gfan.cc
re98068 rd2cd515 2 2 Compute the Groebner fan of an ideal 3 3 $Author: monerjan $ 4 $Date: 2009-10- 19 15:40:39$5 $Header: /exports/cvsroot-2/cvsroot/kernel/gfan.cc,v 1.9 7 2009-10-19 15:40:39monerjan Exp $6 $Id: gfan.cc,v 1.9 7 2009-10-19 15:40:39monerjan Exp $4 $Date: 2009-10-20 10:39:18 $ 5 $Header: /exports/cvsroot-2/cvsroot/kernel/gfan.cc,v 1.98 2009-10-20 10:39:18 monerjan Exp $ 6 $Id: gfan.cc,v 1.98 2009-10-20 10:39:18 monerjan Exp $ 7 7 */ 8 8 … … 1705 1705 1706 1706 /* Use pure SLA or writeCone2File */ 1707 enum heuristic {1708 ram,1709 hdd1710 };1711 heuristic h;1712 h=hdd;1707 // enum heuristic { 1708 // ram, 1709 // hdd 1710 // }; 1711 // heuristic h; 1712 // h=hdd; 1713 1713 1714 1714 #ifdef gfan_DEBUG … … 1830 1830 gcTmp->showFacets(1); 1831 1831 #endif 1832 if( h==hdd)1832 if(gfanHeuristic==1) 1833 1833 { 1834 1834 gcTmp->writeConeToFile(*gcTmp); … … 1886 1886 else if( gcNext->getUCN() == SearchListRoot->getUCN() ) 1887 1887 {//NOTE: Implement heuristic to be used! 1888 if( h==ram)1888 if(gfanHeuristic==0) 1889 1889 { 1890 1890 gcAct = gcNext; … … 1894 1894 break; 1895 1895 } 1896 else if( h==hdd)1896 else if(gfanHeuristic==1) 1897 1897 { 1898 1898 //Read st00f from file … … 2561 2561 while(!line.empty()) 2562 2562 { 2563 hasNegCoeff = FALSE; 2563 2564 found = line.find_first_of("+-"); //get the first monomial 2564 2565 string tmp; … … 2579 2580 { 2580 2581 hasCoeffInQ = TRUE; 2581 strCoeffNom=strMonom.substr(0,found); 2582 strCoeffDenom=strMonom.substr(found+1,strMonom.find_first_not_of("1234567890"));//string::npos); 2583 ss << strCoeffNom; 2584 ss >> intCoeffNom; 2585 nCoeffNom=nInit(intCoeffNom); 2586 ss << strCoeffDenom; 2587 ss >> intCoeffDenom; 2588 nCoeffDenom=nInit(intCoeffDenom); 2582 strCoeffNom=strMonom.substr(0,found); 2583 strCoeffDenom=strMonom.substr(found+1,strMonom.find_first_not_of("1234567890")); 2584 strMonom.erase(0,found); 2585 strMonom.erase(0,strMonom.find_first_not_of("1234567890/")); 2586 // ss << strCoeffNom; 2587 // ss >> intCoeffNom; 2588 // nCoeffNom=(snumber*)strCoeffNom.c_str(); 2589 nRead(strCoeffNom.c_str(), &nCoeffNom); 2590 nRead(strCoeffDenom.c_str(), &nCoeffDenom); 2591 // nCoeffNom=nInit(intCoeffNom); 2592 // ss << strCoeffDenom; 2593 // ss >> intCoeffDenom; 2594 // nCoeffDenom=nInit(intCoeffDenom); 2595 // nCoeffDenom=(snumber*)strCoeffNom.c_str(); 2589 2596 //NOTE NOT SURE WHETHER THIS WILL WORK! 2590 2597 //nCoeffNom=nInit(intCoeffNom); … … 2598 2605 if(!strCoeff.empty()) 2599 2606 { 2600 // ss << strCoeff; 2601 // ss >> intCoeff; 2602 nCoeff=(snumber*)strCoeff.c_str(); 2607 nRead(strCoeff.c_str(),&nCoeff); 2603 2608 } 2604 2609 else … … 2616 2621 case TRUE: 2617 2622 if(hasNegCoeff) 2618 nCoeff =nNeg(nCoeffNom);2623 nCoeffNom=nNeg(nCoeffNom); 2619 2624 // intCoeffNom *= -1; 2620 2625 // pSetCoeff(strPoly, nDiv((number)intCoeffNom, (number)intCoeffDenom)); 2621 2626 pSetCoeff(strPoly, nDiv(nCoeffNom, nCoeffDenom)); 2627 break; 2622 2628 case FALSE: 2623 2629 if(hasNegCoeff) … … 2631 2637 pSetCoeff(strPoly, nCoeff ); 2632 2638 } 2639 break; 2633 2640 2634 2641 } … … 2655 2662 2656 2663 int gcone::counter=0; 2657 2658 ideal gfan(ideal inputIdeal )2664 int gfanHeuristic; 2665 ideal gfan(ideal inputIdeal, int h) 2659 2666 { 2660 2667 int numvar = pVariables; 2668 gfanHeuristic = h; 2661 2669 2662 2670 enum searchMethod {
Note: See TracChangeset
for help on using the changeset viewer.