OpenMP как оптимальней декларировать цикл

146
18 июля 2019, 06:40

Как более правильно описать цикл примерно для следующей схемы кода:

int len = size of ebytes;
int tlen = 0;
uchar *ebytes = ...входящий буфер данных;
uchar *obytes = ...из ходящий буфер данных;
uchar *ubuf = calloc(1,256);
/// вот тут сложности понимания
#pragma omp parallel private(tlen) schedule(dynamic) reduction(+:ebytes) reduction(+:obytes)
do
{
  int sz = 256;
  memcpy((void*)ubuf, (void*)ebytes, sz);
  ebytes += sz;
  tlen += sz;
  func (ubuf, &sz);
  memcpy((void*)obytes, (void*)ubuf, sz);
  obytes += sz;
} while (len > tlen);

с циклами типа for все более-менее понятно, но переходить на цикл тут не очень охото из идеологических соображений.

Кажется придется переделывать.

READ ALSO
Рандомайзер выводит одинаковые числа [закрыт]

Рандомайзер выводит одинаковые числа [закрыт]

Для генерации случайных чисел использую rand() перед этим иницииирую таймер srand(time(NULL));, но при каждом перезапуске программы числа одинаковые

117
case игнорирует ввод строки

case игнорирует ввод строки

Почему в случае ch = 3 в case игнорируется строка gets_s(text, 150)? То есть при срабатывании этого case программа не дает возможности ввести text

166
Отладчик неверно увидел символ

Отладчик неверно увидел символ

Почему отладчик превращает 'e' в 'H'? тексты программы: case игнорирует ввод строки Спасибо

122
Обработка нажатия на кнопку и получение текста из поля

Обработка нажатия на кнопку и получение текста из поля

Собственно в названии вопроса и проблемаУ меня есть несколько классов

131