| 4671 | } |
| 4672 | |
| 4673 | BOOLEAN nuLagSolve( leftv res, leftv arg1, leftv arg2, leftv arg3 ) |
| 4674 | { |
| 4675 | poly gls; |
| 4676 | gls= (poly)(arg1->Data()); |
| 4677 | int howclean= (int)(long)arg3->Data(); |
| 4678 | |
| 4679 | if ( gls == NULL || pIsConstant( gls ) ) |
| 4680 | { |
| 4681 | WerrorS("Input polynomial is constant!"); |
| 4682 | return TRUE; |
| 4683 | } |
| 4684 | |
| 4685 | if (rField_is_Zp(currRing)) |
| 4686 | { |
| 4687 | int* r=Zp_roots(gls, currRing); |
| 4688 | lists rlist; |
| 4689 | rlist= (lists)omAlloc( sizeof(slists) ); |
| 4690 | rlist->Init( r[0] ); |
| 4691 | for(int i=r[0];i>0;i--) |
| 4692 | { |
| 4693 | rlist->m[i-1].data=n_Init(r[i],currRing->cf); |
| 4694 | rlist->m[i-1].rtyp=NUMBER_CMD; |
| 4695 | } |
| 4696 | omFree(r); |
| 4697 | res->data=rlist; |
| 4698 | res->rtyp= LIST_CMD; |
| 4699 | return FALSE; |
| 4700 | } |
| 4701 | if ( !(rField_is_R(currRing) || |
| 4702 | rField_is_Q(currRing) || |
| 4703 | rField_is_long_R(currRing) || |
| 4704 | rField_is_long_C(currRing)) ) |
| 4705 | { |
| 4706 | WerrorS("Ground field not implemented!"); |
| 4707 | return TRUE; |
| 4708 | } |
| 4709 | |
| 4710 | if ( !(rField_is_R(currRing) || rField_is_long_R(currRing) || \ |
| 4711 | rField_is_long_C(currRing)) ) |
| 4712 | { |
| 4713 | unsigned long int ii = (unsigned long int)arg2->Data(); |
| 4714 | setGMPFloatDigits( ii, ii ); |
| 4715 | } |
| 4716 | |
| 4717 | int ldummy; |
| 4718 | int deg= currRing->pLDeg( gls, &ldummy, currRing ); |
| 4719 | int i,vpos=0; |
| 4720 | poly piter; |
| 4721 | lists elist; |
| 4722 | |
| 4723 | elist= (lists)omAlloc( sizeof(slists) ); |
| 4724 | elist->Init( 0 ); |
| 4725 | |
| 4726 | if ( rVar(currRing) > 1 ) |
| 4727 | { |
| 4728 | piter= gls; |
| 4729 | for ( i= 1; i <= rVar(currRing); i++ ) |
| 4730 | if ( pGetExp( piter, i ) ) |
no test coverage detected