Lines Matching refs:iam
105 thread_index_t iam = omp_get_thread_num();
109 equally_split(sd->starts[iam + 1] - sd->starts[iam],
113 ::new(&(sd->samples[iam * num_samples + i]))
114 value_type(sd->source[sd->starts[iam] + es[i + 1]]);
133 const thread_index_t iam,
153 if (iam < sd->num_threads - 1)
155 sd->starts[iam + 1], offsets.begin(), comp);
160 if (iam < (sd->num_threads - 1))
161 sd->pieces[iam][seq].end = offsets[seq] - seqs[seq].first;
164 sd->pieces[iam][seq].end =
173 if (iam > 0)
174 sd->pieces[iam][seq].begin = sd->pieces[iam - 1][seq].end;
177 sd->pieces[iam][seq].begin = 0;
189 const thread_index_t iam,
215 if (num_samples * iam > 0)
216 sd->pieces[iam][s].begin =
220 sd->samples[num_samples * iam],
225 sd->pieces[iam][s].begin = 0;
227 if ((num_samples * (iam + 1)) < (num_samples * sd->num_threads))
228 sd->pieces[iam][s].end =
232 sd->samples[num_samples * (iam + 1)],
237 sd->pieces[iam][s].end = sd->starts[s + 1] - sd->starts[s];
322 thread_index_t iam = omp_get_thread_num();
325 difference_type length_local = sd->starts[iam + 1] - sd->starts[iam];
331 sd->temporary[iam] =
336 std::uninitialized_copy(sd->source + sd->starts[iam],
337 sd->source + sd->starts[iam] + length_local,
338 sd->temporary[iam]);
341 (sd->temporary[iam], sd->temporary[iam] + length_local, comp);
343 // Invariant: locally sorted subsequence in sd->temporary[iam],
344 // sd->temporary[iam] + length_local.
352 (iam, sd, comp, num_samples);
358 length_am += sd->pieces[iam][s].end - sd->pieces[iam][s].begin;
359 offset += sd->pieces[iam][s].begin;
370 std::make_pair(sd->temporary[s] + sd->pieces[iam][s].begin,
371 sd->temporary[s] + sd->pieces[iam][s].end);
385 ::operator delete(sd->temporary[iam]);