* happens, whereas a small number is better for load balancing.
*/
const unsigned int chunk_size;
-
- /**
- * Initialize the pointers and vector elements in the specified entry
- * of the item_buffer.
- */
- void init_buffer_elements (const unsigned int element,
- const CopyData &sample_copy_data)
- {
- Assert (item_buffer[element].n_items == 0,
- ExcInternalError());
-
- item_buffer[element].work_items
- .resize (chunk_size, remaining_iterator_range.second);
- item_buffer[element].scratch_data
- = &thread_local_scratch;
- item_buffer[element].sample_scratch_data
- = &sample_scratch_data;
- item_buffer[element].copy_datas
- .resize (chunk_size, sample_copy_data);
- }
};
DEAL_II_NAMESPACE_OPEN
-
-namespace
-{
- template <typename CellIterator>
- inline
- void advance_by_n (CellIterator &cell,
- const unsigned int n)
- {
- // store a pointer to the end iterator, since we can't get at it any more
- // once cell is already the end iterator (in that case dereferencing
- // cell-> triggers an assertion)
- const CellIterator endc = cell->get_dof_handler().end();
- for (unsigned int t=0; ((t<n) && (cell!=endc)); ++t, ++cell)
- ;
- }
-}
-
-
namespace internal
{
namespace