Changeset 68d23f8 in git
- Timestamp:
- Jun 21, 2010, 8:12:09 PM (13 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 5a061b7e354823fc26cf0b955032ab197eaf9010
- Parents:
- ee3e1aeb5264cc872202ec014e53f63d146423f9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/fglmzero.cc
ree3e1ae r68d23f8 295 295 borderElem() : monom(NULL), nf() {} 296 296 borderElem( poly p, fglmVector n ) : monom( p ), nf( n ) {} 297 ~borderElem() { pDeleteLm(&monom); }297 ~borderElem() { if (monom!=NULL) pLmDelete(&monom); } 298 298 #ifndef HAVE_EXPLICIT_CONSTR 299 299 void insertElem( poly p, fglmVector n ) … … 396 396 omFreeSize( (ADDRESS)varpermutation, (pVariables+1)*sizeof(int) ); 397 397 for ( int k = basisSize; k > 0; k-- ) 398 p DeleteLm( basis + k ); //. rem: basis runs from basis[1]..basis[basisSize]398 pLmDelete( basis + k ); //. rem: basis runs from basis[1]..basis[basisSize] 399 399 omFreeSize( (ADDRESS)basis, basisMax*sizeof( poly ) ); 400 400 #ifndef HAVE_EXPLICIT_CONSTR … … 477 477 BOOLEAN done = FALSE; 478 478 int state = 0; 479 while ( k >= 1 ) { 479 while ( k >= 1 ) 480 { 480 481 newmonom = pCopy( m ); 481 482 pIncrExp( newmonom, varpermutation[k] ); 482 483 pSetm( newmonom ); 483 484 done= FALSE; 484 while ( list.hasItem() && (done == FALSE) ) { 485 while ( list.hasItem() && (!done) ) 486 { 485 487 if ( (state= pCmp( list.getItem().monom, newmonom )) < 0 ) 486 488 list++; 487 489 else done= TRUE; 488 490 } 489 if ( done == FALSE ) { 491 if ( !done ) 492 { 490 493 nlist.append( fglmSelem( newmonom, varpermutation[k] ) ); 491 494 break; 492 495 } 493 if ( state == 0 ) { 496 if ( state == 0 ) 497 { 494 498 list.getItem().newDivisor( varpermutation[k] ); 495 pDeleteLm(&newmonom); 496 } 497 else { 499 pLmDelete(&newmonom); 500 } 501 else 502 { 498 503 list.insert( fglmSelem( newmonom, varpermutation[k] ) ); 499 504 } 500 505 k--; 501 506 } 502 while ( --k >= 1 ) { 507 while ( --k >= 1 ) 508 { 503 509 newmonom= pCopy( m ); // HIER 504 510 pIncrExp( newmonom, varpermutation[k] ); … … 606 612 if ( candidate.isBasisOrEdge() == TRUE ) { 607 613 int edge = data.getEdgeNumber( candidate.monom ); 608 if ( edge != 0 ) { 614 if ( edge != 0 ) 615 { 609 616 // now candidate is an edge, i.e. we know its normalform: 610 617 // NF(p) = - ( tail(p)/LC(p) ) 611 618 poly nf = data.getSpanPoly( edge ); 612 619 pNorm( nf ); 613 p DeleteLm(&nf); //. deletes the leadingmonomial620 pLmDelete(&nf); //. deletes the leadingmonomial 614 621 nf= pNeg( nf ); 615 622 fglmVector nfv = data.getVectorRep( nf ); … … 619 626 STICKYPROT( "+" ); 620 627 } 621 else { 628 else 629 { 622 630 int basis= data.newBasisElem( candidate.monom ); 623 631 data.updateCandidates(); … … 696 704 fglmDelem::cleanup() 697 705 { 698 if ( monom != NULL ) { 699 pDeleteLm(&monom); 706 if ( monom != NULL ) 707 { 708 pLmDelete(&monom); 700 709 } 701 710 } … … 878 887 BOOLEAN done = FALSE; 879 888 int state = 0; 880 while ( k >= 1 ) { 889 while ( k >= 1 ) 890 { 881 891 newmonom = pCopy( m ); 882 892 pIncrExp( newmonom, varpermutation[k] ); 883 893 pSetm( newmonom ); 884 894 done= FALSE; 885 while ( list.hasItem() && (done == FALSE) ) { 895 while ( list.hasItem() && (!done) ) 896 { 886 897 if ( (state= pCmp( list.getItem().monom, newmonom )) < 0 ) 887 898 list++; 888 899 else done= TRUE; 889 900 } 890 if ( done == FALSE ) { 901 if ( !done ) 902 { 891 903 nlist.append( fglmDelem( newmonom, v, k ) ); 892 904 break; 893 905 } 894 if ( state == 0 ) { 906 if ( state == 0 ) 907 { 895 908 list.getItem().newDivisor(); 896 pDeleteLm( & newmonom ); 897 } 898 else { 909 pLmDelete( & newmonom ); 910 } 911 else 912 { 899 913 list.insert( fglmDelem( newmonom, v, k ) ); 900 914 } 901 915 k--; 902 916 } 903 while ( --k >= 1 ) { 917 while ( --k >= 1 ) 918 { 904 919 newmonom= pCopy( m ); 905 920 pIncrExp( newmonom, varpermutation[k] ); … … 1112 1127 isZero= FALSE; 1113 1128 v= fglmVector( l.dimen(), 1 ); 1114 while ( isZero == FALSE ) { 1115 if ( (isZero= gauss.reduce( v )) == TRUE ) { 1129 while ( !isZero ) 1130 { 1131 if ( (isZero= gauss.reduce( v ))) 1132 { 1116 1133 STICKYPROT( "+" ); 1117 1134 p= gauss.getDependence(); 1118 1135 number gcd= p.gcd(); 1119 if ( ! nIsOne( gcd ) ) { 1136 if ( ! nIsOne( gcd ) ) 1137 { 1120 1138 p /= gcd; 1121 1139 }
Note: See TracChangeset
for help on using the changeset viewer.