/// <summary>
		/// 32-bit floating-point zero crossing method, return value is 32-bit floating point.
		/// </summary>
		/// <param name="pSrc">Source signal pointer.</param>
		/// <param name="pValZC">Pointer to the output result.</param>
		/// <param name="tZCType">Type of the zero crossing measure: nppZCR, nppZCXor or nppZCC.</param>
		/// <param name="pDeviceBuffer">Pointer to the required device memory allocation. </param>
		public static void ZeroCrossing(this CudaDeviceVariable<float> pSrc, CudaDeviceVariable<float> pValZC, CudaDeviceVariable<byte> pDeviceBuffer, NppsZCType tZCType)
		{
			NppStatus status = NPPNativeMethods.NPPs.ZeroCrossing.nppsZeroCrossing_32f(pSrc.DevicePointer, pSrc.Size, pValZC.DevicePointer, tZCType, pDeviceBuffer.DevicePointer);
			Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "nppsZeroCrossing_32f", status));
			NPPException.CheckNppStatus(status, pSrc);
		}
 public static extern NppStatus nppsZeroCrossing_32f(
     IntPtr pSrc,
     int nLength,
     IntPtr pValZC,
     NppsZCType tZCType,
     IntPtr pDeviceBuffer);