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

Function rRenameVars

Singular/ipshell.cc:2393–2433  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2391}
2392
2393static void rRenameVars(ring R)
2394{
2395 int i,j;
2396 BOOLEAN ch;
2397 do
2398 {
2399 ch=0;
2400 for(i=0;i<R->N-1;i++)
2401 {
2402 for(j=i+1;j<R->N;j++)
2403 {
2404 if (strcmp(R->names[i],R->names[j])==0)
2405 {
2406 ch=TRUE;
2407 Warn("name conflict var(%d) and var(%d): `%s`, rename to `@%s`in >>%s<<\nin %s:%d",i+1,j+1,R->names[i],R->names[i],my_yylinebuf,currentVoice->filename,yylineno);
2408 omFree(R->names[j]);
2409 size_t len=2+strlen(R->names[i]);
2410 R->names[j]=(char *)omAlloc(len);
2411 snprintf(R->names[j],len,"@%s",R->names[i]);
2412 }
2413 }
2414 }
2415 }
2416 while (ch);
2417 for(i=0;i<rPar(R); i++)
2418 {
2419 for(j=0;j<R->N;j++)
2420 {
2421 if (strcmp(rParameter(R)[i],R->names[j])==0)
2422 {
2423 Warn("name conflict par(%d) and var(%d): `%s`, rename the VARIABLE to `@@(%d)`in >>%s<<\nin %s:%d",i+1,j+1,R->names[j],i+1,my_yylinebuf,currentVoice->filename,yylineno);
2424// omFree(rParameter(R)[i]);
2425// rParameter(R)[i]=(char *)omAlloc(10);
2426// sprintf(rParameter(R)[i],"@@(%d)",i+1);
2427 omFree(R->names[j]);
2428 R->names[j]=(char *)omAlloc(16);
2429 snprintf(R->names[j],16,"@@(%d)",i+1);
2430 }
2431 }
2432 }
2433}
2434
2435static inline BOOLEAN rComposeVar(const lists L, ring R)
2436{

Callers 2

rComposeFunction · 0.85
rInitFunction · 0.85

Calls 3

WarnFunction · 0.85
rParFunction · 0.85
rParameterFunction · 0.85

Tested by

no test coverage detected