Changeset 670ad3 in git
- Timestamp:
- Jan 27, 2010, 2:16:19 PM (13 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '00e2e9c41af3fde1273eb3633f4c0c7c3db2579d')
- Children:
- a4875334edd65075db8edd5f072597fac0983b5f
- Parents:
- 998298c25fb590befaae6849197e879ab70df0b7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/fglmhom.cc
r998298c r670ad3 338 338 339 339 BOOLEAN 340 fglmhomog( idhdl sourceRingHdl, ideal sourceIdeal, idhdl destRingHdl, ideal & destIdeal )340 fglmhomog( ring sourceRing, ideal sourceIdeal, ring destRing, ideal & destIdeal ) 341 341 { 342 342 #define groebnerBS 16 … … 347 347 348 348 // get the hilbert series and the leading monomials of the sourceIdeal: 349 rSetHdl( sourceRingHdl, TRUE ); 350 ring sourceRing = currRing; 349 rChangeCurrRing( sourceRing ); 351 350 352 351 intvec * hilb = hHstdSeries( sourceIdeal, NULL, currQuotient ); … … 354 353 dat.sourceIdeal= sourceIdeal; 355 354 dat.sourceHeads= (doublepoly *)omAlloc( IDELEMS( sourceIdeal ) * sizeof( doublepoly ) ); 356 for ( s= IDELEMS( sourceIdeal ) - 1; s >= 0; s-- ) { 355 for ( s= IDELEMS( sourceIdeal ) - 1; s >= 0; s-- ) 356 { 357 357 dat.sourceHeads[s].sm= pHead( (sourceIdeal->m)[s] ); 358 358 } 359 359 dat.numSourceHeads= IDELEMS( sourceIdeal ); 360 rSetHdl( destRingHdl, TRUE ); 361 ring destRing = currRing; 360 rChangeCurrRing( destRing ); 362 361 363 362 // Map the sourceHeads to the destRing … … 367 366 //nSetMap( sourceRing->ch, sourceRing->parameter, sourceRing->P, sourceRing->minpoly ); 368 367 nSetMap( sourceRing ); 369 for ( s= IDELEMS( sourceIdeal ) - 1; s >= 0; s-- ) { 368 for ( s= IDELEMS( sourceIdeal ) - 1; s >= 0; s-- ) 369 { 370 370 dat.sourceHeads[s].dm= pPermPoly( dat.sourceHeads[s].sm, vperm, sourceRing, NULL, 0 ); 371 371 } … … 374 374 dat.numDestPolys= 0; 375 375 376 while ( (numGBelems= hfglmNextdegree( hilb, dat.destIdeal, deg )) != 0 ) { 376 while ( (numGBelems= hfglmNextdegree( hilb, dat.destIdeal, deg )) != 0 ) 377 { 377 378 int num = 0; // the number of monoms of degree deg 378 379 PROT2( "deg= %i ", deg ); … … 399 400 PROT2( "%i)\nvec>", dat.overall ); 400 401 // switch to sourceRing and map monoms 401 r SetHdl( sourceRingHdl, TRUE);402 rChangeCurrRing( sourceRing ); 402 403 mapMonoms( destRing, dat ); 403 404 getVectorRep( dat ); 404 405 405 406 // switch to destination Ring and remap the vectors 406 r SetHdl( destRingHdl, TRUE);407 rChangeCurrRing( destRing ); 407 408 remapVectors( sourceRing, dat ); 408 409 … … 436 437 437 438 ideal i= IDIDEAL(ih); 438 fglmhomog( (idhdl)first->data, i, dest, result );439 fglmhomog( IDRING((idhdl)first->data), i, IDRING(dest), result ); 439 440 440 441 return( result );
Note: See TracChangeset
for help on using the changeset viewer.