Скачать MetaTrader 5

CLBufferRead

Читает буфер OpenCL в массив и возвращает количество прочитанных элементов.

uint  CLBufferRead(
   int          buffer,                    // хендл на буфер OpenCL
   const void&  data[],                    // массив значений
   uint         buffer_offset=0,           // смещение в OpenCL буфере в байтах, по умолчанию 0
   uint         data_offset=0,             // смещение в массиве в элементах, по умолчанию 0
   uint         data_count=WHOLE_ARRAY     // количество значений из буфера для чтения, по умолчанию весь буфер
   );

Параметры

buffer

[in]  Хендл буфера OpenCL.

data[]

[in]  Массив для получения значений из буфера OpenCL. Передается по ссылке.

buffer_offset

[in]  Смещение в OpenCL буфере в байтах, с которого начинается чтение. По умолчанию чтение начинается с начала буфера.

data_offset

[in]  Индекс первого элемента массива для записи значений буфера OpenCL. По умолчанию запись прочитанных значений в массив начинается с нулевого индекса.

data_count

[in]  Количество значений, которые нужно прочитать. По умолчанию читается весь буфер OpenCL.

Возвращаемое значение

Количество прочитанных элементов, в случае ошибки возвращается 0. Для получения информации об ошибке используйте функцию GetLastError().

Примечание

Для одномерных массивов номер элемента, в который начинается запись данных из буфера OpenCL, вычисляется с учётом флага AS_SERIES.

Массив с размерностью два и более  представляется как одномерный. В этом случае data_offset – это количество элементов, которое следует пропустить в представлении, а не количество элементов в первой размерности.


Обновлено: 2015.12.03