PAL 1D Arrays: Double-precision Operations

Initialization, copying, arithmetic, extrema, and logarithmic operations for one-dimensional Double arrays.

PAL 1D Arrays: Double-Precision Operations — 23 functions

KiratPal1DDoubleLog10

Signature
T_INT KiratPal1DDoubleLog10(T_DOUBLE* pdSource, T_INT iSize);
Description
Calculates the element-wise base-10 logarithm; Mult variants scale the result.
Mathematical operation
\(y_i=\log_{10}(x_i+\varepsilon_{\mathrm{SYS}})\) for the safe PAL log variant.
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPal1DDoubleLog10MultDouble

Signature
T_INT KiratPal1DDoubleLog10MultDouble(T_DOUBLE* pdDestination, T_DOUBLE dScalar, T_INT iSize);
Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination.
Mathematical operation
ANSI-C path: \(d_i\leftarrow c\,\log_{10}(d_i+\varepsilon_{\mathrm{SYS}})\); the IPP path applies its direct `log10` primitive before scaling.
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPal1DDoubleLog10MultDoubleToDest

Signature
T_INT KiratPal1DDoubleLog10MultDoubleToDest( const T_DOUBLE* pdSource, T_DOUBLE* pdDestination, T_DOUBLE dScalar, T_INT iSize);
Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination.
Mathematical operation
ANSI-C path: \(d_i=c\,\log_{10}(x_i+\varepsilon_{\mathrm{SYS}})\); the IPP path applies its direct `log10` primitive before scaling.
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPal1DDoubleLog10ToDest

Signature
T_INT KiratPal1DDoubleLog10ToDest(const T_DOUBLE* pdSource, T_DOUBLE* pdDestination, T_INT iSize);
Description
Calculates the element-wise base-10 logarithm; Mult variants scale the result.
Mathematical operation
\(y_i=\log_{10}(x_i+\varepsilon_{\mathrm{SYS}})\) for the safe PAL log variant.
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPal1DFloatConvertTo1DDoubleToDest

Signature
T_INT KiratPal1DFloatConvertTo1DDoubleToDest( const T_FLOAT* pfSource, T_DOUBLE* pdDestination, T_INT iSize);
Description
Converts elements between the numeric data types specified in the function name.
Mathematical operation
\(y_{\mathbf i}=\operatorname{cast}(x_{\mathbf i})\) element-wise.
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalAdd1DDoubleTo1DDouble

Signature
T_INT KiratPalAdd1DDoubleTo1DDouble( const T_DOUBLE* pdSource, T_DOUBLE* pdDestination, T_INT iSize);
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_i\leftarrow d_i+s_i\) (or \(+c\) for a scalar source).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support
  • Analog Devices SHARC DSP — Analog Devices SHARC-specific implementation
  • ARM — ARM NE10 optimized implementation
  • TI C66x DSP — TI DSP-Lib optimized implementation

KiratPalAdd1DDoubleTo1DFloat

Signature
T_INT KiratPalAdd1DDoubleTo1DFloat(const T_DOUBLE* pdSource, T_FLOAT* pfDestination, T_INT iSize);
Description
Adds scalar, vector, or array values element-wise; ToDest writes to a separate destination, while Acc accumulates into an existing destination.
Mathematical operation
\(y_{\mathbf i}=\operatorname{cast}(x_{\mathbf i})\) element-wise.
Supported implementations
  • ANSI C - portable reference implementation

KiratPalAdd1DFloatTo1DDouble

Signature
T_INT KiratPalAdd1DFloatTo1DDouble(const T_FLOAT* pfSource, T_DOUBLE* pdDestination, T_INT iSize);
Description
Adds scalar, vector, or array values element-wise; ToDest writes to a separate destination, while Acc accumulates into an existing destination.
Mathematical operation
\(y_{\mathbf i}=\operatorname{cast}(x_{\mathbf i})\) element-wise.
Supported implementations
  • ANSI C - portable reference implementation

KiratPalAddDoubleTo1DDouble

Signature
T_INT KiratPalAddDoubleTo1DDouble(T_DOUBLE dValue, T_DOUBLE* pdDestination, T_INT iSize);
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_i\leftarrow d_i+c\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalAddDoubleTo1DDoubleToDest

