Changeset 100d46 in git
- Timestamp:
- Nov 27, 2019, 4:06:25 PM (4 years ago)
- Branches:
- (u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
- Children:
- 7e7b871c73fe6f32a07cefc5f672966d8c3e041f
- Parents:
- 4194e68d828022d1b19f9cdeda232a1f5d5b2f77
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/links/ssiLink.cc
r4194e6 r100d46 107 107 currRing->ref++; 108 108 return TRUE; 109 } 110 } 111 void ssiCheckCurrRing(const ring r) 112 { 113 if (r!=currRing) 114 { 115 char name[20]; 116 int nr=0; 117 idhdl h=NULL; 118 loop 119 { 120 sprintf(name,"ssiRing%d",nr); nr++; 121 h=IDROOT->get(name, 0); 122 if (h==NULL) 123 { 124 h=enterid(name,0,RING_CMD,&IDROOT,FALSE); 125 IDRING(h)=r; 126 r->ref=2; /*d->r and h */ 127 break; 128 } 129 else if ((IDTYP(h)==RING_CMD) 130 && (rEqual(r,IDRING(h),1))) 131 { 132 break; 133 } 134 } 135 rSetHdl(h); 109 136 } 110 137 } … … 1343 1370 break; 1344 1371 case 3:res->rtyp=NUMBER_CMD; 1372 if (d->r==NULL) goto no_ring; 1373 ssiCheckCurrRing(d->r); 1345 1374 res->data=(char *)ssiReadNumber(d); 1346 1375 break; … … 1365 1394 case 6:res->rtyp=POLY_CMD; 1366 1395 if (d->r==NULL) goto no_ring; 1396 ssiCheckCurrRing(d->r); 1367 1397 res->data=(char*)ssiReadPoly(d); 1368 1398 break; 1369 1399 case 7:res->rtyp=IDEAL_CMD; 1370 1400 if (d->r==NULL) goto no_ring; 1401 ssiCheckCurrRing(d->r); 1371 1402 res->data=(char*)ssiReadIdeal(d); 1372 1403 break; 1373 1404 case 8:res->rtyp=MATRIX_CMD; 1374 1405 if (d->r==NULL) goto no_ring; 1406 ssiCheckCurrRing(d->r); 1375 1407 res->data=(char*)ssiReadMatrix(d); 1376 1408 break; 1377 1409 case 9:res->rtyp=VECTOR_CMD; 1378 1410 if (d->r==NULL) goto no_ring; 1411 ssiCheckCurrRing(d->r); 1379 1412 res->data=(char*)ssiReadPoly(d); 1380 1413 break; … … 1383 1416 else res->rtyp=MODUL_CMD; 1384 1417 if (d->r==NULL) goto no_ring; 1418 ssiCheckCurrRing(d->r); 1385 1419 { 1386 1420 int rk=s_readint(d->f_read);
Note: See TracChangeset
for help on using the changeset viewer.