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

Function copyL

kernel/GBEngine/kstdfac.cc:63–132  ·  view source on GitHub ↗

3 * copy o->L to n->L, assumes that n->T,n->tail is already copied */

Source from the content-addressed store, hash-verified

61* copy o->L to n->L, assumes that n->T,n->tail is already copied
62*/
63static void copyL (kStrategy o,kStrategy n)
64{
65 int i,j;
66 poly p;
67 LSet l=(LSet)omAlloc(o->Lmax*sizeof(LObject));
68
69 for (j=0; j<=o->Ll; j++)
70 {
71 l[j] = o->L[j];
72 // copy .p ----------------------------------------------
73 if (pNext(o->L[j].p)!=o->tail)
74 l[j].p=pCopy(o->L[j].p);
75 else
76 {
77 l[j].p=p_LmInit(o->L[j].p,currRing);
78 if (pGetCoeff(o->L[j].p)!=NULL) pSetCoeff0(l[j].p,nCopy(pGetCoeff(o->L[j].p)));
79 pNext(l[j].p)=n->tail;
80 }
81 // copy .lcm ----------------------------------------------
82 if (o->L[j].lcm!=NULL)
83 l[j].lcm=pLmInit(o->L[j].lcm);
84 else
85 l[j].lcm=NULL;
86 l[j].p1=NULL;
87 l[j].p2=NULL;
88 l[j].t_p = NULL;
89
90 // copy .p1 , i_r1----------------------------------------------
91 p = o->L[j].p1;
92 i = -1;
93 loop
94 {
95 if(p==NULL) break;
96 i++;
97 if(i>o->tl)
98 {
99 WarnS("poly p1 not found in T:");wrp(p);PrintLn();
100 l[j].p1=pCopy(p);
101 l[j].i_r1=-1;
102 break;
103 }
104 if (p == o->T[i].p)
105 {
106 l[j].p1=n->T[i].p;
107 l[j].i_r1=n->T[i].i_r;
108 break;
109 }
110 }
111
112 // copy .p2 , i_r2----------------------------------------------
113 p = o->L[j].p2;
114 i = -1;
115 loop
116 {
117 if(p==NULL) break;
118 i++;
119 if(i>o->tl)
120 {

Callers 1

kStratCopyFunction · 0.85

Calls 5

p_LmInitFunction · 0.85
WarnSFunction · 0.85
wrpFunction · 0.85
ifFunction · 0.50
PrintLnFunction · 0.50

Tested by

no test coverage detected