Signature
T_INT KiratPalAddDoubleTo1DDoubleToDest( T_DOUBLE dValue, const T_DOUBLE* pdSource, T_DOUBLE* pdDestination, T_INT iSize);
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_i\leftarrow d_i+c\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalCopy1DDouble

Signature
T_INT KiratPalCopy1DDouble(const T_DOUBLE* pdSource, T_DOUBLE* pdDestination, T_INT iSize);
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
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support
  • ARM — processor-specific ARM branch

KiratPalCopy1DDoubleTo1DFloat

Signature
T_INT KiratPalCopy1DDoubleTo1DFloat(const T_DOUBLE* pdSource, T_FLOAT* pfDestination, T_INT iSize);
Description
Copies the specified data or subrange to the destination.
Mathematical operation
\(y_{\mathbf i}=\operatorname{cast}(x_{\mathbf i})\) element-wise.
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalCopy1DFloatTo1DDouble

Signature
T_INT KiratPalCopy1DFloatTo1DDouble(const T_FLOAT* pfSource, T_DOUBLE* pdDestination, T_INT iSize);
Description
Copies the specified data or subrange to the destination.
Mathematical operation
\(y_{\mathbf i}=\operatorname{cast}(x_{\mathbf i})\) element-wise.
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalGetMax1DDouble

Signature
T_DOUBLE KiratPalGetMax1DDouble(const T_DOUBLE* pdVector, T_INT iSize);
Description
Returns the largest value in the array.
Mathematical operation
\(y=\max_{\mathbf i}x_{\mathbf i}\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalGetMin1DDouble

Signature
T_DOUBLE KiratPalGetMin1DDouble(const T_DOUBLE* pdVector, T_INT iSize);
Description
Returns the smallest value in the array.
Mathematical operation
\(y=\min_{\mathbf i}x_{\mathbf i}\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalMove1DDouble

Signature
T_INT KiratPalMove1DDouble(const T_DOUBLE* pdSource, T_DOUBLE* pdDestination, T_INT iSize);
Description
Moves/copies data safely even when source and destination memory regions overlap.
Mathematical operation
\(D_{\mathbf i}\leftarrow S_{\mathbf i}\) element-wise (with type conversion where indicated by the function name).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalMult1DDoubleWith1DDouble

Signature
T_INT KiratPalMult1DDoubleWith1DDouble( const T_DOUBLE* pdSource, T_DOUBLE* pdDestination, T_INT iSize);
Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination.
Mathematical operation
\(d_i\leftarrow d_is_i\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalMult1DDoubleWithDouble

Signature
T_INT KiratPalMult1DDoubleWithDouble(T_DOUBLE* pdDestination, T_DOUBLE dValue, T_INT iSize);
Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination.
Mathematical operation
\(d_i\leftarrow c\,d_i\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalMult1DDoubleWithDoubleToDest

Signature
T_INT KiratPalMult1DDoubleWithDoubleToDest( const T_DOUBLE* pdSource, T_DOUBLE* pdDestination, T_DOUBLE dValue, T_INT iSize);
Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination.
Mathematical operation
\(d_i=c\,s_i\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalMult1DDoubleWithFloat

Signature
T_INT KiratPalMult1DDoubleWithFloat(T_DOUBLE* pdDestination, T_FLOAT fValue, T_INT iSize);
Description
Multiplies scalar, vector, or array values element-wise; Acc variants add the product to the destination.
Mathematical operation
\(d_i\leftarrow c\,d_i\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalSet1DDoubleToValue

Signature
T_INT KiratPalSet1DDoubleToValue(T_DOUBLE* pdDestination, T_DOUBLE dValue, T_INT iSize);
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
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalSet1DDoubleToZero

Signature
T_INT KiratPalSet1DDoubleToZero(T_DOUBLE* pdDestination, T_INT iSize);
Description
Sets all elements of the array to zero.
Mathematical operation
\(d_{\mathbf i}\leftarrow0\) for every array index \(\mathbf i\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support

KiratPalSubtract1DDoubleFrom1DDouble

Signature
T_INT KiratPalSubtract1DDoubleFrom1DDouble( const T_DOUBLE* pfSource, T_DOUBLE* pfDestination, T_INT iSize);
Description
Subtracts scalar, vector, or array values element-wise; “A from B” means B−A mathematically.
Mathematical operation
\(d_i\leftarrow d_i-x_i\).
Supported implementations
  • ANSI C - portable reference implementation
  • Intel/AMD processors - Intel IPP library support