[arrayfire] 205/408: DOCS: Adding documentation for real to complex transforms

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Mon Sep 21 19:11:58 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch debian/sid
in repository arrayfire.

commit 91f6e359d8f3cb792186c40afd2b736b7765f2d5
Author: Pavan Yalamanchili <pavan at arrayfire.com>
Date:   Fri Aug 7 00:32:42 2015 -0400

    DOCS: Adding documentation for real to complex transforms
    
    - Also cleaned up signal.h documentation
---
 docs/details/image.dox  |   4 +-
 docs/details/signal.dox |  12 ++
 include/af/algorithm.h  |   2 +
 include/af/signal.h     | 335 ++++++++++++++++++++++++++++++++----------------
 4 files changed, 244 insertions(+), 109 deletions(-)

diff --git a/docs/details/image.dox b/docs/details/image.dox
index c83b5e7..53dc4a1 100644
--- a/docs/details/image.dox
+++ b/docs/details/image.dox
@@ -588,8 +588,8 @@ from the other and returns the result.
 
 Generate image with image windows as columns
 
-\ref unwrap takes in an input image along with the window sizes \p wx and \p
-wy, strides \p sx and \p sy, and padding \px and \p py. This function then
+unwrap takes in an input image along with the window sizes \p wx and \p
+wy, strides \p sx and \p sy, and padding \p px and \p py. This function then
 generates a matrix where each windows is an independent column.
 
 The number of columns in the output array are govenered by the number of
diff --git a/docs/details/signal.dox b/docs/details/signal.dox
index dae171e..ddb7508 100644
--- a/docs/details/signal.dox
+++ b/docs/details/signal.dox
@@ -196,6 +196,18 @@ respectively, then the possible batch operations are as follows.
 \copydoc signal_func_fft_desc
 
 
+\defgroup signal_func_fft_r2c fftR2C
+\ingroup fft_mat
+
+\brief Real to Complex Fast Fourier Transform
+
+
+\defgroup signal_func_fft_c2r fftC2R
+\ingroup fft_mat
+
+\brief Complex to Real Fast Fourier Transform
+
+
 \defgroup signal_func_approx1 approx1
 \ingroup approx_mat
 
