Home | History | Annotate | Download | only in parallel

Lines Matching defs:__sd

131       _DRandomShufflingGlobalData<_RAIter>* __sd = __d->_M_sd;
134 _DifferenceType __length = (__sd->_M_starts[__iam + 1]
135 - __sd->_M_starts[__iam]);
137 _DifferenceType* __dist = new _DifferenceType[__sd->_M_num_bins + 1];
138 _BinIndex* __bin_proc = new _BinIndex[__sd->_M_num_bins];
142 for (_BinIndex __b = 0; __b < __sd->_M_num_bins + 1; ++__b)
144 int __num_bits = __sd->_M_num_bits;
158 for (_BinIndex __b = 0; __b < __sd->_M_num_bins + 1; ++__b)
159 __sd->_M_dist[__b][__iam + 1] = __dist[__b];
165 // Sum up bins, __sd->_M_dist[__s + 1][__d->_M_num_threads] now
167 for (_BinIndex __s = 0; __s < __sd->_M_num_bins; ++__s)
168 __gnu_sequential::partial_sum(__sd->_M_dist[__s + 1],
169 __sd->_M_dist[__s + 1]
171 __sd->_M_dist[__s + 1]);
178 __global_offset += __sd->_M_dist[__s + 1][__d->_M_num_threads];
185 __sd->_M_dist[__s + 1][__t] += __offset;
186 __offset = __sd->_M_dist[__s + 1][__d->_M_num_threads];
189 __sd->_M_temporaries[__iam] = static_cast<_ValueType*>
195 for (_BinIndex __b = 0; __b < __sd->_M_num_bins + 1; ++__b)
196 __dist[__b] = __sd->_M_dist[__b][__iam];
197 for (_BinIndex __b = 0; __b < __sd->_M_num_bins; ++__b)
198 __bin_proc[__b] = __sd->_M_bin_proc[__b];
200 __temporaries[__t] = __sd->_M_temporaries[__t];
202 _RAIter __source = __sd->_M_source;
203 _DifferenceType __start = __sd->_M_starts[__iam];
227 (__sd->_M_temporaries[__iam]
229 ? 0 : __sd->_M_dist[__b][__d->_M_num_threads])),
230 *__end = (__sd->_M_temporaries[__iam]
231 + __sd->_M_dist[__b + 1][__d->_M_num_threads]);
234 std::copy(__begin, __end, __sd->_M_source + __global_offset
236 ? 0 : __sd->_M_dist[__b][__d->_M_num_threads]));
240 __sd->_M_temporaries[__iam][__i].~_ValueType();
241 ::operator delete(__sd->_M_temporaries[__iam]);
338 _DRandomShufflingGlobalData<_RAIter> __sd(__begin);
349 __sd._M_temporaries = new _ValueType*[__num_threads];
350 __sd._M_dist = new _DifferenceType*[__num_bins + 1];
351 __sd._M_bin_proc = new _ThreadIndex[__num_bins];
353 __sd._M_dist[__b] = new _DifferenceType[__num_threads + 1];
356 __sd._M_dist[0][0] = 0;
357 __sd._M_dist[__b][0] = 0;
359 __starts = __sd._M_starts = new _DifferenceType[__num_threads + 1];
361 __sd._M_num_bins = __num_bins;
362 __sd._M_num_bits = __rd_log2(__num_bins);
382 __sd._M_bin_proc[__j] = __i;
385 __pus[__i]._M_sd = &__sd;
394 delete[] __sd._M_bin_proc;
396 delete[] __sd._M_dist[__s];
397 delete[] __sd._M_dist;
398 delete[] __sd._M_temporaries;