2 *(s[0],h),...,(s[k],h) will be put to the pairset L */
| 3812 | *(s[0],h),...,(s[k],h) will be put to the pairset L |
| 3813 | */ |
| 3814 | void initenterpairs (poly h,int k,int ecart,int isFromQ,kStrategy strat, int atR/* = -1*/) |
| 3815 | { |
| 3816 | |
| 3817 | if ((strat->syzComp==0) |
| 3818 | || (pGetComp(h)<=strat->syzComp)) |
| 3819 | { |
| 3820 | int j; |
| 3821 | BOOLEAN new_pair=FALSE; |
| 3822 | |
| 3823 | if (pGetComp(h)==0) |
| 3824 | { |
| 3825 | /* for Q!=NULL: build pairs (f,q),(f1,f2), but not (q1,q2)*/ |
| 3826 | if ((isFromQ)&&(strat->fromQ!=NULL)) |
| 3827 | { |
| 3828 | for (j=0; j<=k; j++) |
| 3829 | { |
| 3830 | if (!strat->fromQ[j]) |
| 3831 | { |
| 3832 | new_pair=TRUE; |
| 3833 | strat->enterOnePair(j,h,ecart,isFromQ,strat, atR); |
| 3834 | //Print("j:%d, Ll:%d\n",j,strat->Ll); |
| 3835 | } |
| 3836 | } |
| 3837 | } |
| 3838 | else |
| 3839 | { |
| 3840 | new_pair=TRUE; |
| 3841 | for (j=0; j<=k; j++) |
| 3842 | { |
| 3843 | strat->enterOnePair(j,h,ecart,isFromQ,strat, atR); |
| 3844 | //Print("j:%d, Ll:%d\n",j,strat->Ll); |
| 3845 | } |
| 3846 | } |
| 3847 | } |
| 3848 | else |
| 3849 | { |
| 3850 | for (j=0; j<=k; j++) |
| 3851 | { |
| 3852 | if ((pGetComp(h)==pGetComp(strat->S[j])) |
| 3853 | || (pGetComp(strat->S[j])==0)) |
| 3854 | { |
| 3855 | new_pair=TRUE; |
| 3856 | strat->enterOnePair(j,h,ecart,isFromQ,strat, atR); |
| 3857 | //Print("j:%d, Ll:%d\n",j,strat->Ll); |
| 3858 | } |
| 3859 | } |
| 3860 | } |
| 3861 | if (new_pair) |
| 3862 | { |
| 3863 | #ifdef HAVE_RATGRING |
| 3864 | if (currRing->real_var_start>0) |
| 3865 | chainCritPart(h,ecart,strat); |
| 3866 | else |
| 3867 | #endif |
| 3868 | strat->chainCrit(h,ecart,strat); |
| 3869 | } |
| 3870 | kMergeBintoL(strat); |
| 3871 | } |
no test coverage detected