/// <summary> /// read from buffer and write to array but with events /// </summary> /// <param name="cq"></param> /// <param name="reference"></param> /// <param name="range"></param> /// <param name="arr"></param> /// <param name="eArr"></param> /// <param name="e"></param> public void readEvent(ClCommandQueue cq, int reference, int range, object arr, ClEventArray eArr, ClEvent e) { if (arr.GetType() == typeof(float[])) { readFromBufferRangedEvent(cq.h(), hBuffer, reference, range, (float[])arr, eArr.h(), e.h()); } else if (arr.GetType() == typeof(int[])) { readFromBufferRangedEvent(cq.h(), hBuffer, reference, range, (int[])arr, eArr.h(), e.h()); } else if (arr.GetType() == typeof(uint[])) { readFromBufferRangedEvent(cq.h(), hBuffer, reference, range, (uint[])arr, eArr.h(), e.h()); } else if (arr.GetType() == typeof(double[])) { readFromBufferRangedEvent(cq.h(), hBuffer, reference, range, (double[])arr, eArr.h(), e.h()); } else if (arr.GetType() == typeof(long[])) { readFromBufferRangedEvent(cq.h(), hBuffer, reference, range, (long[])arr, eArr.h(), e.h()); } else if (arr.GetType() == typeof(byte[])) { readFromBufferRangedEvent(cq.h(), hBuffer, reference, range, (byte[])arr, eArr.h(), e.h()); } else if (arr.GetType() == typeof(char[])) { readFromBufferRangedEvent(cq.h(), hBuffer, reference, range, (char[])arr, eArr.h(), e.h()); } else if (Functions.isTypeOfFastArr(arr)) { readFromBufferRangedEvent(cq.h(), hBuffer, reference, range, ((IMemoryHandle)arr).ha(), eArr.h(), e.h()); } }
/// <summary> /// adds event to event array /// </summary> /// <param name="e"></param> /// <param name="isCopy"></param> public void add(ClEvent e, bool isCopy = false) { addToEventArr(hArr, e.h(), isCopy); }