equal
deleted
inserted
replaced
137 int max_digit; |
137 int max_digit; |
138 Iterator it; |
138 Iterator it; |
139 |
139 |
140 mask = 0; max_digit = 0; |
140 mask = 0; max_digit = 0; |
141 for (it = first; it != cut; ++it) { |
141 for (it = first; it != cut; ++it) { |
142 if ((mask | functor(*it)) != ~0) { |
142 while ((mask | functor(*it)) != ~0) { |
143 ++max_digit; |
143 ++max_digit; |
144 mask <<= 1; |
144 mask <<= 1; |
145 mask |= 1; |
145 mask |= 1; |
146 } |
146 } |
147 } |
147 } |
148 radixIntroSort(first, cut, functor, 1 << max_digit); |
148 radixIntroSort(first, cut, functor, 1 << max_digit); |
149 |
149 |
150 mask = ~0; max_digit = 0; |
150 mask = ~0; max_digit = 0; |
151 for (it = cut; it != last; ++it) { |
151 for (it = cut; it != last; ++it) { |
152 if (mask & functor(*it)) { |
152 while (mask & functor(*it)) { |
153 ++max_digit; |
153 ++max_digit; |
154 mask <<= 1; |
154 mask <<= 1; |
155 } |
155 } |
156 } |
156 } |
157 radixIntroSort(cut, last, functor, 1 << max_digit); |
157 radixIntroSort(cut, last, functor, 1 << max_digit); |