/* Copyright 2010-2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * * NOTICE TO LICENSEE: * * The source code and/or documentation ("Licensed Deliverables") are * subject to NVIDIA intellectual property rights under U.S. and * international Copyright laws. * * The Licensed Deliverables contained herein are PROPRIETARY and * CONFIDENTIAL to NVIDIA and are being provided under the terms and * conditions of a form of NVIDIA software license agreement by and * between NVIDIA and Licensee ("License Agreement") or electronically * accepted by Licensee. Notwithstanding any terms or conditions to * the contrary in the License Agreement, reproduction or disclosure * of the Licensed Deliverables to any third party without the express * written consent of NVIDIA is prohibited. * * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. THEY ARE * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THESE LICENSED DELIVERABLES. * * U.S. Government End Users. These Licensed Deliverables are a * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT * 1995), consisting of "commercial computer software" and "commercial * computer software documentation" as such terms are used in 48 * C.F.R. 12.212 (SEPT 1995) and are provided to the U.S. Government * only as a commercial end item. Consistent with 48 C.F.R.12.212 and * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all * U.S. Government End Users acquire the Licensed Deliverables with * only those rights set forth herein. * * Any use of the Licensed Deliverables in individual and commercial * software must include, in the user documentation and internal * comments to the code, the above Disclaimer and U.S. Government End * Users Notice. */ #ifndef NV_NPPS_ARITHMETIC_AND_LOGICAL_OPERATIONS_H #define NV_NPPS_ARITHMETIC_AND_LOGICAL_OPERATIONS_H /** * \file npps_arithmetic_and_logical_operations.h * Signal Arithmetic and Logical Operations. */ #include "nppdefs.h" #ifdef __cplusplus extern "C" { #endif /** * @defgroup signal_arithmetic_and_logical_operations Arithmetic and Logical Operations * @ingroup npps * Functions that provide common arithmetic and logical operations. * @{ * */ /** * @defgroup signal_arithmetic Arithmetic Operations * The set of arithmetic operations for signal processing available in the library. * @{ * */ /** * @defgroup signal_addc AddC * Adds a constant value to each sample of a signal. * * @{ * */ /** * 8-bit unsigned char in place signal add constant, * scale, then clamp to saturated value * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_8u_ISfs_Ctx(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_8u_ISfs(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 8-bit unsigned charvector add constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_8u_Sfs_Ctx(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_8u_Sfs(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short in place signal add constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_16u_ISfs_Ctx(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_16u_ISfs(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short vector add constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_16u_Sfs_Ctx(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_16u_Sfs(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal add constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_16s_ISfs_Ctx(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_16s_ISfs(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal add constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_16s_Sfs(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary)signal add constant, * scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_16sc_ISfs_Ctx(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_16sc_ISfs(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary) signal add constant, * scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_16sc_Sfs_Ctx(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_16sc_Sfs(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer in place signal add constant and scale. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_32s_ISfs_Ctx(Npp32s nValue, Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_32s_ISfs(Npp32s nValue, Npp32s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integersignal add constant and scale. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_32s_Sfs_Ctx(const Npp32s * pSrc, Npp32s nValue, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_32s_Sfs(const Npp32s * pSrc, Npp32s nValue, Npp32s * pDst, int nLength, int nScaleFactor); /** * 32-bit integer complex number (32 bit real, 32 bit imaginary) in place signal * add constant and scale. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_32sc_ISfs_Ctx(Npp32sc nValue, Npp32sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_32sc_ISfs(Npp32sc nValue, Npp32sc * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit integer complex number (32 bit real, 32 bit imaginary) signal add constant * and scale. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_32sc_Sfs_Ctx(const Npp32sc * pSrc, Npp32sc nValue, Npp32sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddC_32sc_Sfs(const Npp32sc * pSrc, Npp32sc nValue, Npp32sc * pDst, int nLength, int nScaleFactor); /** * 32-bit floating point in place signal add constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_32f_I_Ctx(Npp32f nValue, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddC_32f_I(Npp32f nValue, Npp32f * pSrcDst, int nLength); /** * 32-bit floating point signal add constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_32f_Ctx(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddC_32f(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) in * place signal add constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_32fc_I_Ctx(Npp32fc nValue, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddC_32fc_I(Npp32fc nValue, Npp32fc * pSrcDst, int nLength); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) signal * add constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_32fc_Ctx(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddC_32fc(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength); /** * 64-bit floating point, in place signal add constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength Length of the vectors, number of items. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_64f_I_Ctx(Npp64f nValue, Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddC_64f_I(Npp64f nValue, Npp64f * pSrcDst, int nLength); /** * 64-bit floating pointsignal add constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_64f_Ctx(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddC_64f(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) in * place signal add constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be added to each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_64fc_I_Ctx(Npp64fc nValue, Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddC_64fc_I(Npp64fc nValue, Npp64fc * pSrcDst, int nLength); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) signal * add constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be added to each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddC_64fc_Ctx(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddC_64fc(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength); /** @} signal_addc */ /** * @defgroup signal_addproductc AddProductC * Adds product of a constant and each sample of a source signal to the each sample of destination signal. * * @{ * */ /** * 32-bit floating point signal add product of signal times constant to destination signal. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddProductC_32f_Ctx(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddProductC_32f(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength); /** @} signal_addproductc */ /** * @defgroup signal_mulc MulC * * Multiplies each sample of a signal by a constant value. * * @{ * */ /** * 8-bit unsigned char in place signal times constant, * scale, then clamp to saturated value * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_8u_ISfs_Ctx(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_8u_ISfs(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 8-bit unsigned char signal times constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_8u_Sfs_Ctx(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_8u_Sfs(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short in place signal times constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_16u_ISfs_Ctx(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_16u_ISfs(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal times constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_16u_Sfs_Ctx(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_16u_Sfs(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal times constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_16s_ISfs_Ctx(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_16s_ISfs(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal times constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_16s_Sfs(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary)signal times constant, * scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_16sc_ISfs_Ctx(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_16sc_ISfs(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary)signal times constant, * scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_16sc_Sfs_Ctx(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_16sc_Sfs(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer in place signal times constant and scale. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_32s_ISfs_Ctx(Npp32s nValue, Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_32s_ISfs(Npp32s nValue, Npp32s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal times constant and scale. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_32s_Sfs_Ctx(const Npp32s * pSrc, Npp32s nValue, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_32s_Sfs(const Npp32s * pSrc, Npp32s nValue, Npp32s * pDst, int nLength, int nScaleFactor); /** * 32-bit integer complex number (32 bit real, 32 bit imaginary) in place signal * times constant and scale. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_32sc_ISfs_Ctx(Npp32sc nValue, Npp32sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_32sc_ISfs(Npp32sc nValue, Npp32sc * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit integer complex number (32 bit real, 32 bit imaginary) signal times constant * and scale. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_32sc_Sfs_Ctx(const Npp32sc * pSrc, Npp32sc nValue, Npp32sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_32sc_Sfs(const Npp32sc * pSrc, Npp32sc nValue, Npp32sc * pDst, int nLength, int nScaleFactor); /** * 32-bit floating point in place signal times constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_32f_I_Ctx(Npp32f nValue, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMulC_32f_I(Npp32f nValue, Npp32f * pSrcDst, int nLength); /** * 32-bit floating point signal times constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_32f_Ctx(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMulC_32f(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength); /** * 32-bit floating point signal times constant with output converted to 16-bit signed integer. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_Low_32f16s_Ctx(const Npp32f * pSrc, Npp32f nValue, Npp16s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMulC_Low_32f16s(const Npp32f * pSrc, Npp32f nValue, Npp16s * pDst, int nLength); /** * 32-bit floating point signal times constant with output converted to 16-bit signed integer * with scaling and saturation of output result. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nScaleFactor \ref integer_result_scaling. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_32f16s_Sfs_Ctx(const Npp32f * pSrc, Npp32f nValue, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_32f16s_Sfs(const Npp32f * pSrc, Npp32f nValue, Npp16s * pDst, int nLength, int nScaleFactor); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) in * place signal times constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_32fc_I_Ctx(Npp32fc nValue, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMulC_32fc_I(Npp32fc nValue, Npp32fc * pSrcDst, int nLength); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) signal * times constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_32fc_Ctx(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMulC_32fc(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength); /** * 64-bit floating point, in place signal times constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength Length of the vectors, number of items. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_64f_I_Ctx(Npp64f nValue, Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMulC_64f_I(Npp64f nValue, Npp64f * pSrcDst, int nLength); /** * 64-bit floating point signal times constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_64f_Ctx(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMulC_64f(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength); /** * 64-bit floating point signal times constant with in place conversion to 64-bit signed integer * and with scaling and saturation of output result. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_64f64s_ISfs_Ctx(Npp64f nValue, Npp64s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMulC_64f64s_ISfs(Npp64f nValue, Npp64s * pDst, int nLength, int nScaleFactor); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) in * place signal times constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_64fc_I_Ctx(Npp64fc nValue, Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMulC_64fc_I(Npp64fc nValue, Npp64fc * pSrcDst, int nLength); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) signal * times constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be multiplied by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMulC_64fc_Ctx(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMulC_64fc(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength); /** @} signal_mulc */ /** * @defgroup signal_subc SubC * * Subtracts a constant from each sample of a signal. * * @{ * */ /** * 8-bit unsigned char in place signal subtract constant, * scale, then clamp to saturated value * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_8u_ISfs_Ctx(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_8u_ISfs(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 8-bit unsigned char signal subtract constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_8u_Sfs_Ctx(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_8u_Sfs(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short in place signal subtract constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_16u_ISfs_Ctx(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_16u_ISfs(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal subtract constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_16u_Sfs_Ctx(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_16u_Sfs(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal subtract constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_16s_ISfs_Ctx(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_16s_ISfs(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal subtract constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_16s_Sfs(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary) signal subtract constant, * scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_16sc_ISfs_Ctx(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_16sc_ISfs(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary) signal subtract constant, * scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_16sc_Sfs_Ctx(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_16sc_Sfs(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer in place signal subtract constant and scale. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_32s_ISfs_Ctx(Npp32s nValue, Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_32s_ISfs(Npp32s nValue, Npp32s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal subtract constant and scale. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_32s_Sfs_Ctx(const Npp32s * pSrc, Npp32s nValue, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_32s_Sfs(const Npp32s * pSrc, Npp32s nValue, Npp32s * pDst, int nLength, int nScaleFactor); /** * 32-bit integer complex number (32 bit real, 32 bit imaginary) in place signal * subtract constant and scale. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_32sc_ISfs_Ctx(Npp32sc nValue, Npp32sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_32sc_ISfs(Npp32sc nValue, Npp32sc * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit integer complex number (32 bit real, 32 bit imaginary)signal subtract constant * and scale. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_32sc_Sfs_Ctx(const Npp32sc * pSrc, Npp32sc nValue, Npp32sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubC_32sc_Sfs(const Npp32sc * pSrc, Npp32sc nValue, Npp32sc * pDst, int nLength, int nScaleFactor); /** * 32-bit floating point in place signal subtract constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_32f_I_Ctx(Npp32f nValue, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubC_32f_I(Npp32f nValue, Npp32f * pSrcDst, int nLength); /** * 32-bit floating point signal subtract constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_32f_Ctx(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubC_32f(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) in * place signal subtract constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_32fc_I_Ctx(Npp32fc nValue, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubC_32fc_I(Npp32fc nValue, Npp32fc * pSrcDst, int nLength); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) signal * subtract constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_32fc_Ctx(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubC_32fc(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength); /** * 64-bit floating point, in place signal subtract constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength Length of the vectors, number of items. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_64f_I_Ctx(Npp64f nValue, Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubC_64f_I(Npp64f nValue, Npp64f * pSrcDst, int nLength); /** * 64-bit floating point signal subtract constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_64f_Ctx(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubC_64f(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) in * place signal subtract constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_64fc_I_Ctx(Npp64fc nValue, Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubC_64fc_I(Npp64fc nValue, Npp64fc * pSrcDst, int nLength); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) signal * subtract constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be subtracted from each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubC_64fc_Ctx(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubC_64fc(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength); /** @} signal_subc */ /** * @defgroup signal_subcrev SubCRev * * Subtracts each sample of a signal from a constant. * * @{ * */ /** * 8-bit unsigned char in place signal subtract from constant, * scale, then clamp to saturated value * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_8u_ISfs_Ctx(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_8u_ISfs(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 8-bit unsigned char signal subtract from constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_8u_Sfs_Ctx(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_8u_Sfs(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short in place signal subtract from constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_16u_ISfs_Ctx(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_16u_ISfs(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal subtract from constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_16u_Sfs_Ctx(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_16u_Sfs(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal subtract from constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_16s_ISfs_Ctx(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_16s_ISfs(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal subtract from constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_16s_Sfs(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary) signal subtract from constant, * scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_16sc_ISfs_Ctx(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_16sc_ISfs(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary) signal subtract from constant, * scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_16sc_Sfs_Ctx(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_16sc_Sfs(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer in place signal subtract from constant and scale. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_32s_ISfs_Ctx(Npp32s nValue, Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_32s_ISfs(Npp32s nValue, Npp32s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integersignal subtract from constant and scale. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_32s_Sfs_Ctx(const Npp32s * pSrc, Npp32s nValue, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_32s_Sfs(const Npp32s * pSrc, Npp32s nValue, Npp32s * pDst, int nLength, int nScaleFactor); /** * 32-bit integer complex number (32 bit real, 32 bit imaginary) in place signal * subtract from constant and scale. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_32sc_ISfs_Ctx(Npp32sc nValue, Npp32sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_32sc_ISfs(Npp32sc nValue, Npp32sc * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit integer complex number (32 bit real, 32 bit imaginary) signal subtract from constant * and scale. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_32sc_Sfs_Ctx(const Npp32sc * pSrc, Npp32sc nValue, Npp32sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_32sc_Sfs(const Npp32sc * pSrc, Npp32sc nValue, Npp32sc * pDst, int nLength, int nScaleFactor); /** * 32-bit floating point in place signal subtract from constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_32f_I_Ctx(Npp32f nValue, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_32f_I(Npp32f nValue, Npp32f * pSrcDst, int nLength); /** * 32-bit floating point signal subtract from constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_32f_Ctx(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_32f(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) in * place signal subtract from constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_32fc_I_Ctx(Npp32fc nValue, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_32fc_I(Npp32fc nValue, Npp32fc * pSrcDst, int nLength); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) signal * subtract from constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_32fc_Ctx(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_32fc(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength); /** * 64-bit floating point, in place signal subtract from constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength Length of the vectors, number of items. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_64f_I_Ctx(Npp64f nValue, Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_64f_I(Npp64f nValue, Npp64f * pSrcDst, int nLength); /** * 64-bit floating point signal subtract from constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_64f_Ctx(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_64f(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) in * place signal subtract from constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_64fc_I_Ctx(Npp64fc nValue, Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_64fc_I(Npp64fc nValue, Npp64fc * pSrcDst, int nLength); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) signal * subtract from constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value each vector element is to be subtracted from * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSubCRev_64fc_Ctx(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSubCRev_64fc(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength); /** @} signal_subcrev */ /** * @defgroup signal_divc DivC * * Divides each sample of a signal by a constant. * * @{ * */ /** * 8-bit unsigned char in place signal divided by constant, * scale, then clamp to saturated value * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_8u_ISfs_Ctx(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDivC_8u_ISfs(Npp8u nValue, Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 8-bit unsigned char signal divided by constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_8u_Sfs_Ctx(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDivC_8u_Sfs(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short in place signal divided by constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_16u_ISfs_Ctx(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDivC_16u_ISfs(Npp16u nValue, Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal divided by constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_16u_Sfs_Ctx(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDivC_16u_Sfs(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal divided by constant, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_16s_ISfs_Ctx(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDivC_16s_ISfs(Npp16s nValue, Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal divided by constant, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDivC_16s_Sfs(const Npp16s * pSrc, Npp16s nValue, Npp16s * pDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary)signal divided by constant, * scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_16sc_ISfs_Ctx(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDivC_16sc_ISfs(Npp16sc nValue, Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit integer complex number (16 bit real, 16 bit imaginary) signal divided by constant, * scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_16sc_Sfs_Ctx(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDivC_16sc_Sfs(const Npp16sc * pSrc, Npp16sc nValue, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 32-bit floating point in place signal divided by constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_32f_I_Ctx(Npp32f nValue, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivC_32f_I(Npp32f nValue, Npp32f * pSrcDst, int nLength); /** * 32-bit floating point signal divided by constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_32f_Ctx(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivC_32f(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) in * place signal divided by constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_32fc_I_Ctx(Npp32fc nValue, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivC_32fc_I(Npp32fc nValue, Npp32fc * pSrcDst, int nLength); /** * 32-bit floating point complex number (32 bit real, 32 bit imaginary) signal * divided by constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_32fc_Ctx(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivC_32fc(const Npp32fc * pSrc, Npp32fc nValue, Npp32fc * pDst, int nLength); /** * 64-bit floating point in place signal divided by constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param nLength Length of the vectors, number of items. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_64f_I_Ctx(Npp64f nValue, Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivC_64f_I(Npp64f nValue, Npp64f * pSrcDst, int nLength); /** * 64-bit floating point signal divided by constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_64f_Ctx(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivC_64f(const Npp64f * pSrc, Npp64f nValue, Npp64f * pDst, int nLength); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) in * place signal divided by constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_64fc_I_Ctx(Npp64fc nValue, Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivC_64fc_I(Npp64fc nValue, Npp64fc * pSrcDst, int nLength); /** * 64-bit floating point complex number (64 bit real, 64 bit imaginary) signal * divided by constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided into each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivC_64fc_Ctx(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivC_64fc(const Npp64fc * pSrc, Npp64fc nValue, Npp64fc * pDst, int nLength); /** @} signal_divc */ /** * @defgroup signal_divcrev DivCRev * * Divides a constant by each sample of a signal. * * @{ * */ /** * 16-bit unsigned short in place constant divided by signal, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided by each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivCRev_16u_I_Ctx(Npp16u nValue, Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivCRev_16u_I(Npp16u nValue, Npp16u * pSrcDst, int nLength); /** * 16-bit unsigned short signal divided by constant, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivCRev_16u_Ctx(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivCRev_16u(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength); /** * 32-bit floating point in place constant divided by signal. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be divided by each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivCRev_32f_I_Ctx(Npp32f nValue, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivCRev_32f_I(Npp32f nValue, Npp32f * pSrcDst, int nLength); /** * 32-bit floating point constant divided by signal. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be divided by each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDivCRev_32f_Ctx(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDivCRev_32f(const Npp32f * pSrc, Npp32f nValue, Npp32f * pDst, int nLength); /** @} signal_divcrev */ /** * @defgroup signal_add Add * * Sample by sample addition of two signals. * * @{ * */ /** * 16-bit signed short signal add signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be added to signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16s_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16s(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength); /** * 16-bit unsigned short signal add signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be added to signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16u_Ctx(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16u(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength); /** * 32-bit unsigned int signal add signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be added to signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_32u_Ctx(const Npp32u * pSrc1, const Npp32u * pSrc2, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_32u(const Npp32u * pSrc1, const Npp32u * pSrc2, Npp32u * pDst, int nLength); /** * 32-bit floating point signal add signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be added to signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_32f_Ctx(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_32f(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength); /** * 64-bit floating point signal add signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be added to signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_64f_Ctx(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_64f(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength); /** * 32-bit complex floating point signal add signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be added to signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_32fc_Ctx(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_32fc(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength); /** * 64-bit complex floating point signal add signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be added to signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_64fc_Ctx(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_64fc(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength); /** * 8-bit unsigned char signal add signal with 16-bit unsigned result, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be added to signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_8u16u_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_8u16u(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp16u * pDst, int nLength); /** * 16-bit signed short signal add signal with 32-bit floating point result, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be added to signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16s32f_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16s32f(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32f * pDst, int nLength); /** * 8-bit unsigned char add signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be added to signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_8u_Sfs_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_8u_Sfs(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short add signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be added to signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16u_Sfs_Ctx(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16u_Sfs(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short add signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be added to signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16s_Sfs_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16s_Sfs(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer add signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be added to signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_32s_Sfs_Ctx(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_32s_Sfs(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor); /** * 64-bit signed integer add signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be added to signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_64s_Sfs_Ctx(const Npp64s * pSrc1, const Npp64s * pSrc2, Npp64s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_64s_Sfs(const Npp64s * pSrc1, const Npp64s * pSrc2, Npp64s * pDst, int nLength, int nScaleFactor); /** * 16-bit signed complex short add signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be added to signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16sc_Sfs_Ctx(const Npp16sc * pSrc1, const Npp16sc * pSrc2, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16sc_Sfs(const Npp16sc * pSrc1, const Npp16sc * pSrc2, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 32-bit signed complex integer add signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be added to signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_32sc_Sfs_Ctx(const Npp32sc * pSrc1, const Npp32sc * pSrc2, Npp32sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_32sc_Sfs(const Npp32sc * pSrc1, const Npp32sc * pSrc2, Npp32sc * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal add signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16s_I_Ctx(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16s_I(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength); /** * 32-bit floating point in place signal add signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_32f_I_Ctx(const Npp32f * pSrc, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_32f_I(const Npp32f * pSrc, Npp32f * pSrcDst, int nLength); /** * 64-bit floating point in place signal add signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_64f_I_Ctx(const Npp64f * pSrc, Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_64f_I(const Npp64f * pSrc, Npp64f * pSrcDst, int nLength); /** * 32-bit complex floating point in place signal add signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_32fc_I_Ctx(const Npp32fc * pSrc, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_32fc_I(const Npp32fc * pSrc, Npp32fc * pSrcDst, int nLength); /** * 64-bit complex floating point in place signal add signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_64fc_I_Ctx(const Npp64fc * pSrc, Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_64fc_I(const Npp64fc * pSrc, Npp64fc * pSrcDst, int nLength); /** * 16/32-bit signed short in place signal add signal with 32-bit signed integer results, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16s32s_I_Ctx(const Npp16s * pSrc, Npp32s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16s32s_I(const Npp16s * pSrc, Npp32s * pSrcDst, int nLength); /** * 8-bit unsigned char in place signal add signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_8u_ISfs_Ctx(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_8u_ISfs(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short in place signal add signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16u_ISfs_Ctx(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16u_ISfs(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal add signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16s_ISfs_Ctx(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16s_ISfs(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integer in place signal add signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_32s_ISfs_Ctx(const Npp32s * pSrc, Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_32s_ISfs(const Npp32s * pSrc, Npp32s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit complex signed short in place signal add signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_16sc_ISfs_Ctx(const Npp16sc * pSrc, Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_16sc_ISfs(const Npp16sc * pSrc, Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit complex signed integer in place signal add signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be added to signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAdd_32sc_ISfs_Ctx(const Npp32sc * pSrc, Npp32sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAdd_32sc_ISfs(const Npp32sc * pSrc, Npp32sc * pSrcDst, int nLength, int nScaleFactor); /** @} signal_add */ /** * @defgroup signal_addproduct AddProduct * * Adds sample by sample product of two signals to the destination signal. * * @{ * */ /** * 32-bit floating point signal add product of source signal times destination signal to destination signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. product of source1 and source2 signal elements to be added to destination elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddProduct_32f_Ctx(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddProduct_32f(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength); /** * 64-bit floating point signal add product of source signal times destination signal to destination signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. product of source1 and source2 signal elements to be added to destination elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddProduct_64f_Ctx(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddProduct_64f(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength); /** * 32-bit complex floating point signal add product of source signal times destination signal to destination signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. product of source1 and source2 signal elements to be added to destination elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddProduct_32fc_Ctx(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddProduct_32fc(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength); /** * 64-bit complex floating point signal add product of source signal times destination signal to destination signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. product of source1 and source2 signal elements to be added to destination elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddProduct_64fc_Ctx(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAddProduct_64fc(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength); /** * 16-bit signed short signal add product of source signal1 times source signal2 to destination signal, * with scaling, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. product of source1 and source2 signal elements to be added to destination elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddProduct_16s_Sfs_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddProduct_16s_Sfs(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed short signal add product of source signal1 times source signal2 to destination signal, * with scaling, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. product of source1 and source2 signal elements to be added to destination elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddProduct_32s_Sfs_Ctx(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddProduct_32s_Sfs(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal add product of source signal1 times source signal2 to 32-bit signed integer destination signal, * with scaling, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. product of source1 and source2 signal elements to be added to destination elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAddProduct_16s32s_Sfs_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsAddProduct_16s32s_Sfs(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor); /** @} signal_addproduct */ /** * @defgroup signal_mul Mul * * Sample by sample multiplication the samples of two signals. * * @{ * */ /** * 16-bit signed short signal times signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16s_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_16s(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength); /** * 32-bit floating point signal times signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32f_Ctx(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_32f(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength); /** * 64-bit floating point signal times signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_64f_Ctx(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_64f(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength); /** * 32-bit complex floating point signal times signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32fc_Ctx(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_32fc(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength); /** * 64-bit complex floating point signal times signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_64fc_Ctx(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_64fc(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength); /** * 8-bit unsigned char signal times signal with 16-bit unsigned result, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_8u16u_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_8u16u(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp16u * pDst, int nLength); /** * 16-bit signed short signal times signal with 32-bit floating point result, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16s32f_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_16s32f(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32f * pDst, int nLength); /** * 32-bit floating point signal times 32-bit complex floating point signal with complex 32-bit floating point result, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32f32fc_Ctx(const Npp32f * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_32f32fc(const Npp32f * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength); /** * 8-bit unsigned char signal times signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_8u_Sfs_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_8u_Sfs(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal time signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16u_Sfs_Ctx(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_16u_Sfs(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal times signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16s_Sfs_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_16s_Sfs(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal times signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32s_Sfs_Ctx(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_32s_Sfs(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor); /** * 16-bit signed complex short signal times signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16sc_Sfs_Ctx(const Npp16sc * pSrc1, const Npp16sc * pSrc2, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_16sc_Sfs(const Npp16sc * pSrc1, const Npp16sc * pSrc2, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 32-bit signed complex integer signal times signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32sc_Sfs_Ctx(const Npp32sc * pSrc1, const Npp32sc * pSrc2, Npp32sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_32sc_Sfs(const Npp32sc * pSrc1, const Npp32sc * pSrc2, Npp32sc * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal times 16-bit signed short signal, scale, then clamp to 16-bit signed saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16u16s_Sfs_Ctx(const Npp16u * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_16u16s_Sfs(const Npp16u * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal times signal, scale, then clamp to 32-bit signed saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16s32s_Sfs_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_16s32s_Sfs(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal times 32-bit complex signed integer signal, scale, then clamp to 32-bit complex integer saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32s32sc_Sfs_Ctx(const Npp32s * pSrc1, const Npp32sc * pSrc2, Npp32sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_32s32sc_Sfs(const Npp32s * pSrc1, const Npp32sc * pSrc2, Npp32sc * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal times signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal2 elements to be multiplied by signal1 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_Low_32s_Sfs_Ctx(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_Low_32s_Sfs(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal times signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16s_I_Ctx(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_16s_I(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength); /** * 32-bit floating point in place signal times signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32f_I_Ctx(const Npp32f * pSrc, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_32f_I(const Npp32f * pSrc, Npp32f * pSrcDst, int nLength); /** * 64-bit floating point in place signal times signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_64f_I_Ctx(const Npp64f * pSrc, Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_64f_I(const Npp64f * pSrc, Npp64f * pSrcDst, int nLength); /** * 32-bit complex floating point in place signal times signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32fc_I_Ctx(const Npp32fc * pSrc, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_32fc_I(const Npp32fc * pSrc, Npp32fc * pSrcDst, int nLength); /** * 64-bit complex floating point in place signal times signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_64fc_I_Ctx(const Npp64fc * pSrc, Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_64fc_I(const Npp64fc * pSrc, Npp64fc * pSrcDst, int nLength); /** * 32-bit complex floating point in place signal times 32-bit floating point signal, * then clamp to 32-bit complex floating point saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32f32fc_I_Ctx(const Npp32f * pSrc, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsMul_32f32fc_I(const Npp32f * pSrc, Npp32fc * pSrcDst, int nLength); /** * 8-bit unsigned char in place signal times signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_8u_ISfs_Ctx(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_8u_ISfs(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short in place signal times signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16u_ISfs_Ctx(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_16u_ISfs(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal times signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16s_ISfs_Ctx(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_16s_ISfs(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integer in place signal times signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32s_ISfs_Ctx(const Npp32s * pSrc, Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_32s_ISfs(const Npp32s * pSrc, Npp32s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit complex signed short in place signal times signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_16sc_ISfs_Ctx(const Npp16sc * pSrc, Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_16sc_ISfs(const Npp16sc * pSrc, Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit complex signed integer in place signal times signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32sc_ISfs_Ctx(const Npp32sc * pSrc, Npp32sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_32sc_ISfs(const Npp32sc * pSrc, Npp32sc * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit complex signed integer in place signal times 32-bit signed integer signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be multiplied by signal1 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsMul_32s32sc_ISfs_Ctx(const Npp32s * pSrc, Npp32sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsMul_32s32sc_ISfs(const Npp32s * pSrc, Npp32sc * pSrcDst, int nLength, int nScaleFactor); /** @} signal_mul */ /** * @defgroup signal_sub Sub * * Sample by sample subtraction of the samples of two signals. * * @{ * */ /** * 16-bit signed short signal subtract signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_16s_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_16s(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength); /** * 32-bit floating point signal subtract signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_32f_Ctx(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_32f(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength); /** * 64-bit floating point signal subtract signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_64f_Ctx(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_64f(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength); /** * 32-bit complex floating point signal subtract signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_32fc_Ctx(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_32fc(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength); /** * 64-bit complex floating point signal subtract signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_64fc_Ctx(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_64fc(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength); /** * 16-bit signed short signal subtract 16-bit signed short signal, * then clamp and convert to 32-bit floating point saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_16s32f_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_16s32f(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp32f * pDst, int nLength); /** * 8-bit unsigned char signal subtract signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 elements to be subtracted from signal2 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_8u_Sfs_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_8u_Sfs(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal subtract signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 elements to be subtracted from signal2 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_16u_Sfs_Ctx(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_16u_Sfs(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal subtract signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 elements to be subtracted from signal2 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_16s_Sfs_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_16s_Sfs(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal subtract signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 elements to be subtracted from signal2 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_32s_Sfs_Ctx(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_32s_Sfs(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor); /** * 16-bit signed complex short signal subtract signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 elements to be subtracted from signal2 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_16sc_Sfs_Ctx(const Npp16sc * pSrc1, const Npp16sc * pSrc2, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_16sc_Sfs(const Npp16sc * pSrc1, const Npp16sc * pSrc2, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 32-bit signed complex integer signal subtract signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 elements to be subtracted from signal2 elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_32sc_Sfs_Ctx(const Npp32sc * pSrc1, const Npp32sc * pSrc2, Npp32sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_32sc_Sfs(const Npp32sc * pSrc1, const Npp32sc * pSrc2, Npp32sc * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal subtract signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_16s_I_Ctx(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_16s_I(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength); /** * 32-bit floating point in place signal subtract signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_32f_I_Ctx(const Npp32f * pSrc, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_32f_I(const Npp32f * pSrc, Npp32f * pSrcDst, int nLength); /** * 64-bit floating point in place signal subtract signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_64f_I_Ctx(const Npp64f * pSrc, Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_64f_I(const Npp64f * pSrc, Npp64f * pSrcDst, int nLength); /** * 32-bit complex floating point in place signal subtract signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_32fc_I_Ctx(const Npp32fc * pSrc, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_32fc_I(const Npp32fc * pSrc, Npp32fc * pSrcDst, int nLength); /** * 64-bit complex floating point in place signal subtract signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_64fc_I_Ctx(const Npp64fc * pSrc, Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSub_64fc_I(const Npp64fc * pSrc, Npp64fc * pSrcDst, int nLength); /** * 8-bit unsigned char in place signal subtract signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_8u_ISfs_Ctx(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_8u_ISfs(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short in place signal subtract signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_16u_ISfs_Ctx(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_16u_ISfs(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal subtract signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_16s_ISfs_Ctx(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_16s_ISfs(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integer in place signal subtract signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_32s_ISfs_Ctx(const Npp32s * pSrc, Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_32s_ISfs(const Npp32s * pSrc, Npp32s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit complex signed short in place signal subtract signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_16sc_ISfs_Ctx(const Npp16sc * pSrc, Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_16sc_ISfs(const Npp16sc * pSrc, Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit complex signed integer in place signal subtract signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 elements to be subtracted from signal2 elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSub_32sc_ISfs_Ctx(const Npp32sc * pSrc, Npp32sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSub_32sc_ISfs(const Npp32sc * pSrc, Npp32sc * pSrcDst, int nLength, int nScaleFactor); /** @} signal_sub */ /** * @defgroup signal_div Div * * Sample by sample division of the samples of two signals. * * @{ * */ /** * 8-bit unsigned char signal divide signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_8u_Sfs_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_8u_Sfs(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal divide signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_16u_Sfs_Ctx(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_16u_Sfs(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal divide signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_16s_Sfs_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_16s_Sfs(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal divide signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_32s_Sfs_Ctx(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_32s_Sfs(const Npp32s * pSrc1, const Npp32s * pSrc2, Npp32s * pDst, int nLength, int nScaleFactor); /** * 16-bit signed complex short signal divide signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_16sc_Sfs_Ctx(const Npp16sc * pSrc1, const Npp16sc * pSrc2, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_16sc_Sfs(const Npp16sc * pSrc1, const Npp16sc * pSrc2, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal divided by 16-bit signed short signal, scale, then clamp to 16-bit signed short saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_32s16s_Sfs_Ctx(const Npp16s * pSrc1, const Npp32s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_32s16s_Sfs(const Npp16s * pSrc1, const Npp32s * pSrc2, Npp16s * pDst, int nLength, int nScaleFactor); /** * 32-bit floating point signal divide signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_32f_Ctx(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDiv_32f(const Npp32f * pSrc1, const Npp32f * pSrc2, Npp32f * pDst, int nLength); /** * 64-bit floating point signal divide signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_64f_Ctx(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDiv_64f(const Npp64f * pSrc1, const Npp64f * pSrc2, Npp64f * pDst, int nLength); /** * 32-bit complex floating point signal divide signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_32fc_Ctx(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDiv_32fc(const Npp32fc * pSrc1, const Npp32fc * pSrc2, Npp32fc * pDst, int nLength); /** * 64-bit complex floating point signal divide signal, * then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_64fc_Ctx(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDiv_64fc(const Npp64fc * pSrc1, const Npp64fc * pSrc2, Npp64fc * pDst, int nLength); /** * 8-bit unsigned char in place signal divide signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_8u_ISfs_Ctx(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_8u_ISfs(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short in place signal divide signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_16u_ISfs_Ctx(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_16u_ISfs(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short in place signal divide signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_16s_ISfs_Ctx(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_16s_ISfs(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit complex signed short in place signal divide signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_16sc_ISfs_Ctx(const Npp16sc * pSrc, Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_16sc_ISfs(const Npp16sc * pSrc, Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integer in place signal divide signal, with scaling, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_32s_ISfs_Ctx(const Npp32s * pSrc, Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_32s_ISfs(const Npp32s * pSrc, Npp32s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit floating point in place signal divide signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_32f_I_Ctx(const Npp32f * pSrc, Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDiv_32f_I(const Npp32f * pSrc, Npp32f * pSrcDst, int nLength); /** * 64-bit floating point in place signal divide signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_64f_I_Ctx(const Npp64f * pSrc, Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDiv_64f_I(const Npp64f * pSrc, Npp64f * pSrcDst, int nLength); /** * 32-bit complex floating point in place signal divide signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_32fc_I_Ctx(const Npp32fc * pSrc, Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDiv_32fc_I(const Npp32fc * pSrc, Npp32fc * pSrcDst, int nLength); /** * 64-bit complex floating point in place signal divide signal, * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_64fc_I_Ctx(const Npp64fc * pSrc, Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsDiv_64fc_I(const Npp64fc * pSrc, Npp64fc * pSrcDst, int nLength); /** @} signal_div */ /** * @defgroup signal_divround Div_Round * * Sample by sample division of the samples of two signals with rounding. * * @{ * */ /** * 8-bit unsigned char signal divide signal, scale, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nRndMode various rounding modes. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_Round_8u_Sfs_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, NppRoundMode nRndMode, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_Round_8u_Sfs(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, NppRoundMode nRndMode, int nScaleFactor); /** * 16-bit unsigned short signal divide signal, scale, round, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nRndMode various rounding modes. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_Round_16u_Sfs_Ctx(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, NppRoundMode nRndMode, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_Round_16u_Sfs(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, NppRoundMode nRndMode, int nScaleFactor); /** * 16-bit signed short signal divide signal, scale, round, then clamp to saturated value. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer, signal1 divisor elements to be divided into signal2 dividend elements. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nRndMode various rounding modes. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_Round_16s_Sfs_Ctx(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, NppRoundMode nRndMode, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_Round_16s_Sfs(const Npp16s * pSrc1, const Npp16s * pSrc2, Npp16s * pDst, int nLength, NppRoundMode nRndMode, int nScaleFactor); /** * 8-bit unsigned char in place signal divide signal, with scaling, rounding * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nRndMode various rounding modes. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_Round_8u_ISfs_Ctx(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, NppRoundMode nRndMode, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_Round_8u_ISfs(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, NppRoundMode nRndMode, int nScaleFactor); /** * 16-bit unsigned short in place signal divide signal, with scaling, rounding * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nRndMode various rounding modes. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_Round_16u_ISfs_Ctx(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, NppRoundMode nRndMode, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_Round_16u_ISfs(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, NppRoundMode nRndMode, int nScaleFactor); /** * 16-bit signed short in place signal divide signal, with scaling, rounding * then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal1 divisor elements to be divided into signal2 dividend elements * \param nLength \ref length_specification. * \param nRndMode various rounding modes. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsDiv_Round_16s_ISfs_Ctx(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, NppRoundMode nRndMode, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsDiv_Round_16s_ISfs(const Npp16s * pSrc, Npp16s * pSrcDst, int nLength, NppRoundMode nRndMode, int nScaleFactor); /** @} signal_divround */ /** * @defgroup signal_abs Abs * * Absolute value of each sample of a signal. * * @{ * */ /** * 16-bit signed short signal absolute value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAbs_16s_Ctx(const Npp16s * pSrc, Npp16s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAbs_16s(const Npp16s * pSrc, Npp16s * pDst, int nLength); /** * 32-bit signed integer signal absolute value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAbs_32s_Ctx(const Npp32s * pSrc, Npp32s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAbs_32s(const Npp32s * pSrc, Npp32s * pDst, int nLength); /** * 32-bit floating point signal absolute value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAbs_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAbs_32f(const Npp32f * pSrc, Npp32f * pDst, int nLength); /** * 64-bit floating point signal absolute value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAbs_64f_Ctx(const Npp64f * pSrc, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAbs_64f(const Npp64f * pSrc, Npp64f * pDst, int nLength); /** * 16-bit signed short signal absolute value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAbs_16s_I_Ctx(Npp16s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAbs_16s_I(Npp16s * pSrcDst, int nLength); /** * 32-bit signed integer signal absolute value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAbs_32s_I_Ctx(Npp32s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAbs_32s_I(Npp32s * pSrcDst, int nLength); /** * 32-bit floating point signal absolute value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAbs_32f_I_Ctx(Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAbs_32f_I(Npp32f * pSrcDst, int nLength); /** * 64-bit floating point signal absolute value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAbs_64f_I_Ctx(Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAbs_64f_I(Npp64f * pSrcDst, int nLength); /** @} signal_abs */ /** * @defgroup signal_square Sqr * * Squares each sample of a signal. * * @{ * */ /** * 32-bit floating point signal squared. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqr_32f(const Npp32f * pSrc, Npp32f * pDst, int nLength); /** * 64-bit floating point signal squared. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_64f_Ctx(const Npp64f * pSrc, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqr_64f(const Npp64f * pSrc, Npp64f * pDst, int nLength); /** * 32-bit complex floating point signal squared. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_32fc_Ctx(const Npp32fc * pSrc, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqr_32fc(const Npp32fc * pSrc, Npp32fc * pDst, int nLength); /** * 64-bit complex floating point signal squared. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_64fc_Ctx(const Npp64fc * pSrc, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqr_64fc(const Npp64fc * pSrc, Npp64fc * pDst, int nLength); /** * 32-bit floating point signal squared. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_32f_I_Ctx(Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqr_32f_I(Npp32f * pSrcDst, int nLength); /** * 64-bit floating point signal squared. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_64f_I_Ctx(Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqr_64f_I(Npp64f * pSrcDst, int nLength); /** * 32-bit complex floating point signal squared. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_32fc_I_Ctx(Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqr_32fc_I(Npp32fc * pSrcDst, int nLength); /** * 64-bit complex floating point signal squared. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_64fc_I_Ctx(Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqr_64fc_I(Npp64fc * pSrcDst, int nLength); /** * 8-bit unsigned char signal squared, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_8u_Sfs_Ctx(const Npp8u * pSrc, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqr_8u_Sfs(const Npp8u * pSrc, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal squared, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_16u_Sfs_Ctx(const Npp16u * pSrc, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqr_16u_Sfs(const Npp16u * pSrc, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal squared, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqr_16s_Sfs(const Npp16s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor); /** * 16-bit complex signed short signal squared, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_16sc_Sfs_Ctx(const Npp16sc * pSrc, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqr_16sc_Sfs(const Npp16sc * pSrc, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 8-bit unsigned char signal squared, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_8u_ISfs_Ctx(Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqr_8u_ISfs(Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal squared, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_16u_ISfs_Ctx(Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqr_16u_ISfs(Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal squared, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_16s_ISfs_Ctx(Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqr_16s_ISfs(Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit complex signed short signal squared, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqr_16sc_ISfs_Ctx(Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqr_16sc_ISfs(Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** @} signal_square */ /** * @defgroup signal_sqrt Sqrt * * Square root of each sample of a signal. * * @{ * */ /** * 32-bit floating point signal square root. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_32f(const Npp32f * pSrc, Npp32f * pDst, int nLength); /** * 64-bit floating point signal square root. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_64f_Ctx(const Npp64f * pSrc, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_64f(const Npp64f * pSrc, Npp64f * pDst, int nLength); /** * 32-bit complex floating point signal square root. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_32fc_Ctx(const Npp32fc * pSrc, Npp32fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_32fc(const Npp32fc * pSrc, Npp32fc * pDst, int nLength); /** * 64-bit complex floating point signal square root. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_64fc_Ctx(const Npp64fc * pSrc, Npp64fc * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_64fc(const Npp64fc * pSrc, Npp64fc * pDst, int nLength); /** * 32-bit floating point signal square root. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_32f_I_Ctx(Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_32f_I(Npp32f * pSrcDst, int nLength); /** * 64-bit floating point signal square root. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_64f_I_Ctx(Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_64f_I(Npp64f * pSrcDst, int nLength); /** * 32-bit complex floating point signal square root. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_32fc_I_Ctx(Npp32fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_32fc_I(Npp32fc * pSrcDst, int nLength); /** * 64-bit complex floating point signal square root. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_64fc_I_Ctx(Npp64fc * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_64fc_I(Npp64fc * pSrcDst, int nLength); /** * 8-bit unsigned char signal square root, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_8u_Sfs_Ctx(const Npp8u * pSrc, Npp8u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_8u_Sfs(const Npp8u * pSrc, Npp8u * pDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal square root, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_16u_Sfs_Ctx(const Npp16u * pSrc, Npp16u * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_16u_Sfs(const Npp16u * pSrc, Npp16u * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal square root, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_16s_Sfs(const Npp16s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor); /** * 16-bit complex signed short signal square root, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_16sc_Sfs_Ctx(const Npp16sc * pSrc, Npp16sc * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_16sc_Sfs(const Npp16sc * pSrc, Npp16sc * pDst, int nLength, int nScaleFactor); /** * 64-bit signed integer signal square root, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_64s_Sfs_Ctx(const Npp64s * pSrc, Npp64s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_64s_Sfs(const Npp64s * pSrc, Npp64s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal square root, scale, then clamp to 16-bit signed integer saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_32s16s_Sfs_Ctx(const Npp32s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_32s16s_Sfs(const Npp32s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor); /** * 64-bit signed integer signal square root, scale, then clamp to 16-bit signed integer saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_64s16s_Sfs_Ctx(const Npp64s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_64s16s_Sfs(const Npp64s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor); /** * 8-bit unsigned char signal square root, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_8u_ISfs_Ctx(Npp8u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_8u_ISfs(Npp8u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit unsigned short signal square root, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_16u_ISfs_Ctx(Npp16u * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_16u_ISfs(Npp16u * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal square root, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_16s_ISfs_Ctx(Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_16s_ISfs(Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 16-bit complex signed short signal square root, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_16sc_ISfs_Ctx(Npp16sc * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_16sc_ISfs(Npp16sc * pSrcDst, int nLength, int nScaleFactor); /** * 64-bit signed integer signal square root, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSqrt_64s_ISfs_Ctx(Npp64s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsSqrt_64s_ISfs(Npp64s * pSrcDst, int nLength, int nScaleFactor); /** @} signal_sqrt */ /** * @defgroup signal_cuberoot Cubrt * * Cube root of each sample of a signal. * * @{ * */ /** * 32-bit floating point signal cube root. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsCubrt_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsCubrt_32f(const Npp32f * pSrc, Npp32f * pDst, int nLength); /** * 32-bit signed integer signal cube root, scale, then clamp to 16-bit signed integer saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsCubrt_32s16s_Sfs_Ctx(const Npp32s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsCubrt_32s16s_Sfs(const Npp32s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor); /** @} signal_cuberoot */ /** * @defgroup signal_exp Exp * * E raised to the power of each sample of a signal. * * @{ * */ /** * 32-bit floating point signal exponent. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsExp_32f(const Npp32f * pSrc, Npp32f * pDst, int nLength); /** * 64-bit floating point signal exponent. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_64f_Ctx(const Npp64f * pSrc, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsExp_64f(const Npp64f * pSrc, Npp64f * pDst, int nLength); /** * 32-bit floating point signal exponent with 64-bit floating point result. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_32f64f_Ctx(const Npp32f * pSrc, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsExp_32f64f(const Npp32f * pSrc, Npp64f * pDst, int nLength); /** * 32-bit floating point signal exponent. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_32f_I_Ctx(Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsExp_32f_I(Npp32f * pSrcDst, int nLength); /** * 64-bit floating point signal exponent. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_64f_I_Ctx(Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsExp_64f_I(Npp64f * pSrcDst, int nLength); /** * 16-bit signed short signal exponent, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsExp_16s_Sfs(const Npp16s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal exponent, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_32s_Sfs_Ctx(const Npp32s * pSrc, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsExp_32s_Sfs(const Npp32s * pSrc, Npp32s * pDst, int nLength, int nScaleFactor); /** * 64-bit signed integer signal exponent, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_64s_Sfs_Ctx(const Npp64s * pSrc, Npp64s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsExp_64s_Sfs(const Npp64s * pSrc, Npp64s * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal exponent, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_16s_ISfs_Ctx(Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsExp_16s_ISfs(Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal exponent, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_32s_ISfs_Ctx(Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsExp_32s_ISfs(Npp32s * pSrcDst, int nLength, int nScaleFactor); /** * 64-bit signed integer signal exponent, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsExp_64s_ISfs_Ctx(Npp64s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsExp_64s_ISfs(Npp64s * pSrcDst, int nLength, int nScaleFactor); /** @} signal_exp */ /** * @defgroup signal_ln Ln * * Natural logarithm of each sample of a signal. * * @{ * */ /** * 32-bit floating point signal natural logarithm. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLn_32f(const Npp32f * pSrc, Npp32f * pDst, int nLength); /** * 64-bit floating point signal natural logarithm. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_64f_Ctx(const Npp64f * pSrc, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLn_64f(const Npp64f * pSrc, Npp64f * pDst, int nLength); /** * 64-bit floating point signal natural logarithm with 32-bit floating point result. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_64f32f_Ctx(const Npp64f * pSrc, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLn_64f32f(const Npp64f * pSrc, Npp32f * pDst, int nLength); /** * 32-bit floating point signal natural logarithm. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_32f_I_Ctx(Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLn_32f_I(Npp32f * pSrcDst, int nLength); /** * 64-bit floating point signal natural logarithm. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_64f_I_Ctx(Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLn_64f_I(Npp64f * pSrcDst, int nLength); /** * 16-bit signed short signal natural logarithm, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsLn_16s_Sfs(const Npp16s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal natural logarithm, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_32s_Sfs_Ctx(const Npp32s * pSrc, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsLn_32s_Sfs(const Npp32s * pSrc, Npp32s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal natural logarithm, scale, then clamp to 16-bit signed short saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_32s16s_Sfs_Ctx(const Npp32s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsLn_32s16s_Sfs(const Npp32s * pSrc, Npp16s * pDst, int nLength, int nScaleFactor); /** * 16-bit signed short signal natural logarithm, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_16s_ISfs_Ctx(Npp16s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsLn_16s_ISfs(Npp16s * pSrcDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal natural logarithm, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLn_32s_ISfs_Ctx(Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsLn_32s_ISfs(Npp32s * pSrcDst, int nLength, int nScaleFactor); /** @} signal_ln */ /** * @defgroup signal_10log10 10Log10 * * Ten times the decimal logarithm of each sample of a signal. * * @{ * */ /** * 32-bit signed integer signal 10 times base 10 logarithm, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus npps10Log10_32s_Sfs_Ctx(const Npp32s * pSrc, Npp32s * pDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus npps10Log10_32s_Sfs(const Npp32s * pSrc, Npp32s * pDst, int nLength, int nScaleFactor); /** * 32-bit signed integer signal 10 times base 10 logarithm, scale, then clamp to saturated value. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus npps10Log10_32s_ISfs_Ctx(Npp32s * pSrcDst, int nLength, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus npps10Log10_32s_ISfs(Npp32s * pSrcDst, int nLength, int nScaleFactor); /** @} signal_10log10 */ /** * @defgroup signal_sumln SumLn * * Sums up the natural logarithm of each sample of a signal. * * @{ * */ /** * Device scratch buffer size (in bytes) for 32f SumLn. * This primitive provides the correct buffer size for nppsSumLn_32f. * \param nLength \ref length_specification. * \param hpBufferSize Required buffer size. Important: hpBufferSize is a * host pointer. \ref general_scratch_buffer. * \param nppStreamCtx \ref application_managed_stream_context. * \return NPP_SUCCESS */ NppStatus nppsSumLnGetBufferSize_32f_Ctx(int nLength, int * hpBufferSize /* host pointer */, NppStreamContext nppStreamCtx); NppStatus nppsSumLnGetBufferSize_32f(int nLength, int * hpBufferSize /* host pointer */); /** * 32-bit floating point signal sum natural logarithm. * \param pSrc \ref source_signal_pointer. * \param nLength \ref length_specification. * \param pDst Pointer to the output result. * \param pDeviceBuffer Pointer to the required device memory allocation. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSumLn_32f_Ctx(const Npp32f * pSrc, int nLength, Npp32f * pDst, Npp8u * pDeviceBuffer, NppStreamContext nppStreamCtx); NppStatus nppsSumLn_32f(const Npp32f * pSrc, int nLength, Npp32f * pDst, Npp8u * pDeviceBuffer); /** * Device scratch buffer size (in bytes) for 64f SumLn. * This primitive provides the correct buffer size for nppsSumLn_64f. * \param nLength \ref length_specification. * \param hpBufferSize Required buffer size. Important: hpBufferSize is a * host pointer. \ref general_scratch_buffer. * \param nppStreamCtx \ref application_managed_stream_context. * \return NPP_SUCCESS */ NppStatus nppsSumLnGetBufferSize_64f_Ctx(int nLength, int * hpBufferSize /* host pointer */, NppStreamContext nppStreamCtx); NppStatus nppsSumLnGetBufferSize_64f(int nLength, int * hpBufferSize /* host pointer */); /** * 64-bit floating point signal sum natural logarithm. * \param pSrc \ref source_signal_pointer. * \param nLength \ref length_specification. * \param pDst Pointer to the output result. * \param pDeviceBuffer Pointer to the required device memory allocation. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSumLn_64f_Ctx(const Npp64f * pSrc, int nLength, Npp64f * pDst, Npp8u * pDeviceBuffer, NppStreamContext nppStreamCtx); NppStatus nppsSumLn_64f(const Npp64f * pSrc, int nLength, Npp64f * pDst, Npp8u * pDeviceBuffer); /** * Device scratch buffer size (in bytes) for 32f64f SumLn. * This primitive provides the correct buffer size for nppsSumLn_32f64f. * \param nLength \ref length_specification. * \param hpBufferSize Required buffer size. Important: hpBufferSize is a * host pointer. \ref general_scratch_buffer. * \param nppStreamCtx \ref application_managed_stream_context. * \return NPP_SUCCESS */ NppStatus nppsSumLnGetBufferSize_32f64f_Ctx(int nLength, int * hpBufferSize /* host pointer */, NppStreamContext nppStreamCtx); NppStatus nppsSumLnGetBufferSize_32f64f(int nLength, int * hpBufferSize /* host pointer */); /** * 32-bit flaoting point input, 64-bit floating point output signal sum natural logarithm. * \param pSrc \ref source_signal_pointer. * \param nLength \ref length_specification. * \param pDst Pointer to the output result. * \param pDeviceBuffer Pointer to the required device memory allocation. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSumLn_32f64f_Ctx(const Npp32f * pSrc, int nLength, Npp64f * pDst, Npp8u * pDeviceBuffer, NppStreamContext nppStreamCtx); NppStatus nppsSumLn_32f64f(const Npp32f * pSrc, int nLength, Npp64f * pDst, Npp8u * pDeviceBuffer); /** * Device scratch buffer size (in bytes) for 16s32f SumLn. * This primitive provides the correct buffer size for nppsSumLn_16s32f. * \param nLength \ref length_specification. * \param hpBufferSize Required buffer size. Important: hpBufferSize is a * host pointer. \ref general_scratch_buffer. * \param nppStreamCtx \ref application_managed_stream_context. * \return NPP_SUCCESS */ NppStatus nppsSumLnGetBufferSize_16s32f_Ctx(int nLength, int * hpBufferSize /* host pointer */, NppStreamContext nppStreamCtx); NppStatus nppsSumLnGetBufferSize_16s32f(int nLength, int * hpBufferSize /* host pointer */); /** * 16-bit signed short integer input, 32-bit floating point output signal sum natural logarithm. * \param pSrc \ref source_signal_pointer. * \param nLength \ref length_specification. * \param pDst Pointer to the output result. * \param pDeviceBuffer Pointer to the required device memory allocation. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsSumLn_16s32f_Ctx(const Npp16s * pSrc, int nLength, Npp32f * pDst, Npp8u * pDeviceBuffer, NppStreamContext nppStreamCtx); NppStatus nppsSumLn_16s32f(const Npp16s * pSrc, int nLength, Npp32f * pDst, Npp8u * pDeviceBuffer); /** @} signal_sumln */ /** * @defgroup signal_inversetan Arctan * * Inverse tangent of each sample of a signal. * * @{ * */ /** * 32-bit floating point signal inverse tangent. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsArctan_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsArctan_32f(const Npp32f * pSrc, Npp32f * pDst, int nLength); /** * 64-bit floating point signal inverse tangent. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsArctan_64f_Ctx(const Npp64f * pSrc, Npp64f * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsArctan_64f(const Npp64f * pSrc, Npp64f * pDst, int nLength); /** * 32-bit floating point signal inverse tangent. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsArctan_32f_I_Ctx(Npp32f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsArctan_32f_I(Npp32f * pSrcDst, int nLength); /** * 64-bit floating point signal inverse tangent. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsArctan_64f_I_Ctx(Npp64f * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsArctan_64f_I(Npp64f * pSrcDst, int nLength); /** @} signal_inversetan */ /** * @defgroup signal_normalize Normalize * * Normalize each sample of a real or complex signal using offset and division operations. * * @{ * */ /** * 32-bit floating point signal normalize. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param vSub value subtracted from each signal element before division * \param vDiv divisor of post-subtracted signal element dividend * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNormalize_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, int nLength, Npp32f vSub, Npp32f vDiv, NppStreamContext nppStreamCtx); NppStatus nppsNormalize_32f(const Npp32f * pSrc, Npp32f * pDst, int nLength, Npp32f vSub, Npp32f vDiv); /** * 32-bit complex floating point signal normalize. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param vSub value subtracted from each signal element before division * \param vDiv divisor of post-subtracted signal element dividend * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNormalize_32fc_Ctx(const Npp32fc * pSrc, Npp32fc * pDst, int nLength, Npp32fc vSub, Npp32f vDiv, NppStreamContext nppStreamCtx); NppStatus nppsNormalize_32fc(const Npp32fc * pSrc, Npp32fc * pDst, int nLength, Npp32fc vSub, Npp32f vDiv); /** * 64-bit floating point signal normalize. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param vSub value subtracted from each signal element before division * \param vDiv divisor of post-subtracted signal element dividend * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNormalize_64f_Ctx(const Npp64f * pSrc, Npp64f * pDst, int nLength, Npp64f vSub, Npp64f vDiv, NppStreamContext nppStreamCtx); NppStatus nppsNormalize_64f(const Npp64f * pSrc, Npp64f * pDst, int nLength, Npp64f vSub, Npp64f vDiv); /** * 64-bit complex floating point signal normalize. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param vSub value subtracted from each signal element before division * \param vDiv divisor of post-subtracted signal element dividend * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNormalize_64fc_Ctx(const Npp64fc * pSrc, Npp64fc * pDst, int nLength, Npp64fc vSub, Npp64f vDiv, NppStreamContext nppStreamCtx); NppStatus nppsNormalize_64fc(const Npp64fc * pSrc, Npp64fc * pDst, int nLength, Npp64fc vSub, Npp64f vDiv); /** * 16-bit signed short signal normalize, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param vSub value subtracted from each signal element before division * \param vDiv divisor of post-subtracted signal element dividend * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNormalize_16s_Sfs_Ctx(const Npp16s * pSrc, Npp16s * pDst, int nLength, Npp16s vSub, int vDiv, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsNormalize_16s_Sfs(const Npp16s * pSrc, Npp16s * pDst, int nLength, Npp16s vSub, int vDiv, int nScaleFactor); /** * 16-bit complex signed short signal normalize, scale, then clamp to saturated value. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param vSub value subtracted from each signal element before division * \param vDiv divisor of post-subtracted signal element dividend * \param nScaleFactor \ref integer_result_scaling. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNormalize_16sc_Sfs_Ctx(const Npp16sc * pSrc, Npp16sc * pDst, int nLength, Npp16sc vSub, int vDiv, int nScaleFactor, NppStreamContext nppStreamCtx); NppStatus nppsNormalize_16sc_Sfs(const Npp16sc * pSrc, Npp16sc * pDst, int nLength, Npp16sc vSub, int vDiv, int nScaleFactor); /** @} signal_normalize */ /** * @defgroup signal_cauchy Cauchy, CauchyD, and CauchyDD2 * * Determine Cauchy robust error function and its first and second derivatives for each sample of a signal. * * @{ * */ /** * 32-bit floating point signal Cauchy error calculation. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nParam constant used in Cauchy formula * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsCauchy_32f_I_Ctx(Npp32f * pSrcDst, int nLength, Npp32f nParam, NppStreamContext nppStreamCtx); NppStatus nppsCauchy_32f_I(Npp32f * pSrcDst, int nLength, Npp32f nParam); /** * 32-bit floating point signal Cauchy first derivative. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nParam constant used in Cauchy formula * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsCauchyD_32f_I_Ctx(Npp32f * pSrcDst, int nLength, Npp32f nParam, NppStreamContext nppStreamCtx); NppStatus nppsCauchyD_32f_I(Npp32f * pSrcDst, int nLength, Npp32f nParam); /** * 32-bit floating point signal Cauchy first and second derivatives. * \param pSrcDst \ref in_place_signal_pointer. * \param pD2FVal \ref source_signal_pointer. This signal contains the second derivative * of the source signal. * \param nLength \ref length_specification. * \param nParam constant used in Cauchy formula * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsCauchyDD2_32f_I_Ctx(Npp32f * pSrcDst, Npp32f * pD2FVal, int nLength, Npp32f nParam, NppStreamContext nppStreamCtx); NppStatus nppsCauchyDD2_32f_I(Npp32f * pSrcDst, Npp32f * pD2FVal, int nLength, Npp32f nParam); /** @} signal_cauchy */ /** @} signal_arithmetic_operations */ /** * @defgroup signal_logical_and_shift_operations Logical And Shift Operations * The set of logical and shift operations for signal processing available in the library. * @{ * */ /** * @defgroup signal_andc AndC * * Bitwise AND of a constant and each sample of a signal. * * @{ * */ /** * 8-bit unsigned char signal and with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be anded with each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAndC_8u_Ctx(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAndC_8u(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength); /** * 16-bit unsigned short signal and with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be anded with each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAndC_16u_Ctx(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAndC_16u(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength); /** * 32-bit unsigned integer signal and with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be anded with each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAndC_32u_Ctx(const Npp32u * pSrc, Npp32u nValue, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAndC_32u(const Npp32u * pSrc, Npp32u nValue, Npp32u * pDst, int nLength); /** * 8-bit unsigned char in place signal and with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be anded with each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAndC_8u_I_Ctx(Npp8u nValue, Npp8u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAndC_8u_I(Npp8u nValue, Npp8u * pSrcDst, int nLength); /** * 16-bit unsigned short in place signal and with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be anded with each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAndC_16u_I_Ctx(Npp16u nValue, Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAndC_16u_I(Npp16u nValue, Npp16u * pSrcDst, int nLength); /** * 32-bit unsigned signed integer in place signal and with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be anded with each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAndC_32u_I_Ctx(Npp32u nValue, Npp32u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAndC_32u_I(Npp32u nValue, Npp32u * pSrcDst, int nLength); /** @} signal_andc */ /** * @defgroup signal_and And * * Sample by sample bitwise AND of samples from two signals. * * @{ * */ /** * 8-bit unsigned char signal and with signal. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be anded with signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAnd_8u_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAnd_8u(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength); /** * 16-bit unsigned short signal and with signal. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be anded with signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAnd_16u_Ctx(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAnd_16u(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength); /** * 32-bit unsigned integer signal and with signal. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be anded with signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAnd_32u_Ctx(const Npp32u * pSrc1, const Npp32u * pSrc2, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAnd_32u(const Npp32u * pSrc1, const Npp32u * pSrc2, Npp32u * pDst, int nLength); /** * 8-bit unsigned char in place signal and with signal. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be anded with signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAnd_8u_I_Ctx(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAnd_8u_I(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength); /** * 16-bit unsigned short in place signal and with signal. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be anded with signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAnd_16u_I_Ctx(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAnd_16u_I(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength); /** * 32-bit unsigned integer in place signal and with signal. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be anded with signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsAnd_32u_I_Ctx(const Npp32u * pSrc, Npp32u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsAnd_32u_I(const Npp32u * pSrc, Npp32u * pSrcDst, int nLength); /** @} signal_and */ /** * @defgroup signal_orc OrC * * Bitwise OR of a constant and each sample of a signal. * * @{ * */ /** * 8-bit unsigned char signal or with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be ored with each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOrC_8u_Ctx(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOrC_8u(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength); /** * 16-bit unsigned short signal or with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be ored with each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOrC_16u_Ctx(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOrC_16u(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength); /** * 32-bit unsigned integer signal or with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be ored with each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOrC_32u_Ctx(const Npp32u * pSrc, Npp32u nValue, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOrC_32u(const Npp32u * pSrc, Npp32u nValue, Npp32u * pDst, int nLength); /** * 8-bit unsigned char in place signal or with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be ored with each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOrC_8u_I_Ctx(Npp8u nValue, Npp8u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOrC_8u_I(Npp8u nValue, Npp8u * pSrcDst, int nLength); /** * 16-bit unsigned short in place signal or with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be ored with each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOrC_16u_I_Ctx(Npp16u nValue, Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOrC_16u_I(Npp16u nValue, Npp16u * pSrcDst, int nLength); /** * 32-bit unsigned signed integer in place signal or with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be ored with each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOrC_32u_I_Ctx(Npp32u nValue, Npp32u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOrC_32u_I(Npp32u nValue, Npp32u * pSrcDst, int nLength); /** @} signal_orc */ /** * @defgroup signal_or Or * * Sample by sample bitwise OR of the samples from two signals. * * @{ * */ /** * 8-bit unsigned char signal or with signal. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be ored with signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOr_8u_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOr_8u(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength); /** * 16-bit unsigned short signal or with signal. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be ored with signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOr_16u_Ctx(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOr_16u(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength); /** * 32-bit unsigned integer signal or with signal. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be ored with signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOr_32u_Ctx(const Npp32u * pSrc1, const Npp32u * pSrc2, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOr_32u(const Npp32u * pSrc1, const Npp32u * pSrc2, Npp32u * pDst, int nLength); /** * 8-bit unsigned char in place signal or with signal. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be ored with signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOr_8u_I_Ctx(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOr_8u_I(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength); /** * 16-bit unsigned short in place signal or with signal. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be ored with signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOr_16u_I_Ctx(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOr_16u_I(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength); /** * 32-bit unsigned integer in place signal or with signal. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be ored with signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsOr_32u_I_Ctx(const Npp32u * pSrc, Npp32u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsOr_32u_I(const Npp32u * pSrc, Npp32u * pSrcDst, int nLength); /** @} signal_or */ /** * @defgroup signal_xorc XorC * * Bitwise XOR of a constant and each sample of a signal. * * @{ * */ /** * 8-bit unsigned char signal exclusive or with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be exclusive ored with each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXorC_8u_Ctx(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXorC_8u(const Npp8u * pSrc, Npp8u nValue, Npp8u * pDst, int nLength); /** * 16-bit unsigned short signal exclusive or with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be exclusive ored with each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXorC_16u_Ctx(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXorC_16u(const Npp16u * pSrc, Npp16u nValue, Npp16u * pDst, int nLength); /** * 32-bit unsigned integer signal exclusive or with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be exclusive ored with each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXorC_32u_Ctx(const Npp32u * pSrc, Npp32u nValue, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXorC_32u(const Npp32u * pSrc, Npp32u nValue, Npp32u * pDst, int nLength); /** * 8-bit unsigned char in place signal exclusive or with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be exclusive ored with each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXorC_8u_I_Ctx(Npp8u nValue, Npp8u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXorC_8u_I(Npp8u nValue, Npp8u * pSrcDst, int nLength); /** * 16-bit unsigned short in place signal exclusive or with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be exclusive ored with each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXorC_16u_I_Ctx(Npp16u nValue, Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXorC_16u_I(Npp16u nValue, Npp16u * pSrcDst, int nLength); /** * 32-bit unsigned signed integer in place signal exclusive or with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be exclusive ored with each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXorC_32u_I_Ctx(Npp32u nValue, Npp32u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXorC_32u_I(Npp32u nValue, Npp32u * pSrcDst, int nLength); /** @} signal_xorc */ /** * @defgroup signal_xor Xor * * Sample by sample bitwise XOR of the samples from two signals. * * @{ * */ /** * 8-bit unsigned char signal exclusive or with signal. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be exclusive ored with signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXor_8u_Ctx(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXor_8u(const Npp8u * pSrc1, const Npp8u * pSrc2, Npp8u * pDst, int nLength); /** * 16-bit unsigned short signal exclusive or with signal. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be exclusive ored with signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXor_16u_Ctx(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXor_16u(const Npp16u * pSrc1, const Npp16u * pSrc2, Npp16u * pDst, int nLength); /** * 32-bit unsigned integer signal exclusive or with signal. * \param pSrc1 \ref source_signal_pointer. * \param pSrc2 \ref source_signal_pointer. signal2 elements to be exclusive ored with signal1 elements * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXor_32u_Ctx(const Npp32u * pSrc1, const Npp32u * pSrc2, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXor_32u(const Npp32u * pSrc1, const Npp32u * pSrc2, Npp32u * pDst, int nLength); /** * 8-bit unsigned char in place signal exclusive or with signal. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be exclusive ored with signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXor_8u_I_Ctx(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXor_8u_I(const Npp8u * pSrc, Npp8u * pSrcDst, int nLength); /** * 16-bit unsigned short in place signal exclusive or with signal. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be exclusive ored with signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXor_16u_I_Ctx(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXor_16u_I(const Npp16u * pSrc, Npp16u * pSrcDst, int nLength); /** * 32-bit unsigned integer in place signal exclusive or with signal. * \param pSrc \ref source_signal_pointer. * \param pSrcDst \ref in_place_signal_pointer. signal2 elements to be exclusive ored with signal1 elements * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsXor_32u_I_Ctx(const Npp32u * pSrc, Npp32u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsXor_32u_I(const Npp32u * pSrc, Npp32u * pSrcDst, int nLength); /** @} signal_xor */ /** * @defgroup signal_not Not * * Bitwise NOT of each sample of a signal. * * @{ * */ /** * 8-bit unsigned char not signal. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNot_8u_Ctx(const Npp8u * pSrc, Npp8u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsNot_8u(const Npp8u * pSrc, Npp8u * pDst, int nLength); /** * 16-bit unsigned short not signal. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNot_16u_Ctx(const Npp16u * pSrc, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsNot_16u(const Npp16u * pSrc, Npp16u * pDst, int nLength); /** * 32-bit unsigned integer not signal. * \param pSrc \ref source_signal_pointer. * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNot_32u_Ctx(const Npp32u * pSrc, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsNot_32u(const Npp32u * pSrc, Npp32u * pDst, int nLength); /** * 8-bit unsigned char in place not signal. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNot_8u_I_Ctx(Npp8u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsNot_8u_I(Npp8u * pSrcDst, int nLength); /** * 16-bit unsigned short in place not signal. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNot_16u_I_Ctx(Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsNot_16u_I(Npp16u * pSrcDst, int nLength); /** * 32-bit unsigned signed integer in place not signal. * \param pSrcDst \ref in_place_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsNot_32u_I_Ctx(Npp32u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsNot_32u_I(Npp32u * pSrcDst, int nLength); /** @} signal_not */ /** * @defgroup signal_lshiftc LShiftC * * Left shifts the bits of each sample of a signal by a constant amount. * * @{ * */ /** * 8-bit unsigned char signal left shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_8u_Ctx(const Npp8u * pSrc, int nValue, Npp8u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_8u(const Npp8u * pSrc, int nValue, Npp8u * pDst, int nLength); /** * 16-bit unsigned short signal left shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_16u_Ctx(const Npp16u * pSrc, int nValue, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_16u(const Npp16u * pSrc, int nValue, Npp16u * pDst, int nLength); /** * 16-bit signed short signal left shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_16s_Ctx(const Npp16s * pSrc, int nValue, Npp16s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_16s(const Npp16s * pSrc, int nValue, Npp16s * pDst, int nLength); /** * 32-bit unsigned integer signal left shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_32u_Ctx(const Npp32u * pSrc, int nValue, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_32u(const Npp32u * pSrc, int nValue, Npp32u * pDst, int nLength); /** * 32-bit signed integer signal left shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_32s_Ctx(const Npp32s * pSrc, int nValue, Npp32s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_32s(const Npp32s * pSrc, int nValue, Npp32s * pDst, int nLength); /** * 8-bit unsigned char in place signal left shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_8u_I_Ctx(int nValue, Npp8u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_8u_I(int nValue, Npp8u * pSrcDst, int nLength); /** * 16-bit unsigned short in place signal left shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_16u_I_Ctx(int nValue, Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_16u_I(int nValue, Npp16u * pSrcDst, int nLength); /** * 16-bit signed short in place signal left shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_16s_I_Ctx(int nValue, Npp16s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_16s_I(int nValue, Npp16s * pSrcDst, int nLength); /** * 32-bit unsigned signed integer in place signal left shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_32u_I_Ctx(int nValue, Npp32u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_32u_I(int nValue, Npp32u * pSrcDst, int nLength); /** * 32-bit signed signed integer in place signal left shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to left shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsLShiftC_32s_I_Ctx(int nValue, Npp32s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsLShiftC_32s_I(int nValue, Npp32s * pSrcDst, int nLength); /** @} signal_lshiftc */ /** * @defgroup signal_rshiftc RShiftC * * Right shifts the bits of each sample of a signal by a constant amount. * * @{ * */ /** * 8-bit unsigned char signal right shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_8u_Ctx(const Npp8u * pSrc, int nValue, Npp8u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_8u(const Npp8u * pSrc, int nValue, Npp8u * pDst, int nLength); /** * 16-bit unsigned short signal right shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_16u_Ctx(const Npp16u * pSrc, int nValue, Npp16u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_16u(const Npp16u * pSrc, int nValue, Npp16u * pDst, int nLength); /** * 16-bit signed short signal right shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_16s_Ctx(const Npp16s * pSrc, int nValue, Npp16s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_16s(const Npp16s * pSrc, int nValue, Npp16s * pDst, int nLength); /** * 32-bit unsigned integer signal right shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_32u_Ctx(const Npp32u * pSrc, int nValue, Npp32u * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_32u(const Npp32u * pSrc, int nValue, Npp32u * pDst, int nLength); /** * 32-bit signed integer signal right shift with constant. * \param pSrc \ref source_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param pDst \ref destination_signal_pointer. * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_32s_Ctx(const Npp32s * pSrc, int nValue, Npp32s * pDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_32s(const Npp32s * pSrc, int nValue, Npp32s * pDst, int nLength); /** * 8-bit unsigned char in place signal right shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_8u_I_Ctx(int nValue, Npp8u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_8u_I(int nValue, Npp8u * pSrcDst, int nLength); /** * 16-bit unsigned short in place signal right shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_16u_I_Ctx(int nValue, Npp16u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_16u_I(int nValue, Npp16u * pSrcDst, int nLength); /** * 16-bit signed short in place signal right shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_16s_I_Ctx(int nValue, Npp16s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_16s_I(int nValue, Npp16s * pSrcDst, int nLength); /** * 32-bit unsigned signed integer in place signal right shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_32u_I_Ctx(int nValue, Npp32u * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_32u_I(int nValue, Npp32u * pSrcDst, int nLength); /** * 32-bit signed signed integer in place signal right shift with constant. * \param pSrcDst \ref in_place_signal_pointer. * \param nValue Constant value to be used to right shift each vector element * \param nLength \ref length_specification. * \param nppStreamCtx \ref application_managed_stream_context. * \return \ref signal_data_error_codes, \ref length_error_codes. */ NppStatus nppsRShiftC_32s_I_Ctx(int nValue, Npp32s * pSrcDst, int nLength, NppStreamContext nppStreamCtx); NppStatus nppsRShiftC_32s_I(int nValue, Npp32s * pSrcDst, int nLength); /** @} signal_rshiftc */ /** @} signal_logical_and_shift_operations */ /** @} signal_arithmetic_and_logical_operations */ #ifdef __cplusplus } /* extern "C" */ #endif #endif /* NV_NPPS_ARITHMETIC_AND_LOGICAL_OPERATIONS_H */