PAL 2D Arrays: Complex Operations
Initialization, copying, conjugation, arithmetic, norms, magnitude measures, submatrices, concatenation, and ring-buffer operations for two-dimensional complex arrays.
|
|
|---|---|
KiratPal2DComplexAbsSquaredTo2DFloatSignature
T_INT KiratPal2DComplexAbsSquaredTo2DFloat( const T_COMPLEX** ppcSource, T_FLOAT** ppfDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Calculates element-wise squares or complex squared magnitudes. Mathematical operation
\(y_{ij}=(\Re z_{ij})^2+(\Im z_{ij})^2=|z_{ij}|^2\). Supported implementations
|
|
KiratPal2DComplexAbsSumUpTo1DFloatSignature
void KiratPal2DComplexAbsSumUpTo1DFloat( T_COMPLEX** ppcSource, T_FLOAT* pfDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Sums array elements; variants sum values, magnitudes, powers, or Boolean true values. Mathematical operation
\(y_j=\sum_{i=0}^{N_1-1}|z_{ij}|\) (sum of magnitudes along the first matrix dimension). Supported implementations
|
|
KiratPalAbsUsingFabs2DComplexToDestSignature
void KiratPalAbsUsingFabs2DComplexToDest( T_COMPLEX** ppcSource, T_FLOAT** ppfDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Calculates the element-wise absolute value/magnitude. Mathematical operation
\(y_{ij}=|\Re z_{ij}|+|\Im z_{ij}|\). Supported implementations
|
|
KiratPalAdd2DComplexTo2DComplexSignature
void KiratPalAdd2DComplexTo2DComplex( T_COMPLEX** ppcSource, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Adds scalar, vector, or array values element-wise; ToDest writes to a separate destination, while Acc accumulates into an existing destination. Mathematical operation
\(d_{\mathbf i}\leftarrow d_{\mathbf i}+s_{\mathbf i}\) (or \(+c\) for a scalar source). Supported implementations
|
|
KiratPalAdd2DComplexTo2DComplexToDestSignature
void KiratPalAdd2DComplexTo2DComplexToDest( T_COMPLEX** ppcSource1, T_COMPLEX** ppcSource2, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Adds scalar, vector, or array values element-wise; ToDest writes to a separate destination, while Acc accumulates into an existing destination. Mathematical operation
\(d_{\mathbf i}=a_{\mathbf i}+b_{\mathbf i}\) (or source element plus scalar, according to the signature). Supported implementations
|
|
KiratPalConj2DComplexSignature
void KiratPalConj2DComplex(T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Calculates the element-wise complex conjugate. Mathematical operation
\(y_{\mathbf i}=z_{\mathbf i}^*\). Supported implementations
|
|
KiratPalCopy2DComplexSignature
void KiratPalCopy2DComplex( T_COMPLEX** ppcSource, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Copies the specified data or subrange to the destination. Mathematical operation
\(D_{\mathbf i}\leftarrow S_{\mathbf i}\) element-wise (with type conversion where indicated by the function name). Supported implementations
|
|
KiratPalCopy2DComplexFromRingBufferSignature
void KiratPalCopy2DComplexFromRingBuffer( T_COMPLEX** ppcSource, T_COMPLEX** ppcDestination, T_INT iNumChannels, T_INT iStartOffset, T_INT iSamples, T_INT iRingBufferLength);Description
Copies the specified data or subrange to the destination. Mathematical operation
Data are copied with circular indexing: the physical buffer index is taken modulo the ring-buffer length while the logical samples remain in sequential order. Supported implementations
|
|
KiratPalCopy2DComplexToRingBufferSignature
void KiratPalCopy2DComplexToRingBuffer( T_COMPLEX** ppcSource, T_COMPLEX** ppcDestination, T_INT iNumChannels, T_INT iStartOffset, T_INT iSamples, T_INT iRingBufferLength);Description
Copies the specified data or subrange to the destination. Mathematical operation
Data are copied with circular indexing: the physical buffer index is taken modulo the ring-buffer length while the logical samples remain in sequential order. Supported implementations
|
|
KiratPalCopySubset2DComplexSignature
void KiratPalCopySubset2DComplex( T_COMPLEX** ppcSource, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2, T_INT* piPoints);Description
Copies the specified data or subrange to the destination. Mathematical operation
\(D_{\mathbf i}=S_{\mathbf i+\mathbf o}\) on the requested subset/ROI, with offsets and extents given by the function arguments. Supported implementations
|
|
KiratPalDivide2DComplexWith2DComplexToDestSignature
void KiratPalDivide2DComplexWith2DComplexToDest( T_COMPLEX** ppcSource1, T_COMPLEX** ppcSource2, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Divides element-wise; some implementations add SYS_EPS or another small safeguard to avoid division by zero. Mathematical operation
ANSI-C path: \(D_{ij}=X^{(2)}_{ij}(X^{(1)}_{ij})^*/(|X^{(1)}_{ij}|^2+10^{-10})\). Supported implementations
|
|
KiratPalMult2DComplexWith2DComplexSignature
void KiratPalMult2DComplexWith2DComplex( T_COMPLEX** ppcSource, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination. Mathematical operation
\(d_{\mathbf i}\leftarrow d_{\mathbf i}s_{\mathbf i}\). Supported implementations
|
|
KiratPalMult2DComplexWith2DComplexToDestSignature
void KiratPalMult2DComplexWith2DComplexToDest( T_COMPLEX** ppcSource1, T_COMPLEX** ppcSource2, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination. Mathematical operation
\(d_{\mathbf i}=a_{\mathbf i}b_{\mathbf i}\). Supported implementations
|
|
KiratPalMult2DComplexWith2DFloatSignature
void KiratPalMult2DComplexWith2DFloat( T_FLOAT** ppfSource, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination. Mathematical operation
\(d_{\mathbf i}\leftarrow d_{\mathbf i}s_{\mathbf i}\). Supported implementations
|
|
KiratPalMult2DComplexWith2DFloatToDestSignature
void KiratPalMult2DComplexWith2DFloatToDest( T_FLOAT** ppfource1, T_COMPLEX** ppcSource2, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination. Mathematical operation
\(d_{\mathbf i}=a_{\mathbf i}b_{\mathbf i}\). Supported implementations
|
|
KiratPalMult2DComplexWithComplexSignature
void KiratPalMult2DComplexWithComplex( T_COMPLEX** ppcDestination, T_COMPLEX cValue, T_INT iSizeDim1, T_INT iSizeDim2);Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination. Mathematical operation
\(d_{\mathbf i}\leftarrow c\,d_{\mathbf i}\). Supported implementations
|
|
KiratPalMult2DComplexWithFloatSignature
void KiratPalMult2DComplexWithFloat( T_COMPLEX** ppcDestination, T_FLOAT fValue, T_INT iSizeDim1, T_INT iSizeDim2);Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination. Mathematical operation
\(d_{\mathbf i}\leftarrow c\,d_{\mathbf i}\). Supported implementations
|
|
KiratPalMult2DComplexWithFloatToDestSignature
void KiratPalMult2DComplexWithFloatToDest( T_COMPLEX** ppcSource, T_COMPLEX** ppcDestination, T_FLOAT fValue, T_INT iSizeDim1, T_INT iSizeDim2);Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination. Mathematical operation
\(d_{\mathbf i}=c\,s_{\mathbf i}\). Supported implementations
|
|
KiratPalMultAcc2DComplexWith2DComplexSignature
void KiratPalMultAcc2DComplexWith2DComplex( T_COMPLEX** ppcSource1, T_COMPLEX** ppcSource2, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination. Mathematical operation
\(d_{\mathbf i}\leftarrow d_{\mathbf i}+a_{\mathbf i}b_{\mathbf i}\) (subset variants only over the selected range). Supported implementations
|
|
KiratPalMultAcc2DComplexWith2DFloatToDestSignature
void KiratPalMultAcc2DComplexWith2DFloatToDest( T_FLOAT** ppfSource1, T_COMPLEX** ppcSource2, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination. Mathematical operation
\(d_{\mathbf i}\leftarrow d_{\mathbf i}+a_{\mathbf i}b_{\mathbf i}\) (subset variants only over the selected range). Supported implementations
|
|
KiratPalNormOf2DComplexSignature
void KiratPalNormOf2DComplex( T_COMPLEX** ppcSource, T_FLOAT* pfNorm, T_INT iSizeDim1, T_INT iSizeDim2);Description
Calculates complex matrix norms from squared magnitudes. Mathematical operation
\(n_j=\sqrt{\sum_{i=0}^{N_1-1}|z_{ij}|^2}\) for each column \(j\). Supported implementations
|
|
KiratPalSet2DComplexToFloatSignature
void KiratPalSet2DComplexToFloat( T_COMPLEX** ppcDestination, T_FLOAT fValue, T_INT iSizeDim1, T_INT iSizeDim2);Description
Sets real components/elements from Float values; complex imaginary components are handled according to the implementation. Mathematical operation
\(z_{\mathbf i}\leftarrow a+j0\). Supported implementations
|
|
KiratPalSet2DComplexToValueSignature
void KiratPalSet2DComplexToValue( T_COMPLEX** ppcDestination, T_FLOAT fReal, T_FLOAT fImag, T_INT iSizeDim1, T_INT iSizeDim2);Description
Sets all elements of the array to a constant value. Mathematical operation
\(d_{\mathbf i}\leftarrow c\) for every array index \(\mathbf i\). Supported implementations
|
|
KiratPalSet2DComplexToZeroSignature
void KiratPalSet2DComplexToZero(T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Sets all elements of the array to zero. Mathematical operation
\(d_{\mathbf i}\leftarrow0\) for every array index \(\mathbf i\). Supported implementations
|
|
KiratPalSet2DComplexToZeroOrFillWithLowPowerNoiseSignature
void KiratPalSet2DComplexToZeroOrFillWithLowPowerNoise( T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Sets the array to zero or, depending on the configuration, fills it with very low-level noise to avoid numerical corner cases. Mathematical operation
Current 1-D complex default path uses \(z_i=10^{-10}u_i+j10^{-10}v_i\) with \(u_i,v_i\approx\mathcal U[-1,1)\); higher-dimensional complex variants call this row-wise. (The 1-D local mode is currently set to noise.) Supported implementations
|
|
KiratPalSquaredNormOf2DComplexSignature
void KiratPalSquaredNormOf2DComplex( T_COMPLEX** ppcSource, T_FLOAT* pfNorm, T_INT iSizeDim1, T_INT iSizeDim2);Description
Calculates the sum of squared magnitudes or squared values. Mathematical operation
\(s_j=\sum_{i=0}^{N_1-1}|z_{ij}|^2\) for each column \(j\). Supported implementations
|
|
KiratPalSquaredNormOf2DComplexRowSignature
void KiratPalSquaredNormOf2DComplexRow( T_COMPLEX** ppcSource, T_FLOAT* pfNorm, T_INT iSizeDim1, T_INT iSizeDim2);Description
Calculates the sum of squared magnitudes or squared values. Mathematical operation
\(s_i=\sum_{j=0}^{N_2-1}|z_{ij}|^2\) for each row \(i\). Supported implementations
|
|
KiratPalSubtract2DComplexFrom2DComplexToDestSignature
void KiratPalSubtract2DComplexFrom2DComplexToDest( T_COMPLEX** ppcSource1, T_COMPLEX** ppcSource2, T_COMPLEX** ppcDestination, T_INT iSizeDim1, T_INT iSizeDim2);Description
Subtracts scalar, vector, or array values element-wise; “A from B” means B−A mathematically. Mathematical operation
\(D_{ij}=X^{(1)}_{ij}-X^{(2)}_{ij}\). Supported implementations
|