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

Function rootOf

factory/variable.cc:162–199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

160}
161
162Variable rootOf( const CanonicalForm & mipo, char name )
163{
164 ASSERT (mipo.isUnivariate(), "not a legal extension");
165
166 int l;
167 if ( var_names_ext == 0 ) {
168 var_names_ext = new char [3];
169 var_names_ext[0] = '@';
170 var_names_ext[1] = name;
171 var_names_ext[2] = '\0';
172 l = 1;
173 Variable result( -l, true );
174 algextensions = new ext_entry [2];
175 algextensions[1] = ext_entry( 0, false );
176 algextensions[1] = ext_entry( (InternalPoly*)(conv2mipo( mipo, result ).getval()), true );
177 return result;
178 }
179 else {
180 int i, n = strlen( var_names_ext );
181 char * newvarnames = new char [n+2];
182 for ( i = 0; i < n; i++ )
183 newvarnames[i] = var_names_ext[i];
184 newvarnames[n] = name;
185 newvarnames[n+1] = 0;
186 delete [] var_names_ext;
187 var_names_ext = newvarnames;
188 l = n;
189 Variable result( -l, true );
190 ext_entry * newalgext = new ext_entry [n+1];
191 for ( i = 0; i < n; i++ )
192 newalgext[i] = algextensions[i];
193 newalgext[n] = ext_entry( 0, false );
194 delete [] algextensions;
195 algextensions = newalgext;
196 algextensions[n] = ext_entry( (InternalPoly*)(conv2mipo( mipo, result ).getval()), true );
197 return result;
198 }
199}
200
201InternalPoly * getInternalMipo ( const Variable & alpha )
202{

Callers 15

uniAbsFactorizeFunction · 0.85
absBiFactorizeMainFunction · 0.85
chooseExtensionFunction · 0.85
modGCDFpFunction · 0.85
monicSparseInterpolFunction · 0.85
nonMonicSparseInterpolFunction · 0.85
sparseGCDFpFunction · 0.85
EZGCD_PFunction · 0.85
gcd_test_oneFunction · 0.85
resultantFpFunction · 0.85
simpleExtensionFunction · 0.85
TragerFunction · 0.85

Calls 4

ext_entryClass · 0.85
conv2mipoFunction · 0.85
isUnivariateMethod · 0.45
getvalMethod · 0.45

Tested by

no test coverage detected