| 2666 | } |
| 2667 | |
| 2668 | static void idDeleteComps(ideal arg,int* red_comp,int del) |
| 2669 | // red_comp is an array [0..args->rank] |
| 2670 | { |
| 2671 | int i,j; |
| 2672 | poly p; |
| 2673 | |
| 2674 | for (i=IDELEMS(arg)-1;i>=0;i--) |
| 2675 | { |
| 2676 | p = arg->m[i]; |
| 2677 | while (p!=NULL) |
| 2678 | { |
| 2679 | j = pGetComp(p); |
| 2680 | if (red_comp[j]!=j) |
| 2681 | { |
| 2682 | pSetComp(p,red_comp[j]); |
| 2683 | pSetmComp(p); |
| 2684 | } |
| 2685 | pIter(p); |
| 2686 | } |
| 2687 | } |
| 2688 | (arg->rank) -= del; |
| 2689 | } |
| 2690 | |
| 2691 | /*3 |
| 2692 | * searches for the next unit in the components of the module arg and |
no outgoing calls
no test coverage detected