MCPcopy Create free account
hub / github.com/Singular/Singular / nuLagSolve

Function nuLagSolve

Singular/ipshell.cc:4673–4814  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4671}
4672
4673BOOLEAN 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 ) )

Callers 1

jjLagSolveFunction · 0.85

Calls 15

WerrorSFunction · 0.85
rField_is_ZpFunction · 0.85
n_InitFunction · 0.85
rField_is_RFunction · 0.85
rField_is_QFunction · 0.85
rField_is_long_RFunction · 0.85
rField_is_long_CFunction · 0.85
setGMPFloatDigitsFunction · 0.85
rVarFunction · 0.85
pTotaldegreeFunction · 0.85
PrintSFunction · 0.85
complexToStrFunction · 0.85

Tested by

no test coverage detected