mprSTICKYPROT: ST_DENSE_MEM: more mem allocated ST_DENSE_NMON: new monom added
| 2185 | // ST_DENSE_MEM: more mem allocated |
| 2186 | // ST_DENSE_NMON: new monom added |
| 2187 | void resMatrixDense::generateMonoms( poly mm, int var, int deg ) |
| 2188 | { |
| 2189 | if ( deg == 0 ) |
| 2190 | { |
| 2191 | poly mon = pCopy( mm ); |
| 2192 | |
| 2193 | if ( numVectors == veclistmax ) |
| 2194 | { |
| 2195 | resVectorList= (resVector * )omReallocSize( resVectorList, |
| 2196 | (veclistmax) * sizeof( resVector ), |
| 2197 | (veclistmax + veclistblock) * sizeof( resVector ) ); |
| 2198 | int k; |
| 2199 | for ( k= veclistmax; k < (veclistmax + veclistblock); k++ ) |
| 2200 | resVectorList[k].init(); |
| 2201 | veclistmax+= veclistblock; |
| 2202 | mprSTICKYPROT(ST_DENSE_MEM); |
| 2203 | |
| 2204 | } |
| 2205 | resVectorList[numVectors].init( mon ); |
| 2206 | numVectors++; |
| 2207 | mprSTICKYPROT(ST_DENSE_NMON); |
| 2208 | return; |
| 2209 | } |
| 2210 | else |
| 2211 | { |
| 2212 | if ( var == (currRing->N)+1 ) return; |
| 2213 | poly newm = pCopy( mm ); |
| 2214 | while ( deg >= 0 ) |
| 2215 | { |
| 2216 | generateMonoms( newm, var+1, deg ); |
| 2217 | pIncrExp( newm, var ); |
| 2218 | pSetm( newm ); |
| 2219 | deg--; |
| 2220 | } |
| 2221 | pDelete( & newm ); |
| 2222 | } |
| 2223 | |
| 2224 | return; |
| 2225 | } |
| 2226 | |
| 2227 | void resMatrixDense::generateMonomData( int deg, intvec* polyDegs , intvec* iVO ) |
| 2228 | { |
nothing calls this directly
no test coverage detected