/// <summary> /// Creates a ClooBuffer and fills it with random values /// </summary> /// <param name="length">buffer length</param> /// <returns></returns> public virtual ClooBuffer<HaarFeatureNode> CreateClooBufferHaarFeatureNode(int length = 9999) { ResetRandomSeed(); var buffer = new ClooBuffer<HaarFeatureNode>(Context, ComputeMemoryFlags.ReadWrite | ComputeMemoryFlags.UseHostPointer, length); Assert.AreNotEqual(0, buffer.HostBuffer.Length); Assert.AreEqual(buffer.HostBuffer.Length * Marshal.SizeOf(typeof(HaarFeatureNode)), buffer.Size); buffer.WriteToDevice(Queue); return buffer; }
/// <summary> /// Creates a ClooBuffer and fills it with random values /// </summary> /// <param name="length">buffer length</param> /// <returns></returns> public virtual ClooBuffer<uint> CreateClooBufferUInt(int length = 9999) { ResetRandomSeed(); var buffer = new ClooBuffer<uint>(Context, ComputeMemoryFlags.ReadWrite | ComputeMemoryFlags.AllocateHostPointer, length); Assert.AreNotEqual(0, buffer.HostBuffer.Length); Assert.AreEqual(4 * buffer.HostBuffer.Length, buffer.Size); for (int i = 0; i < length; i++) buffer.HostBuffer[i] = (uint)Random.Next(256); buffer.WriteToDevice(Queue); Assert.AreNotEqual(0, buffer.HostBuffer.Sum(x => x)); return buffer; }