| 259 | } |
| 260 | |
| 261 | void prune (Variable& alpha) |
| 262 | { |
| 263 | if (alpha.level()==LEVELBASE) return; |
| 264 | int last_var=-alpha.level(); |
| 265 | if ((last_var <= 0)||(var_names_ext==NULL)) return; |
| 266 | int i, n = strlen( var_names_ext ); |
| 267 | ASSERT (n+1 >= last_var, "wrong variable"); |
| 268 | if (last_var == 1) |
| 269 | { |
| 270 | delete [] var_names_ext; |
| 271 | delete [] algextensions; |
| 272 | var_names_ext= 0; |
| 273 | algextensions= 0; |
| 274 | alpha= Variable(); |
| 275 | return; |
| 276 | } |
| 277 | char * newvarnames = new char [last_var+1]; |
| 278 | for ( i = 0; i < last_var; i++ ) |
| 279 | newvarnames[i] = var_names_ext[i]; |
| 280 | newvarnames[last_var] = 0; |
| 281 | delete [] var_names_ext; |
| 282 | var_names_ext = newvarnames; |
| 283 | ext_entry * newalgext = new ext_entry [last_var]; |
| 284 | for ( i = 0; i < last_var; i++ ) |
| 285 | newalgext[i] = algextensions[i]; |
| 286 | delete [] algextensions; |
| 287 | algextensions = newalgext; |
| 288 | alpha= Variable(); |
| 289 | } |
| 290 | |
| 291 | void prune1 (const Variable& alpha) |
| 292 | { |
no test coverage detected