Searches through the border for a monomial bm which divides m and returns its normalform in vector representation. var contains the number of the variable v, s.t. bm = m * v
| 575 | // its normalform in vector representation. |
| 576 | // var contains the number of the variable v, s.t. bm = m * v |
| 577 | fglmVector |
| 578 | fglmSdata::getBorderDiv( const poly m, int & var ) const |
| 579 | { |
| 580 | // int num2 = borderSize; |
| 581 | // while ( num2 > 0 ) { |
| 582 | // poly temp = border[num2].monom; |
| 583 | // if ( pDivisibleBy( temp, m ) ) { |
| 584 | // poly divisor = pDivideM( m, temp ); |
| 585 | // int var = pIsPurePower( divisor ); |
| 586 | // if ( (var != 0) && (pGetCoeff( divisor, var ) == 1) ) { |
| 587 | // Print( "poly %s divides poly %s", pString( temp ), pString( m ) ); |
| 588 | // } |
| 589 | // } |
| 590 | // num2--; |
| 591 | // } |
| 592 | int num = borderSize; |
| 593 | while ( num > 0 ) { |
| 594 | poly temp = border[num].monom; |
| 595 | if ( pDivisibleBy( temp, m ) ) { |
| 596 | var = (currRing->N); |
| 597 | while ( var > 0 ) { |
| 598 | if ( (pGetExp( m, var ) - pGetExp( temp, var )) == 1 ) |
| 599 | return border[num].nf; |
| 600 | var--; |
| 601 | } |
| 602 | } |
| 603 | num--; |
| 604 | } |
| 605 | return fglmVector(); |
| 606 | } |
| 607 | |
| 608 | void |
| 609 | internalCalculateFunctionals( const ideal /*& theIdeal*/, idealFunctionals & l, |
no test coverage detected