https://github.com/cobaltblueocean/Mercury.Language.Extensions
DoubleFFT_1D
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| .ctor | 1 | Creates new instance of DoubleFFT_1D. |
| ComplexForward | 2 | Computes 1D forward DFT of complex data leaving the result in a d Complex number is stored as two double values in sequence: the real and imaginary part, i.ed the size of the… |
| ComplexInverse | 2 | Computes 1D inverse DFT of complex data leaving the result in a d Complex number is stored as two double values in sequence: the real and imaginary part, i.ed the size of the… |
| RealForward | 2 | Computes 1D forward DFT of real data leaving the result in a d The physical layout of the output data is as follows:<br> if n is even then a[offa+2*k] = Re[k], 0<=k<n/… |
| RealForwardFull | 2 | Computes 1D forward DFT of real data leaving the result in a d This method computes the full real forward transform, i.ed you will get the same result as from complexForwar… |
| RealInverse | 2 | Computes 1D inverse DFT of real data leaving the result in a d The physical layout of the input data has to be as follows:<br> if n is even then a[2*k] = Re[k], 0<=k<n… |
| RealInverseFull | 2 | Computes 1D inverse DFT of real data leaving the result in a d This method computes the full real inverse transform, i.ed you will get the same result as from complexInvers… |
| RealInverse2 | 1 |
03 Members
Int32)Creates new instance of DoubleFFT_1D.
| Name | Type | Description |
|---|---|---|
n | Int32 | - |
Double())Computes 1D forward DFT of complex data leaving the result in
a
d Complex number is stored as two double values in sequence: the real and imaginary part, i.ed the size of the input array must be greater or equal 2*nd The physical layout of the input data has to be as follows:<br>
a[2k] = Re[k], a[2k+1] = Im[k], 0<=k<n
| Name | Type | Description |
|---|---|---|
a | Double() | data to transform |
Double(), Int32)Computes 1D forward DFT of complex data leaving the result in
a
d Complex number is stored as two double values in sequence: the real and imaginary part, i.ed the size of the input array must be greater or equal 2*nd The physical layout of the input data has to be as follows:<br>
a[offa+2k] = Re[k], a[offa+2k+1] = Im[k], 0<=k<n
| Name | Type | Description |
|---|---|---|
a | Double() | - |
offa | Int32 | - |
Double(), Boolean)Computes 1D inverse DFT of complex data leaving the result in
a
d Complex number is stored as two double values in sequence: the real and imaginary part, i.ed the size of the input array must be greater or equal 2*nd The physical layout of the input data has to be as follows:<br>
a[2k] = Re[k], a[2k+1] = Im[k], 0<=k<n
| Name | Type | Description |
|---|---|---|
a | Double() | data to transform |
scale | Boolean | if true then scaling is performed |
Double(), Int32, Boolean)Computes 1D inverse DFT of complex data leaving the result in
a
d Complex number is stored as two double values in sequence: the real and imaginary part, i.ed the size of the input array must be greater or equal 2*nd The physical layout of the input data has to be as follows:<br>
a[offa+2k] = Re[k], a[offa+2k+1] = Im[k], 0<=k<n
| Name | Type | Description |
|---|---|---|
a | Double() | data to transform |
offa | Int32 | index of the first element in array |
isScale | Boolean | if true then scaling is performed |
Double())Computes 1D forward DFT of real data leaving the result in
a
d The physical layout of the output data is as follows:<br>
if n is even then
a[2k] = Re[k], 0<=k<n/2 a[2k+1] = Im[k], 0<k<n/2 a[1] = Re[n/2]
if n is odd then
a[2k] = Re[k], 0<=k<(n+1)/2 a[2k+1] = Im[k], 0<k<(n-1)/2 a[1] = Im[(n-1)/2]
This method computes only half of the elements of the real transformd The other half satisfies the symmetry conditiond If you want the full real forward transform, use
realForwardFull
d To get back the original data, use
realInverse
on the output of this method.
| Name | Type | Description |
|---|---|---|
a | Double() | data to transform |
Double(), Int32)Computes 1D forward DFT of real data leaving the result in
a
d The physical layout of the output data is as follows:<br>
if n is even then
a[offa+2k] = Re[k], 0<=k<n/2 a[offa+2k+1] = Im[k], 0<k<n/2 a[offa+1] = Re[n/2]
if n is odd then
a[offa+2k] = Re[k], 0<=k<(n+1)/2 a[offa+2k+1] = Im[k], 0<k<(n-1)/2 a[offa+1] = Im[(n-1)/2]
This method computes only half of the elements of the real transformd The other half satisfies the symmetry conditiond If you want the full real forward transform, use
realForwardFull
d To get back the original data, use
realInverse
on the output of this method.
| Name | Type | Description |
|---|---|---|
a | Double() | data to transform |
offa | Int32 | index of the first element in array |
Double())Computes 1D forward DFT of real data leaving the result in
a
d This method computes the full real forward transform, i.ed you will get the same result as from
complexForward
called with all imaginary parts equal 0d Because the result is stored in
a
, the size of the input array must greater or equal 2*n, with only the first n elements filled with real datad To get back the original data, use
complexInverse
on the output of this method.
| Name | Type | Description |
|---|---|---|
a | Double() | - |
Double(), Int32)Computes 1D forward DFT of real data leaving the result in
a
d This method computes the full real forward transform, i.ed you will get the same result as from
complexForward
called with all imaginary part equal 0d Because the result is stored in
a
, the size of the input array must greater or equal 2*n, with only the first n elements filled with real datad To get back the original data, use
complexInverse
on the output of this method.
| Name | Type | Description |
|---|---|---|
a | Double() | - |
offa | Int32 | - |
Double(), Boolean)Computes 1D inverse DFT of real data leaving the result in
a
d The physical layout of the input data has to be as follows:<br>
if n is even then
a[2k] = Re[k], 0<=k<n/2 a[2k+1] = Im[k], 0<k<n/2 a[1] = Re[n/2]
if n is odd then
a[2k] = Re[k], 0<=k<(n+1)/2 a[2k+1] = Im[k], 0<k<(n-1)/2 a[1] = Im[(n-1)/2]
This method computes only half of the elements of the real transformd The other half satisfies the symmetry conditiond If you want the full real inverse transform, use
realInverseFull
.
| Name | Type | Description |
|---|---|---|
a | Double() | data to transform |
scale | Boolean | if true then scaling is performed |
Double(), Int32, Boolean)Computes 1D inverse DFT of real data leaving the result in
a
d The physical layout of the input data has to be as follows:<br>
if n is even then
a[offa+2k] = Re[k], 0<=k<n/2 a[offa+2k+1] = Im[k], 0<k<n/2 a[offa+1] = Re[n/2]
if n is odd then
a[offa+2k] = Re[k], 0<=k<(n+1)/2 a[offa+2k+1] = Im[k], 0<k<(n-1)/2 a[offa+1] = Im[(n-1)/2]
This method computes only half of the elements of the real transformd The other half satisfies the symmetry conditiond If you want the full real inverse transform, use
realInverseFull
.
| Name | Type | Description |
|---|---|---|
a | Double() | data to transform |
offa | Int32 | index of the first element in array |
isScale | Boolean | if true then scaling is performed |
Double(), Boolean)Computes 1D inverse DFT of real data leaving the result in
a
d This method computes the full real inverse transform, i.ed you will get the same result as from
complexInverse
called with all imaginary part equal 0d Because the result is stored in
a
, the size of the input array must greater or equal 2*n, with only the first n elements filled with real data.
| Name | Type | Description |
|---|---|---|
a | Double() | - |
isScale | Boolean | if true then scaling is performed |
Double(), Int32, Boolean)Computes 1D inverse DFT of real data leaving the result in
a
d This method computes the full real inverse transform, i.ed you will get the same result as from
complexInverse
called with all imaginary part equal 0d Because the result is stored in
a
, the size of the input array must greater or equal 2*n, with only the first n elements filled with real data.
| Name | Type | Description |
|---|---|---|
a | Double() | data to transform |
offa | Int32 | index of the first element in array |
isScale | Boolean | if true then scaling is performed |
Double(), Int32, Boolean)