Home | History | Annotate | Download | only in parallel

Lines Matching refs:difference_type

56     typedef _DifferenceTp difference_type;
62 _GLIBCXX_JOB_VOLATILE difference_type first;
67 _GLIBCXX_JOB_VOLATILE difference_type last;
72 _GLIBCXX_JOB_VOLATILE difference_type load;
105 difference_type bound)
110 typedef typename traits_type::difference_type difference_type;
114 difference_type chunk_size = static_cast<difference_type>(__s.workstealing_chunk_size);
117 difference_type length = (bound < 0) ? (end - begin) : bound;
120 const int stride = __s.cache_line_size * 10 / sizeof(Job<difference_type>) + 1;
125 Job<difference_type> *job;
136 __gnu_parallel::min<difference_type>(length, get_max_threads()));
146 job = new Job<difference_type>[num_threads * stride];
158 Job<difference_type>& my_job = job[iam * stride];
167 difference_type steal;
181 static_cast<difference_type>(iam * (length / num_threads));
191 difference_type my_first = my_job.first;
213 difference_type current_job =
214 fetch_and_add<difference_type>(&(my_job.first), chunk_size);
219 for (difference_type job_counter = 0;
244 difference_type supposed_first, supposed_last, supposed_load;
269 difference_type stolen_first =
270 fetch_and_add<difference_type>(
272 difference_type stolen_try =
273 stolen_first + steal - difference_type(1);