diff --git a/include/af/algorithm.h b/include/af/algorithm.h
index e274d17..1bb3a0d 100644
--- a/include/af/algorithm.h
+++ b/include/af/algorithm.h
@@ -558,6 +558,7 @@ extern "C" {
        \param[out] real will contain the real part of adding all elements in input \p in
        \param[out] imag will contain the imaginary part of adding all elements in input \p in
        \param[in] in is the input array
+       \param[in] nanval is the value which replaces nan
        \return \ref AF_SUCCESS if the execution completes properly
 
        \note \p imag is always set to 0 when \p in is real
@@ -586,6 +587,7 @@ extern "C" {
        \param[out] real will contain the real part of adding all elements in input \p in
        \param[out] imag will contain the imaginary part of adding all elements in input \p in
        \param[in] in is the input array
+       \param[in] nanval is the value which replaces nan
        \return \ref AF_SUCCESS if the execution completes properly
 
        \note \p imag is always set to 0 when \p in is real
diff --git a/include/af/signal.h b/include/af/signal.h
index 35edb79..8fda624 100644
--- a/include/af/signal.h
+++ b/include/af/signal.h
@@ -18,7 +18,7 @@ class array;
 class dim4;
 
 /**
-   C++ Interface for data interpolation on one dimensional data
+   C++ Interface for data interpolation on one dimensional signals
 
    \param[in]  in is the input array
    \param[in]  pos array contains the interpolation locations
@@ -33,7 +33,7 @@ AFAPI array approx1(const array &in, const array &pos,
                     const interpType method = AF_INTERP_LINEAR, const float offGrid = 0.0f);
 
 /**
-   C++ Interface for data interpolation on two dimensional data
+   C++ Interface for data interpolation on two dimensional signals
 
    \param[in]  in is the input array
    \param[in]  pos0 array contains the interpolation locations for first dimension
@@ -49,11 +49,11 @@ AFAPI array approx2(const array &in, const array &pos0, const array &pos1,
                     const interpType method = AF_INTERP_LINEAR, const float offGrid = 0.0f);
 
 /**
-   C++ Interface for fast fourier transform on one dimensional data
+   C++ Interface for fast fourier transform on one dimensional signals
 
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data - used to either truncate or pad the input data
+   \param[in]  odim0 is the length of output signals - used to either truncate or pad the input signals
    \return     the transformed array
 
    \ingroup signal_func_fft
@@ -61,12 +61,12 @@ AFAPI array approx2(const array &in, const array &pos0, const array &pos1,
 AFAPI array fftNorm(const array& in, const double norm_factor, const dim_t odim0=0);
 
 /**
-   C++ Interface for fast fourier transform on two dimensional data
+   C++ Interface for fast fourier transform on two dimensional signals
 
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
    \return     the transformed array
 
    \ingroup signal_func_fft2
@@ -74,13 +74,13 @@ AFAPI array fftNorm(const array& in, const double norm_factor, const dim_t odim0
 AFAPI array fft2Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0);
 
 /**
-   C++ Interface for fast fourier transform on three dimensional data
+   C++ Interface for fast fourier transform on three dimensional signals
 
    \param[in]  in is the input array and the output of 1D fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
-   \param[in]  odim2 is the length of output data along third dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
+   \param[in]  odim2 is the length of output signals along third dimension - used to either truncate/pad the input
    \return     the transformed array
 
    \ingroup signal_func_fft3
@@ -88,7 +88,7 @@ AFAPI array fft2Norm(const array& in, const double norm_factor, const dim_t odim
 AFAPI array fft3Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
 
 /**
-   C++ Interface for fast fourier transform on one dimensional data
+   C++ Interface for fast fourier transform on one dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 1D forward fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -100,7 +100,7 @@ AFAPI array fft3Norm(const array& in, const double norm_factor, const dim_t odim
 AFAPI void fftInPlace(array& in, const double norm_factor = 1);
 
 /**
-   C++ Interface for fast fourier transform on two dimensional data
+   C++ Interface for fast fourier transform on two dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 2D forward fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -113,7 +113,7 @@ AFAPI void fftInPlace(array& in, const double norm_factor = 1);
 AFAPI void fft2InPlace(array& in, const double norm_factor = 1);
 
 /**
-   C++ Interface for fast fourier transform on three dimensional data
+   C++ Interface for fast fourier transform on three dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 3D forward fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -126,13 +126,13 @@ AFAPI void fft2InPlace(array& in, const double norm_factor = 1);
 AFAPI void fft3InPlace(array& in, const double norm_factor = 1);
 
 /**
-   C++ Interface for fast fourier transform on one dimensional data
+   C++ Interface for fast fourier transform on one dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
-   \param[in]  odim0 is the length of output data - used to either truncate or pad the input data
+   \param[in]  odim0 is the length of output signals - used to either truncate or pad the input signals
    \return     the transformed array
 
    \ingroup signal_func_fft
@@ -140,14 +140,14 @@ AFAPI void fft3InPlace(array& in, const double norm_factor = 1);
 AFAPI array fft(const array& in, const dim_t odim0=0);
 
 /**
-   C++ Interface for fast fourier transform on two dimensional data
+   C++ Interface for fast fourier transform on two dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
    \return     the transformed array
 
    \ingroup signal_func_fft2
@@ -155,15 +155,15 @@ AFAPI array fft(const array& in, const dim_t odim0=0);
 AFAPI array fft2(const array& in, const dim_t odim0=0, const dim_t odim1=0);
 
 /**
-   C++ Interface for fast fourier transform on three dimensional data
+   C++ Interface for fast fourier transform on three dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
-   \param[in]  odim2 is the length of output data along third dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
+   \param[in]  odim2 is the length of output signals along third dimension - used to either truncate/pad the input
    \return     the transformed array
 
    \ingroup signal_func_fft3
@@ -171,11 +171,11 @@ AFAPI array fft2(const array& in, const dim_t odim0=0, const dim_t odim1=0);
 AFAPI array fft3(const array& in, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
 
 /**
-   C++ Interface for fast fourier transform on any(1d, 2d, 3d) dimensional data
+   C++ Interface for fast fourier transform on any(1d, 2d, 3d) dimensional signals
 
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  outDims is an object of \ref dim4 that has the output array dimensions - used to either truncate or pad the input data
+   \param[in]  outDims is an object of \ref dim4 that has the output array dimensions - used to either truncate or pad the input signals
    \return     the transformed array
 
    \ingroup signal_func_fft
@@ -183,13 +183,13 @@ AFAPI array fft3(const array& in, const dim_t odim0=0, const dim_t odim1=0, cons
 AFAPI array dft(const array& in, const double norm_factor, const dim4 outDims);
 
 /**
-   C++ Interface for fast fourier transform on any(1d, 2d, 3d) dimensional data
+   C++ Interface for fast fourier transform on any(1d, 2d, 3d) dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
-   \param[in]  outDims is an object of \ref dim4 that has the output array dimensions - used to either truncate or pad the input data
+   \param[in]  outDims is an object of \ref dim4 that has the output array dimensions - used to either truncate or pad the input signals
    \return     the transformed array
 
    \ingroup signal_func_fft
@@ -197,10 +197,10 @@ AFAPI array dft(const array& in, const double norm_factor, const dim4 outDims);
 AFAPI array dft(const array& in, const dim4 outDims);
 
 /**
-   C++ Interface for fast fourier transform on any(1d, 2d, 3d) dimensional data
+   C++ Interface for fast fourier transform on any(1d, 2d, 3d) dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
    \return     the transformed array
@@ -210,11 +210,11 @@ AFAPI array dft(const array& in, const dim4 outDims);
 AFAPI array dft(const array& in);
 
 /**
-   C++ Interface for inverse fast fourier transform on one dimensional data
+   C++ Interface for inverse fast fourier transform on one dimensional signals
 
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data - used to either truncate or pad the input data
+   \param[in]  odim0 is the length of output signals - used to either truncate or pad the input signals
    \return     the transformed array
 
    \ingroup signal_func_ifft
@@ -222,12 +222,12 @@ AFAPI array dft(const array& in);
 AFAPI array ifftNorm(const array& in, const double norm_factor, const dim_t odim0=0);
 
 /**
-   C++ Interface for inverse fast fourier transform on two dimensional data
+   C++ Interface for inverse fast fourier transform on two dimensional signals
 
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
    \return     the transformed array
 
    \ingroup signal_func_ifft2
@@ -235,13 +235,13 @@ AFAPI array ifftNorm(const array& in, const double norm_factor, const dim_t odim
 AFAPI array ifft2Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0);
 
 /**
-   C++ Interface for inverse fast fourier transform on three dimensional data
+   C++ Interface for inverse fast fourier transform on three dimensional signals
 
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
-   \param[in]  odim2 is the length of output data along third dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
+   \param[in]  odim2 is the length of output signals along third dimension - used to either truncate/pad the input
    \return     the transformed array
 
    \ingroup signal_func_ifft3
@@ -249,7 +249,7 @@ AFAPI array ifft2Norm(const array& in, const double norm_factor, const dim_t odi
 AFAPI array ifft3Norm(const array& in, const double norm_factor, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
 
 /**
-   C++ Interface for fast fourier transform on one dimensional data
+   C++ Interface for fast fourier transform on one dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 1D inverse fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -261,7 +261,7 @@ AFAPI array ifft3Norm(const array& in, const double norm_factor, const dim_t odi
 AFAPI void ifftInPlace(array& in, const double norm_factor = 1);
 
 /**
-   C++ Interface for fast fourier transform on two dimensional data
+   C++ Interface for fast fourier transform on two dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 2D inverse fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -274,7 +274,7 @@ AFAPI void ifftInPlace(array& in, const double norm_factor = 1);
 AFAPI void ifft2InPlace(array& in, const double norm_factor = 1);
 
 /**
-   C++ Interface for fast fourier transform on three dimensional data
+   C++ Interface for fast fourier transform on three dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 3D inverse fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -287,13 +287,13 @@ AFAPI void ifft2InPlace(array& in, const double norm_factor = 1);
 AFAPI void ifft3InPlace(array& in, const double norm_factor = 1);
 
 /**
-   C++ Interface for inverse fast fourier transform on one dimensional data
+   C++ Interface for inverse fast fourier transform on one dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
-   \param[in]  odim0 is the length of output data - used to either truncate or pad the input data
+   \param[in]  odim0 is the length of output signals - used to either truncate or pad the input signals
    \return     the transformed array
 
    \ingroup signal_func_ifft
@@ -301,14 +301,14 @@ AFAPI void ifft3InPlace(array& in, const double norm_factor = 1);
 AFAPI array ifft(const array& in, const dim_t odim0=0);
 
 /**
-   C++ Interface for inverse fast fourier transform on two dimensional data
+   C++ Interface for inverse fast fourier transform on two dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
    \return     the transformed array
 
    \ingroup signal_func_ifft2
@@ -316,15 +316,15 @@ AFAPI array ifft(const array& in, const dim_t odim0=0);
 AFAPI array ifft2(const array& in, const dim_t odim0=0, const dim_t odim1=0);
 
 /**
-   C++ Interface for inverse fast fourier transform on three dimensional data
+   C++ Interface for inverse fast fourier transform on three dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
-   \param[in]  odim2 is the length of output data along third dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
+   \param[in]  odim2 is the length of output signals along third dimension - used to either truncate/pad the input
    \return     the transformed array
 
    \ingroup signal_func_ifft3
@@ -332,11 +332,11 @@ AFAPI array ifft2(const array& in, const dim_t odim0=0, const dim_t odim1=0);
 AFAPI array ifft3(const array& in, const dim_t odim0=0, const dim_t odim1=0, const dim_t odim2=0);
 
 /**
-   C++ Interface for inverse fast fourier transform on any(1d, 2d, 3d) dimensional data
+   C++ Interface for inverse fast fourier transform on any(1d, 2d, 3d) dimensional signals
 
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  outDims is an object of \ref dim4 that has the output array dimensions - used to either truncate or pad the input data
+   \param[in]  outDims is an object of \ref dim4 that has the output array dimensions - used to either truncate or pad the input signals
    \return     the transformed array
 
    \ingroup signal_func_fft
@@ -344,13 +344,13 @@ AFAPI array ifft3(const array& in, const dim_t odim0=0, const dim_t odim1=0, con
 AFAPI array idft(const array& in, const double norm_factor, const dim4 outDims);
 
 /**
-   C++ Interface for inverse fast fourier transform on any(1d, 2d, 3d) dimensional data
+   C++ Interface for inverse fast fourier transform on any(1d, 2d, 3d) dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
-   \param[in]  outDims is an object of \ref dim4 that has the output array dimensions - used to either truncate or pad the input data
+   \param[in]  outDims is an object of \ref dim4 that has the output array dimensions - used to either truncate or pad the input signals
    \return     the transformed array
 
    \ingroup signal_func_fft
@@ -358,10 +358,10 @@ AFAPI array idft(const array& in, const double norm_factor, const dim4 outDims);
 AFAPI array idft(const array& in, const dim4 outDims);
 
 /**
-   C++ Interface for inverse fast fourier transform on any(1d, 2d, 3d) dimensional data
+   C++ Interface for inverse fast fourier transform on any(1d, 2d, 3d) dimensional signals
 
    This version of fft function uses a default norm_factor parameter that is calculated internally
-   based on the input data.
+   based on the input signals.
 
    \param[in]  in is the input array
    \return     the transformed array
@@ -370,22 +370,56 @@ AFAPI array idft(const array& in, const dim4 outDims);
  */
 AFAPI array idft(const array& in);
 
+/**
+   C Interface for real to complex fast fourier transform for one dimensional signals
+
+   \param[in]  in is a real array
+   \param[in]  dims is the requested padded dimensions before the transform is applied
+   \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
+   \return     a complex array containing the non redundant parts of \p in along the first dimension.
+
+   \note The first dimension of the output will be of size (dims[0] / 2) + 1. The remaining dimensions are unchanged.
+
+   \ingroup signal_func_fft_r2c
+*/
 template<int rank>
 array fftR2C(const array &in,
              const dim4& dims,
              const double norm_factor = 0);
 
+/**
+   C Interface for real to complex fast fourier transform for one dimensional signals
+
+   \param[in]  in is a real array
+   \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
+   \return     a complex array containing the non redundant parts of \p in along the first dimension.
 
+   \note The first dimension of the output will be of size (in.dims(0) / 2) + 1. The remaining dimensions are unchanged.
+
+   \ingroup signal_func_fft_r2c
+*/
 template<int rank>
 array fftR2C(const array &in,
              const double norm_factor = 0);
 
+/**
+   C++ Interface for complex to real fast fourier transform
+
+   \param[in]  in is a complex array containing only the non redundant parts of the signals
+   \param[in]  is_odd is a flag signifying if the output should be even or odd size
+   \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
+   \tparam     rank signifies the dimensionality of the transform
+   \return     A real array of size [2 * idim0 - 2 + is_odd, idim1, idim2, idim3] where idim{0,1,2,3} signify input dimensions
+
+   \ingroup signal_func_fft_c2r
+*/
+
 template<int rank>
 array fftC2R(const array &in, bool is_odd = false,
                  const double norm_factor = 0);
 
 /**
-   C++ Interface for convolution any(one through three) dimensional data
+   C++ Interface for convolution any(one through three) dimensional signals
 
    Example for convolution on one dimensional signal in one to one batch mode
    \snippet test/convolve.cpp ex_image_convolve_1d
@@ -409,7 +443,7 @@ array fftC2R(const array &in, bool is_odd = false,
 AFAPI array convolve(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
 
 /**
-   C++ Interface for separable convolution on two dimensional data
+   C++ Interface for separable convolution on two dimensional signals
 
    \snippet test/convolve.cpp ex_image_conv2_sep
 
@@ -428,7 +462,7 @@ AFAPI array convolve(const array& signal, const array& filter, const convMode mo
 AFAPI array convolve(const array& col_filter, const array& row_filter, const array& signal, const convMode mode=AF_CONV_DEFAULT);
 
 /**
-   C++ Interface for convolution on one dimensional data
+   C++ Interface for convolution on one dimensional signals
 
    \snippet test/convolve.cpp ex_image_convolve1
 
@@ -445,7 +479,7 @@ AFAPI array convolve(const array& col_filter, const array& row_filter, const arr
 AFAPI array convolve1(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
 
 /**
-   C++ Interface for convolution on two dimensional data
+   C++ Interface for convolution on two dimensional signals
 
    \snippet test/convolve.cpp ex_image_convolve2
 
@@ -462,7 +496,7 @@ AFAPI array convolve1(const array& signal, const array& filter, const convMode m
 AFAPI array convolve2(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
 
 /**
-   C++ Interface for convolution on three dimensional data
+   C++ Interface for convolution on three dimensional signals
 
    \snippet test/convolve.cpp ex_image_convolve3
 
@@ -479,7 +513,7 @@ AFAPI array convolve2(const array& signal, const array& filter, const convMode m
 AFAPI array convolve3(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT, const convDomain domain=AF_CONV_AUTO);
 
 /**
-   C++ Interface for FFT-based convolution any(one through three) dimensional data
+   C++ Interface for FFT-based convolution any(one through three) dimensional signals
 
    \param[in]  signal is the input signal
    \param[in]  filter is the signal that shall be used for the convolution operation
@@ -491,7 +525,7 @@ AFAPI array convolve3(const array& signal, const array& filter, const convMode m
 AFAPI array fftConvolve(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
 
 /**
-   C++ Interface for convolution on one dimensional data
+   C++ Interface for convolution on one dimensional signals
 
    \param[in]  signal is the input signal
    \param[in]  filter is the signal that shall be used for the convolution operation
@@ -503,7 +537,7 @@ AFAPI array fftConvolve(const array& signal, const array& filter, const convMode
 AFAPI array fftConvolve1(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
 
 /**
-   C++ Interface for convolution on two dimensional data
+   C++ Interface for convolution on two dimensional signals
 
    \param[in]  signal is the input signal
    \param[in]  filter is the signal that shall be used for the convolution operation
@@ -515,7 +549,7 @@ AFAPI array fftConvolve1(const array& signal, const array& filter, const convMod
 AFAPI array fftConvolve2(const array& signal, const array& filter, const convMode mode=AF_CONV_DEFAULT);
 
 /**
-   C++ Interface for convolution on three dimensional data
+   C++ Interface for convolution on three dimensional signals
 
    \param[in]  signal is the input signal
    \param[in]  filter is the signal that shall be used for the convolution operation
@@ -559,7 +593,7 @@ extern "C" {
 #endif
 
 /**
-   C Interface for data interpolation on one dimensional data
+   C Interface for signals interpolation on one dimensional signals
 
    \param[out] out is the array with interpolated values
    \param[in]  in is the input array
@@ -576,7 +610,7 @@ AFAPI af_err af_approx1(af_array *out, const af_array in, const af_array pos,
                         const af_interp_type method, const float offGrid);
 
 /**
-   C Interface for data interpolation on two dimensional data
+   C Interface for signals interpolation on two dimensional signals
 
    \param[out] out is the array with interpolated values
    \param[in]  in is the input array
@@ -594,12 +628,12 @@ AFAPI af_err af_approx2(af_array *out, const af_array in, const af_array pos0, c
                         const af_interp_type method, const float offGrid);
 
 /**
-   C Interface for fast fourier transform on one dimensional data
+   C Interface for fast fourier transform on one dimensional signals
 
    \param[out] out is the transformed array
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data - used to either truncate or pad the input data
+   \param[in]  odim0 is the length of output signals - used to either truncate or pad the input signals
    \return     \ref AF_SUCCESS if the fft transform is successful,
                otherwise an appropriate error code is returned.
 
@@ -608,7 +642,7 @@ AFAPI af_err af_approx2(af_array *out, const af_array in, const af_array pos0, c
 AFAPI af_err af_fft(af_array *out, const af_array in, const double norm_factor, const dim_t odim0);
 
 /**
-   C Interface for fast fourier transform on one dimensional data
+   C Interface for fast fourier transform on one dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 1D forward fourier transform at exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -622,13 +656,13 @@ AFAPI af_err af_fft(af_array *out, const af_array in, const double norm_factor,
 AFAPI af_err af_fft_inplace(af_array in, const double norm_factor);
 
 /**
-   C Interface for fast fourier transform on two dimensional data
+   C Interface for fast fourier transform on two dimensional signals
 
    \param[out] out is the transformed array
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
    \return     \ref AF_SUCCESS if the fft transform is successful,
                otherwise an appropriate error code is returned.
 
@@ -637,7 +671,7 @@ AFAPI af_err af_fft_inplace(af_array in, const double norm_factor);
 AFAPI af_err af_fft2(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1);
 
 /**
-   C Interface for fast fourier transform on two dimensional data
+   C Interface for fast fourier transform on two dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 2D forward fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -651,14 +685,14 @@ AFAPI af_err af_fft2(af_array *out, const af_array in, const double norm_factor,
 AFAPI af_err af_fft2_inplace(af_array in, const double norm_factor);
 
 /**
-   C Interface for fast fourier transform on three dimensional data
+   C Interface for fast fourier transform on three dimensional signals
 
    \param[out] out is the transformed array
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
-   \param[in]  odim2 is the length of output data along third dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
+   \param[in]  odim2 is the length of output signals along third dimension - used to either truncate/pad the input
    \return     \ref AF_SUCCESS if the fft transform is successful,
                otherwise an appropriate error code is returned.
 
@@ -667,7 +701,7 @@ AFAPI af_err af_fft2_inplace(af_array in, const double norm_factor);
 AFAPI af_err af_fft3(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1, const dim_t odim2);
 
 /**
-   C Interface for fast fourier transform on three dimensional data
+   C Interface for fast fourier transform on three dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 3D forward fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -681,12 +715,12 @@ AFAPI af_err af_fft3(af_array *out, const af_array in, const double norm_factor,
 AFAPI af_err af_fft3_inplace(af_array in, const double norm_factor);
 
 /**
-   C Interface for inverse fast fourier transform on one dimensional data
+   C Interface for inverse fast fourier transform on one dimensional signals
 
    \param[out] out is the transformed array
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data - used to either truncate or pad the input data
+   \param[in]  odim0 is the length of output signals - used to either truncate or pad the input signals
    \return     \ref AF_SUCCESS if the fft transform is successful,
                otherwise an appropriate error code is returned.
 
@@ -695,7 +729,7 @@ AFAPI af_err af_fft3_inplace(af_array in, const double norm_factor);
 AFAPI af_err af_ifft(af_array *out, const af_array in, const double norm_factor, const dim_t odim0);
 
 /**
-   C Interface for fast fourier transform on one dimensional data
+   C Interface for fast fourier transform on one dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 1D inverse fourier transform at exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -709,13 +743,13 @@ AFAPI af_err af_ifft(af_array *out, const af_array in, const double norm_factor,
 AFAPI af_err af_ifft_inplace(af_array in, const double norm_factor);
 
 /**
-   C Interface for inverse fast fourier transform on two dimensional data
+   C Interface for inverse fast fourier transform on two dimensional signals
 
    \param[out] out is the transformed array
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
    \return     \ref AF_SUCCESS if the fft transform is successful,
                otherwise an appropriate error code is returned.
 
@@ -724,7 +758,7 @@ AFAPI af_err af_ifft_inplace(af_array in, const double norm_factor);
 AFAPI af_err af_ifft2(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1);
 
 /**
-   C Interface for fast fourier transform on two dimensional data
+   C Interface for fast fourier transform on two dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 2D inverse fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -738,14 +772,14 @@ AFAPI af_err af_ifft2(af_array *out, const af_array in, const double norm_factor
 AFAPI af_err af_ifft2_inplace(af_array in, const double norm_factor);
 
 /**
-   C Interface for inverse fast fourier transform on three dimensional data
+   C Interface for inverse fast fourier transform on three dimensional signals
 
    \param[out] out is the transformed array
    \param[in]  in is the input array
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
-   \param[in]  odim0 is the length of output data along first dimension - used to either truncate/pad the input
-   \param[in]  odim1 is the length of output data along second dimension - used to either truncate/pad the input
-   \param[in]  odim2 is the length of output data along third dimension - used to either truncate/pad the input
+   \param[in]  odim0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  odim1 is the length of output signals along second dimension - used to either truncate/pad the input
+   \param[in]  odim2 is the length of output signals along third dimension - used to either truncate/pad the input
    \return     \ref AF_SUCCESS if the fft transform is successful,
                otherwise an appropriate error code is returned.
 
@@ -754,7 +788,7 @@ AFAPI af_err af_ifft2_inplace(af_array in, const double norm_factor);
 AFAPI af_err af_ifft3(af_array *out, const af_array in, const double norm_factor, const dim_t odim0, const dim_t odim1, const dim_t odim2);
 
 /**
-   C Interface for fast fourier transform on three dimensional data
+   C Interface for fast fourier transform on three dimensional signals
 
    \param[inout]  in is the input array on entry and the output of 3D inverse fourier transform on exit
    \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
@@ -767,21 +801,108 @@ AFAPI af_err af_ifft3(af_array *out, const af_array in, const double norm_factor
 */
 AFAPI af_err af_ifft3_inplace(af_array in, const double norm_factor);
 
+/**
+   C Interface for real to complex fast fourier transform for one dimensional signals
+
+   \param[out] out is a complex array containing the non redundant parts of \p in.
+   \param[in]  in is a real array
+   \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
+   \param[in]  pad0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \return     \ref AF_SUCCESS if the fft transform is successful,
+               otherwise an appropriate error code is returned.
+
+   \note The first dimension of the output will be of size (pad0 / 2) + 1. The remaining dimensions are unchanged.
+
+   \ingroup signal_func_fft_r2c
+*/
 AFAPI af_err af_fft_r2c (af_array *out, const af_array in, const double norm_factor, const dim_t pad0);
 
+/**
+   C Interface for real to complex fast fourier transform for two dimensional signals
+
+   \param[out] out is a complex array containing the non redundant parts of \p in.
+   \param[in]  in is a real array
+   \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
+   \param[in]  pad0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  pad1 is the length of output signals along second dimension - used to either truncate/pad the input
+   \return     \ref AF_SUCCESS if the fft transform is successful,
+               otherwise an appropriate error code is returned.
+
+   \note The first dimension of the output will be of size (pad0 / 2) + 1. The second dimension of the output will be pad1. The remaining dimensions are unchanged.
+
+   \ingroup signal_func_fft_r2c
+*/
 AFAPI af_err af_fft2_r2c(af_array *out, const af_array in, const double norm_factor, const dim_t pad0, const dim_t pad1);
 
+/**
+   C Interface for real to complex fast fourier transform for three dimensional signals
+
+   \param[out] out is a complex array containing the non redundant parts of \p in.
+   \param[in]  in is a real array
+   \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
+   \param[in]  pad0 is the length of output signals along first dimension - used to either truncate/pad the input
+   \param[in]  pad1 is the length of output signals along second dimension - used to either truncate/pad the input
+   \param[in]  pad2 is the length of output signals along third dimension - used to either truncate/pad the input
+   \return     \ref AF_SUCCESS if the fft transform is successful,
+               otherwise an appropriate error code is returned.
+
+   \note The first dimension of the output will be of size (pad0 / 2) + 1. The second dimension of the output will be pad1. The third dimension of the output will be pad 2.
+
+   \ingroup signal_func_fft_r2c
+*/
 AFAPI af_err af_fft3_r2c(af_array *out, const af_array in, const double norm_factor, const dim_t pad0, const dim_t pad1, const dim_t pad2);
 
+/**
+   C Interface for complex to real fast fourier transform for one dimensional signals
+
+   \param[out] out is a real array containing the output of the transform.
+   \param[in]  in is a complex array containing only the non redundant parts of the signals.
+   \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
+   \param[in]  is_odd is a flag signifying if the output should be even or odd size
+   \return     \ref AF_SUCCESS if the fft transform is successful,
+               otherwise an appropriate error code is returned.
+
+   \note The first dimension of the output will be 2 * dim0 - 1 if is_odd is true else 2 * dim0 - 2 where dim0 is the first dimension of the input. The remaining dimensions are unchanged.
+
+   \ingroup signal_func_fft_c2r
+*/
+
 AFAPI af_err af_fft_c2r (af_array *out, const af_array in, const double norm_factor, const bool is_odd);
 
+/**
+   C Interface for complex to real fast fourier transform for two dimensional signals
+
+   \param[out] out is a real array containing the output of the transform.
+   \param[in]  in is a complex array containing only the non redundant parts of the signals.
+   \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
+   \param[in]  is_odd is a flag signifying if the output should be even or odd size
+   \return     \ref AF_SUCCESS if the fft transform is successful,
+               otherwise an appropriate error code is returned.
+
+   \note The first dimension of the output will be 2 * dim0 - 1 if is_odd is true else 2 * dim0 - 2 where dim0 is the first dimension of the input. The remaining dimensions are unchanged.
+
+   \ingroup signal_func_fft_c2r
+*/
 AFAPI af_err af_fft2_c2r(af_array *out, const af_array in, const double norm_factor, const bool is_odd);
 
-AFAPI af_err af_fft3_c2r(af_array *out, const af_array in, const double norm_factor, const bool is_odd);
+/**
+   C Interface for complex to real fast fourier transform for three dimensional signals
+
+   \param[out] out is a real array containing the output of the transform.
+   \param[in]  in is a complex array containing only the non redundant parts of the signals.
+   \param[in]  norm_factor is the normalization factor with which the input is scaled before the transformation is applied
+   \param[in]  is_odd is a flag signifying if the output should be even or odd size
+   \return     \ref AF_SUCCESS if the fft transform is successful,
+               otherwise an appropriate error code is returned.
+
+   \note The first dimension of the output will be 2 * dim0 - 1 if is_odd is true else 2 * dim0 - 2 where dim0 is the first dimension of the input. The remaining dimensions are unchanged.
 
+   \ingroup signal_func_fft_c2r
+*/
+AFAPI af_err af_fft3_c2r(af_array *out, const af_array in, const double norm_factor, const bool is_odd);
 
 /**
-   C Interface for convolution on one dimensional data
+   C Interface for convolution on one dimensional signals
 
    \param[out] out is convolved array
    \param[in]  signal is the input signal
@@ -798,7 +919,7 @@ AFAPI af_err af_fft3_c2r(af_array *out, const af_array in, const double norm_fac
 AFAPI af_err af_convolve1(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode, af_conv_domain domain);
 
 /**
-   C Interface for convolution on two dimensional data
+   C Interface for convolution on two dimensional signals
 
    \param[out] out is convolved array
    \param[in]  signal is the input signal
@@ -815,7 +936,7 @@ AFAPI af_err af_convolve1(af_array *out, const af_array signal, const af_array f
 AFAPI af_err af_convolve2(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode, af_conv_domain domain);
 
 /**
-   C Interface for convolution on three dimensional data
+   C Interface for convolution on three dimensional signals
 
    \param[out] out is convolved array
    \param[in]  signal is the input signal
@@ -832,7 +953,7 @@ AFAPI af_err af_convolve2(af_array *out, const af_array signal, const af_array f
 AFAPI af_err af_convolve3(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode, af_conv_domain domain);
 
 /**
-   C Interface for separable convolution on two dimensional data
+   C Interface for separable convolution on two dimensional signals
 
    \param[out] out is convolved array
    \param[in]  col_filter is filter that has to be applied along the coloumns
@@ -850,7 +971,7 @@ AFAPI af_err af_convolve3(af_array *out, const af_array signal, const af_array f
 AFAPI af_err af_convolve2_sep(af_array *out, const af_array col_filter, const af_array row_filter, const af_array signal, const af_conv_mode mode);
 
 /**
-   C Interface for FFT-based convolution on one dimensional data
+   C Interface for FFT-based convolution on one dimensional signals
 
    \param[out] out is convolved array
    \param[in]  signal is the input signal
@@ -864,7 +985,7 @@ AFAPI af_err af_convolve2_sep(af_array *out, const af_array col_filter, const af
 AFAPI af_err af_fft_convolve1(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode);
 
 /**
-   C Interface for FFT-based convolution on two dimensional data
+   C Interface for FFT-based convolution on two dimensional signals
 
    \param[out] out is convolved array
    \param[in]  signal is the input signal
@@ -878,7 +999,7 @@ AFAPI af_err af_fft_convolve1(af_array *out, const af_array signal, const af_arr
 AFAPI af_err af_fft_convolve2(af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode);
 
 /**
-   C Interface for FFT-based convolution on three dimensional data
+   C Interface for FFT-based convolution on three dimensional signals
 
    \param[out] out is convolved array
    \param[in]  signal is the input signal

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/arrayfire.git



More information about the debian-science-commits mailing list