# DST

Advanced Analysis Library Only

AnalysisLibErrType DST (double inputArray[], int numberOfElements, int numberOfElementsInDST, double outputArray[]);

## Purpose

Computes the one-dimensional Discrete Sine Transform (DST) of a sequence inputArray, which is defined as follows:

and

where | N is the length of inputArray
| is the n-th element of inputArray
| is the k-th element of outputArray

The function applies the fast DST algorithm instead of calculating the DST directly. The fast DST algorithm is implemented using the Fast Fourier Transform (FFT) technique.

## Parameters

Input
Name | Type | Description
inputArray | double-precision array | The input sequence.
numberOfElements | integer | The number of elements in inputArray.
numberOfElementsInDST | integer | The length of the DST to be performed. If numberOfElementsInDST is greater than numberOfElements, the function pads inputArray with zeros to make its number of elements equal numberOfElementsInDST. If numberOfElementsInDST is less than numberOfElements, inputArray is truncated. That is, only the leading numberOfElementsInDST elements in inputArray are used to perform the DST. If numberOfElementsInDST is less than or equal to zero, the function uses numberOfElements as numberOfElementsInDST.
Output
Name | Type | Description
outputArray | double-precision array | The DST of inputArray.

## Return Value

Name | Type | Description
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.