16 perm_cur, ncolor_in, ncolor_out, COLORindex, perm, iperm)
18 integer(kind=kint),
intent(in) :: n
19 integer(kind=kint),
intent(in) :: indexl(0:), indexu(0:)
20 integer(kind=kint),
intent(in) :: iteml(:), itemu(:)
21 integer(kind=kint),
intent(in) :: perm_cur(:)
22 integer(kind=kint),
intent(in) :: ncolor_in
23 integer(kind=kint),
intent(out) :: ncolor_out
24 integer(kind=kint),
intent(out) :: colorindex(0:)
25 integer(kind=kint),
intent(out) :: perm(:), iperm(:)
26 integer(kind=kint),
allocatable :: iwk(:)
27 integer(kind=kint) :: nn_color, cntall, cnt, color
28 integer(kind=kint) :: i, inode, j, jnode
31 nn_color = n / ncolor_in
38 if (iwk(inode) > 0 .or. iwk(inode) == -1) cycle
44 if (cnt == nn_color)
exit
47 do j = indexl(inode-1)+1, indexl(inode)
49 if (iwk(jnode) == 0) iwk(jnode) = -1
51 do j = indexu(inode-1)+1, indexu(inode)
54 if (iwk(jnode) == 0) iwk(jnode) = -1
57 colorindex(color) = cntall
64 if (iwk(i) == -1) iwk(i) = 0