Changeset 096c99 in git for kernel/sca.cc
- Timestamp:
- Mar 23, 2010, 6:35:47 PM (14 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- d74b8967391eb5c1380bca8bf952757c82ee77d5
- Parents:
- 56bd6aa9cdcf293c5733c2de7e00ae0d0784f36b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/sca.cc
r56bd6a r096c99 60 60 61 61 // return pMonom * pPoly; preserve pPoly and pMonom. 62 poly sca_mm_Mult_pp(const poly pMonom, const poly pPoly, const ring rRing);62 static poly sca_mm_Mult_pp(const poly pMonom, const poly pPoly, const ring rRing); 63 63 64 64 // return pPoly * pMonom; preserve pMonom, destroy or reuse pPoly. … … 66 66 67 67 // return pMonom * pPoly; preserve pMonom, destroy or reuse pPoly. 68 poly sca_mm_Mult_p(const poly pMonom, poly pPoly, const ring rRing);68 static poly sca_mm_Mult_p(const poly pMonom, poly pPoly, const ring rRing); 69 69 70 70 … … 89 89 90 90 91 inline ring assureCurrentRing(ring r)91 static inline ring assureCurrentRing(ring r) 92 92 { 93 93 ring save = currRing; … … 103 103 // returns the sign of: lm(pMonomM) * lm(pMonomMM), 104 104 // preserves input, may return +/-1, 0 105 inline int sca_Sign_mm_Mult_mm( const poly pMonomM, const poly pMonomMM, const ring rRing )105 static inline int sca_Sign_mm_Mult_mm( const poly pMonomM, const poly pMonomMM, const ring rRing ) 106 106 { 107 107 #ifdef PDEBUG … … 154 154 // if result != NULL => next(result) = next(pMonomM), lt(result) = lt(pMonomM) * lt(pMonomMM) 155 155 // if result == NULL => pMonomM MUST BE deleted manually! 156 inline poly sca_m_Mult_mm( poly pMonomM, const poly pMonomMM, const ring rRing )156 static inline poly sca_m_Mult_mm( poly pMonomM, const poly pMonomMM, const ring rRing ) 157 157 { 158 158 #ifdef PDEBUG … … 218 218 // if result != NULL => next(result) = next(pMonomM), lt(result) = lt(pMonomMM) * lt(pMonomM) 219 219 // if result == NULL => pMonomM MUST BE deleted manually! 220 inline poly sca_mm_Mult_m( const poly pMonomMM, poly pMonomM, const ring rRing )220 static inline poly sca_mm_Mult_m( const poly pMonomMM, poly pMonomM, const ring rRing ) 221 221 { 222 222 #ifdef PDEBUG … … 283 283 // preserves pMonom1, pMonom2. may return NULL! 284 284 // if result != NULL => next(result) = NULL, lt(result) = lt(pMonom1) * lt(pMonom2) 285 inline poly sca_mm_Mult_mm( poly pMonom1, const poly pMonom2, const ring rRing )285 static inline poly sca_mm_Mult_mm( poly pMonom1, const poly pMonom2, const ring rRing ) 286 286 { 287 287 #ifdef PDEBUG … … 322 322 323 323 poly pResult; 324 omTypeAllocBin(poly, pResult, rRing->PolyBin); 325 p_SetRingOfLm(pResult, rRing); 324 p_AllocBin(pResult,rRing->PolyBin,rRing); 326 325 327 326 p_ExpVectorSum(pResult, pMonom1, pMonom2, rRing); // "exponents" are additive!!! … … 349 348 // preserves pMonom. may return NULL! 350 349 // if result != NULL => next(result) = NULL, lt(result) = x_i * lt(pMonom) 351 inline poly sca_xi_Mult_mm(unsigned int i, const poly pMonom, const ring rRing)350 static inline poly sca_xi_Mult_mm(unsigned int i, const poly pMonom, const ring rRing) 352 351 { 353 352 #ifdef PDEBUG … … 408 407 return NULL; 409 408 410 if( pMonom == NULL )411 {412 // pPoly != NULL =>413 p_Delete( &pPoly, rRing );414 415 return NULL;416 }409 assume(pMonom !=NULL); 410 //if( pMonom == NULL ) 411 //{ 412 // // pPoly != NULL => 413 // p_Delete( &pPoly, rRing ); 414 // return NULL; 415 //} 417 416 418 417 const int iComponentMonomM = p_GetComp(pMonom, rRing); … … 470 469 break; 471 470 } 472 473 474 471 } 475 472 … … 493 490 #endif 494 491 495 if( ( pPoly == NULL ) || ( pMonom == NULL ))492 if( ( pPoly == NULL ) /*|| ( pMonom == NULL )*/ ) 496 493 return NULL; 497 494 … … 536 533 ppPrev = &pNext(v); 537 534 } 538 539 535 } 540 536 … … 549 545 550 546 // return x_i * pPoly; preserve pPoly. 551 inline poly sca_xi_Mult_pp(unsigned int i, const poly pPoly, const ring rRing)547 static inline poly sca_xi_Mult_pp(unsigned int i, const poly pPoly, const ring rRing) 552 548 { 553 549 assume( rIsSCA(rRing) ); … … 593 589 594 590 // return new poly = pMonom * pPoly; preserve pPoly and pMonom. 595 poly sca_mm_Mult_pp(const poly pMonom, const poly pPoly, const ring rRing)591 static poly sca_mm_Mult_pp(const poly pMonom, const poly pPoly, const ring rRing) 596 592 { 597 593 assume( rIsSCA(rRing) ); … … 659 655 660 656 // return poly = pMonom * pPoly; preserve pMonom, destroy or reuse pPoly. 661 poly sca_mm_Mult_p(const poly pMonom, poly pPoly, const ring rRing) // !!!!! the MOST used procedure !!!!!657 static poly sca_mm_Mult_p(const poly pMonom, poly pPoly, const ring rRing) // !!!!! the MOST used procedure !!!!! 662 658 { 663 659 assume( rIsSCA(rRing) ); … … 671 667 return NULL; 672 668 673 if( pMonom == NULL ) 674 { 675 // pPoly != NULL => 676 p_Delete( &pPoly, rRing ); 677 return NULL; 678 } 669 assume(pMonom!=NULL); 670 //if( pMonom == NULL ) 671 //{ 672 // // pPoly != NULL => 673 // p_Delete( &pPoly, rRing ); 674 // return NULL; 675 //} 679 676 680 677 const int iComponentMonomM = p_GetComp(pMonom, rRing); … … 2549 2546 // x-es and y-s are weighted by wx and wy resp. 2550 2547 // [optional] components have weights by wCx and wCy. 2551 inline void m_GetBiDegree(const poly m,2548 static inline void m_GetBiDegree(const poly m, 2552 2549 const intvec *wx, const intvec *wy, 2553 2550 const intvec *wCx, const intvec *wCy, … … 2713 2710 // reduce term lt(m) modulo <y_i^2> , i = iFirstAltVar .. iLastAltVar: 2714 2711 // either create a copy of m or return NULL 2715 inline poly m_KillSquares(const poly m,2712 static inline poly m_KillSquares(const poly m, 2716 2713 const unsigned int iFirstAltVar, const unsigned int iLastAltVar, 2717 2714 const ring r)
Note: See TracChangeset
for help on using the changeset viewer.