libdspl-2.0/include/dspl.h

1573 wiersze
83 KiB
C
Czysty Zwykły widok Historia

2018-03-12 20:48:32 +00:00
/*
* Copyright (c) 2015-2020 Sergey Bakhurin
2018-03-12 20:48:32 +00:00
* Digital Signal Processing Library [http://dsplib.org]
*
* This file is part of libdspl-2.0.
*
2018-03-12 20:48:32 +00:00
* is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* DSPL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Foobar. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef DSPL_H
#define DSPL_H
#include <math.h>
2018-03-12 20:48:32 +00:00
/* math const definition */
#ifndef M_PI
2020-07-17 18:09:28 +00:00
#define M_PI 3.1415926535897932384626433832795
2018-03-12 20:48:32 +00:00
#endif
2018-10-24 17:39:51 +00:00
2018-03-12 20:48:32 +00:00
#ifndef M_2PI
2020-07-17 18:09:28 +00:00
#define M_2PI 6.283185307179586476925286766559
2018-03-12 20:48:32 +00:00
#endif
2020-07-17 18:09:28 +00:00
#ifdef DOXYGEN_ENGLISH
/*! ****************************************************************************
\ingroup TYPES_GROUP
\typedef complex_t
\brief Complex data type.
libdspl-2.0 describes complex numbers data type as an array
2020-07-17 18:09:28 +00:00
of two `double` elements.
First element sets real part, second --- imaginary part.
2020-07-17 18:09:28 +00:00
For example:
\code{.cpp}
complex_t z;
z[0] = 1.0;
z[1] = -2.0;
\endcode
2020-07-17 18:09:28 +00:00
Variable `z = 1-2j`, here `j` - imaginary unit.
For the convenience of working with complex numbers implemented
special macros: \ref RE, \ref IM, \ref ABSSQR
***************************************************************************** */
#endif
#ifdef DOXYGEN_RUSSIAN
/*! ****************************************************************************
\ingroup TYPES_GROUP
\typedef complex_t
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libdspl-2.0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> `double`.
<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
2020-07-17 18:09:28 +00:00
\code{.cpp}
complex_t z;
z[0] = 1.0;
z[1] = -2.0;
\endcode
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `z = 1-2j`, <EFBFBD><EFBFBD><EFBFBD> `j` - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: \ref RE, \ref IM, \ref ABSSQR
2020-07-17 18:09:28 +00:00
***************************************************************************** */
#endif
typedef double complex_t[2];
2018-03-12 20:48:32 +00:00
2020-07-17 18:09:28 +00:00
#ifdef DOXYGEN_ENGLISH
/*! ****************************************************************************
\ingroup DFT_GROUP
\struct fft_t
\brief Fast Fourier Transform Object Data Structure
The structure stores pointers to twiddle factors and arrays of intermediate
2020-07-17 18:09:28 +00:00
data of the fast Fourier transform algorithm.
The libdspl-2.0 library uses an FFT algorithm for composite size.
\param n
The size of the FFT vector for which memory is allocated
2020-07-17 18:09:28 +00:00
in the structure arrays. \n
The parameter `n` must be equal to an integer power of two (radix 2). \n \n
\param w
Pointer to the vector of twiddle factors. \n
The size of the vector is `[n x 1]`. \n
The memory must be allocated and an array of twiddle factors
must be filled with the \ref fft_create function. \n\n
\param t0
Pointer to the vector of intermediate results of the FFT algorithm. \n
The size of the vector is `[n x 1]`. \n
Memory must be allocated by \ref fft_create function. \n\n
2020-07-17 18:09:28 +00:00
\param t1
Pointer to the vector of intermediate results. \n
The size of the vector is `[n x 1]`. \n
The memory must be allocated with the \ref fft_create function. \n\n
The structure is populated with the \ref fft_create function once
before using the FFT algorithm. \n
A pointer to an object of this structure may be
reused when calling FFT functions. \n
Before exiting the program, dedicated memory for twiddle factors and arrays of
intermediate data must be cleared by the \ref fft_free function.
2020-07-17 18:09:28 +00:00
For example:
\code
fft_t pfft = {0}; // Structure fft_t and clear all fields
int n = 64; // FFT size
2019-03-31 17:08:11 +00:00
2020-07-17 18:09:28 +00:00
int err;
// Create and fill FFT structure for 64-points FFT
2020-07-17 18:09:28 +00:00
err = fft_create(&pfft, n);
// FFT calculation here
// FFT calculation here one more
// ...
2020-07-17 18:09:28 +00:00
// Clear fft structure
fft_free(&pfft);
\endcode
\note
It is important to note that if the object `fft_t` was created for the FFT size
2020-07-17 18:09:28 +00:00
equal to` n`, it can only be used for FFT of size `n`. \n \n
It<EFBFBD>s also worth noting that the FFT functions independently control the size,
2020-07-17 18:09:28 +00:00
and independently allocate the memory of the FFT object, if necessary.
So if you call any function using the `fft_t` structure with filled
data for the FFT length `k` for calculating the FFT of length`n`,
then the structure arrays will be automatically recreated for the length `n`.
\author Sergey Bakhurin www.dsplib.org
2020-07-17 18:09:28 +00:00
***************************************************************************** */
#endif
#ifdef DOXYGEN_RUSSIAN
/*! ****************************************************************************
\ingroup DFT_GROUP
\struct fft_t
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libdspl-2.0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2020-07-17 18:09:28 +00:00
\param n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `n` <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. \n \n
2020-07-17 18:09:28 +00:00
\param w
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>. \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `[n x 1]`. \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \ref fft_create. \n \n
2020-07-17 18:09:28 +00:00
\param t0
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>. \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `[n x 1]`. \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \ref fft_create. \n \n
2020-07-17 18:09:28 +00:00
\param t1
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>. \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `[n x 1]`. \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \ref fft_create. \n \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \ref fft_create <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>. \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>. \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \ref fft_free. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
2020-07-17 18:09:28 +00:00
\code
fft_t pfft = {0}; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fft_t <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
int n = 64; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
2020-07-17 18:09:28 +00:00
int err;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 64-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
2020-07-17 18:09:28 +00:00
err = fft_create(&pfft, n);
// <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ...
2020-07-17 18:09:28 +00:00
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
2020-07-17 18:09:28 +00:00
fft_free(&pfft);
\endcode
\note
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `fft_t` <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `n`,
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `n`. \n\n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `fft_t` <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> `k` <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `n`,
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `n`.
2020-07-17 18:09:28 +00:00
\author
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
www.dsplib.org
2020-07-17 18:09:28 +00:00
***************************************************************************** */
#endif
2018-03-12 20:48:32 +00:00
typedef struct
{
2018-10-24 17:39:51 +00:00
complex_t* w;
complex_t* t0;
complex_t* t1;
int n;
2018-03-12 20:48:32 +00:00
} fft_t;
2020-07-17 18:09:28 +00:00
2019-10-20 16:49:09 +00:00
#define RAND_TYPE_MRG32K3A 0x00000001
#define RAND_TYPE_MT19937 0x00000002
#define RAND_MT19937_NN 312
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
#ifdef DOXYGEN_ENGLISH
#endif
#ifdef DOXYGEN_RUSSIAN
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
/*! ****************************************************************************
\ingroup SPEC_MATH_RAND_GEN_GROUP
\struct random_t
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
\li MRG32K3A -- 32 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [1].
\li MT19937-64 -- 64-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<a href = "https://en.wikipedia.org/wiki/Mersenne_Twister">
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
</a> [2, 3].
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
\note
[1] Pierre L'Ecuyer, (1999) Good Parameters and Implementations for Combined
Multiple Recursive Random Number Generators. Operations Research
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
47(1):159-164. https://doi.org/10.1287/opre.47.1.159 \n\n
[2] T. Nishimura, ``Tables of 64-bit Mersenne Twisters // ACM Transactions
on Modeling and Computer Simulation 10. (2000) 348--357. \n\n
[3] M. Matsumoto and T. Nishimura Mersenne Twister: a 623-dimensionally
equidistributed uniform pseudorandom number generator // ACM Transactions
on Modeling and Computer Simulation 8. (Jan. 1998) 3--30. \n\n
\param mrg32k3a_seed
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MRG32K3A. \n \n
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
\param mrg32k3a_x
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MRG32K3A. \n \n
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
\param mrg32k3a_y
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MRG32K3A. \n \n
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
\param mt19937_mt
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MT19937-64. \n \n
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
\param mt19937_mti
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MT19937-64. \n \n
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `random_init`
<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
\author <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. www.dsplib.org
Doxygen doc moved to src Changes to be committed: deleted: dspl/dox/en/conv.dox deleted: dspl/dox/en/dspl_load.dox deleted: dspl/dox/en/filter_ap.dox deleted: dspl/dox/en/filter_fir.dox deleted: dspl/dox/en/filter_ft.dox deleted: dspl/dox/en/filter_iir.dox deleted: dspl/dox/en/fourier_series.dox deleted: dspl/dox/en/gnuplot.dox deleted: dspl/dox/en/goertzel.dox deleted: dspl/dox/en/inout.dox deleted: dspl/dox/en/math.dox deleted: dspl/dox/en/matrix.dox deleted: dspl/dox/en/polyval.dox deleted: dspl/dox/en/randgen.dox deleted: dspl/dox/en/resampling.dox deleted: dspl/dox/en/win.dox modified: dspl/dox/footer_en.html modified: dspl/dox/footer_ru.html modified: dspl/dox/header_en.html modified: dspl/dox/header_ru.html deleted: dspl/dox/ru/conv.dox deleted: dspl/dox/ru/dspl_load.dox deleted: dspl/dox/ru/filter_ap.dox deleted: dspl/dox/ru/filter_fir.dox deleted: dspl/dox/ru/filter_ft.dox deleted: dspl/dox/ru/filter_iir.dox deleted: dspl/dox/ru/fourier_series.dox deleted: dspl/dox/ru/gnuplot.dox deleted: dspl/dox/ru/goertzel.dox deleted: dspl/dox/ru/inout.dox deleted: dspl/dox/ru/math.dox deleted: dspl/dox/ru/matrix.dox deleted: dspl/dox/ru/polyval.dox deleted: dspl/dox/ru/randgen.dox deleted: dspl/dox/ru/resampling.dox deleted: dspl/dox/ru/statistic.dox deleted: dspl/dox/ru/win.dox modified: dspl/src/conv.c modified: dspl/src/filter_ap.c modified: dspl/src/filter_fir.c modified: dspl/src/filter_ft.c modified: dspl/src/filter_iir.c modified: dspl/src/fourier_series.c modified: dspl/src/gnuplot.c modified: dspl/src/goertzel.c modified: dspl/src/inout.c modified: dspl/src/math.c modified: dspl/src/matrix.c modified: dspl/src/polyval.c modified: dspl/src/randgen.c modified: dspl/src/resampling.c modified: dspl/src/signals.c modified: dspl/src/statistic.c modified: dspl/src/trapint.c modified: dspl/src/win.c modified: examples/src/polyroots_test.c modified: ide/codeblocks/dspl.layout modified: ide/codeblocks/dspl.workspace.layout modified: ide/codeblocks/examples.layout modified: include/dspl.c modified: include/dspl.h
2020-07-23 18:55:02 +00:00
***************************************************************************** */
#endif
2019-03-31 17:08:11 +00:00
typedef struct
{
2019-10-27 20:38:18 +00:00
double mrg32k3a_seed;
double mrg32k3a_x[3];
double mrg32k3a_y[3];
2019-10-27 20:38:18 +00:00
/* The array for the MT19937 state vector */
unsigned long long mt19937_mt[RAND_MT19937_NN];
int mt19937_mti;
2019-10-27 20:38:18 +00:00
int type;
2019-10-27 20:38:18 +00:00
2019-03-31 17:08:11 +00:00
}random_t;
2020-07-17 18:09:28 +00:00
#ifdef DOXYGEN_ENGLISH
/*! ****************************************************************************
\ingroup TYPES_GROUP
\def RE(x)
\brief Macro sets real part of the complex number.
Example:
\code{.cpp}
complex_t z;
RE(z) = 1.0;
IM(z) = -2.0;
\endcode
2020-07-17 18:09:28 +00:00
Variable `z = 1-2j`, here `j` - imaginary unit.
This macro can be used to return
2020-07-17 18:09:28 +00:00
real part of the complex number:
\code{.cpp}
complex_t z = {3.0, -4.0};
double r;
r = RE(z);
\endcode
In this example `z = 3-4i`,
2020-07-17 18:09:28 +00:00
but variable `r` will keep 3.
***************************************************************************** */
#endif
#ifdef DOXYGEN_RUSSIAN
/*! ****************************************************************************
\ingroup TYPES_GROUP
\def RE(x)
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
2020-07-17 18:09:28 +00:00
\code{.cpp}
complex_t z;
RE(z) = 1.0;
IM(z) = -2.0;
\endcode
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `z = 1-2j`, <EFBFBD><EFBFBD><EFBFBD> `j` --- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
2020-07-17 18:09:28 +00:00
\code{.cpp}
complex_t z = {3.0, -4.0};
double r;
r = RE(z);
\endcode
<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `z = 3-4i`, <EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `r`
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3.
2020-07-17 18:09:28 +00:00
***************************************************************************** */
#endif
#define RE(x) (x[0])
#ifdef DOXYGEN_ENGLISH
/*! ****************************************************************************
\ingroup TYPES_GROUP
\def IM(x)
\brief Macro sets imaginary part of the complex number.
Example:
\code{.cpp}
complex_t z;
RE(z) = 1.0;
IM(z) = -2.0;
\endcode
2020-07-17 18:09:28 +00:00
Variable `z = 1-2j`, here `j` - imaginary unit.
This macro can be used to return
2020-07-17 18:09:28 +00:00
imaginary part of the complex number:
\code{.cpp}
complex_t z = {3.0, -4.0};
double r;
r = IM(z);
\endcode
In this example `z = 3-4i`,
2020-07-17 18:09:28 +00:00
but variable `r` will keep -4.
***************************************************************************** */
#endif
#ifdef DOXYGEN_RUSSIAN
/*! ****************************************************************************
\ingroup TYPES_GROUP
\def IM(x)
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
2020-07-17 18:09:28 +00:00
\code{.cpp}
complex_t z;
RE(z) = 1.0;
IM(z) = -2.0;
\endcode
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `z = 1-2j`, <EFBFBD><EFBFBD><EFBFBD> `j` - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
2020-07-17 18:09:28 +00:00
\code{.cpp}
complex_t z = {3.0, -4.0};
double r;
r = IM(z);
\endcode
<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `z = 3-4i`,
<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `r` <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -4.
2020-07-17 18:09:28 +00:00
***************************************************************************** */
#endif
#define IM(x) (x[1])
#define SQR(x) ((x) * (x))
#ifdef DOXYGEN_ENGLISH
/*! ****************************************************************************
\ingroup TYPES_GROUP
\def ABSSQR(x)
\brief
2020-07-17 18:09:28 +00:00
The macro returns the square of the modulus of a complex number `x`.
Square of the modulus of a complex number \f$ x = a + j b \f$ equals:
\f[
|x|^2 = x x^* = a^2 + b^2.
2020-07-17 18:09:28 +00:00
\f]
Example:
\code{.cpp}
complex_t z;
double y;
RE(z) = 1.0;
IM(z) = -2.0;
y = ABSSQR(z);
\endcode
2020-07-17 18:09:28 +00:00
Variable `z = 1-2j`, here `j` - imaginary unit, but variable `y = 5`.
2020-07-17 18:09:28 +00:00
***************************************************************************** */
#endif
#ifdef DOXYGEN_RUSSIAN
/*! ****************************************************************************
\ingroup TYPES_GROUP
\def ABSSQR(x)
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `x`.
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \f$ x = a + j b \f$ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
2020-07-17 18:09:28 +00:00
\f[
|x|^2 = x x^* = a^2 + b^2.
2020-07-17 18:09:28 +00:00
\f]
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
2020-07-17 18:09:28 +00:00
\code{.cpp}
complex_t z;
double y;
RE(z) = 1.0;
IM(z) = -2.0;
y = ABSSQR(z);
\endcode
2020-07-17 18:09:28 +00:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `z = 1-2j`, <EFBFBD><EFBFBD><EFBFBD> `j` - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `y = 5`.
2020-07-17 18:09:28 +00:00
***************************************************************************** */
#endif
#define ABSSQR(x) ((SQR(RE(x))) + (SQR(IM(x))))
2019-03-31 17:08:11 +00:00
2018-03-12 20:48:32 +00:00
#define ABS(x) sqrt((ABSSQR(x)))
2020-07-17 18:09:28 +00:00
2018-11-17 15:12:29 +00:00
#define ARG(x) atan2(IM(x), RE(x))
2018-03-12 20:48:32 +00:00
2020-07-17 18:09:28 +00:00
2018-03-12 20:48:32 +00:00
#define CMRE(a,b) ((RE(a)) * (RE(b)) - (IM(a)) * (IM(b)))
2020-07-17 18:09:28 +00:00
2018-03-12 20:48:32 +00:00
#define CMIM(a,b) ((RE(a)) * (IM(b)) + (IM(a)) * (RE(b)))
2020-07-17 18:09:28 +00:00
2018-03-12 20:48:32 +00:00
#define CMCONJRE(a, b) ((RE(a)) * (RE(b)) + (IM(a)) * (IM(b)))
2020-07-17 18:09:28 +00:00
#define CMCONJIM(a, b) ((IM(a)) * (RE(b)) - (RE(a)) * (IM(b)))
2018-03-12 20:48:32 +00:00
2018-10-24 17:39:51 +00:00
#define RES_OK 0
/* Error codes */
/* A 0x01xxxxxx*/
Added gnuplot interface commande line functions. No need to use plt filees anymore Changes to be committed: deleted: bin/gnuplot/bessel_i0.plt deleted: bin/gnuplot/bilinear_test.plt deleted: bin/gnuplot/butter_ap_test.plt deleted: bin/gnuplot/cheby1_ap_test.plt deleted: bin/gnuplot/cheby_poly1.plt deleted: bin/gnuplot/cheby_poly2.plt deleted: bin/gnuplot/filter_iir.plt deleted: bin/gnuplot/gnuplot_script.plt deleted: bin/gnuplot/iir_bstop.plt deleted: bin/gnuplot/iir_lpf.plt deleted: bin/gnuplot/iir_test.plt deleted: bin/gnuplot/sinc_test.plt deleted: bin/gnuplot/sine_int.plt modified: bin/img/bessel_i0.png modified: bin/img/bilinear.png modified: bin/img/cheby_poly1.png modified: bin/img/cheby_poly2.png modified: bin/img/filter_iir_test.png deleted: bin/img/gnuplot_script.png modified: bin/img/iir_bstop.png modified: bin/img/iir_lpf.png modified: bin/img/iir_test.png modified: bin/img/sinc_test.png new file: dspl/doc/html/_form0_tmp.ps new file: dspl/doc/html/_formulas.aux new file: dspl/doc/html/_formulas.dvi new file: dspl/doc/html/_formulas.log new file: dspl/doc/html/_formulas.tex deleted: dspl/doc/html/formula.repository modified: dspl/dox/doxyfile_ru modified: dspl/dox/ru/error_list.dox new file: dspl/dox/ru/gnuplot.dox modified: dspl/dox/ru/groups_define.dox modified: dspl/dox/ru/mainpage.dox new file: dspl/src/gnuplot.c modified: dspl/src/inout.c modified: examples/src/bessel_i0.c modified: examples/src/bilinear_test.c modified: examples/src/butter_ap_test.c modified: examples/src/cheby1_ap_test.c modified: examples/src/cheby2_ap_zp_test.c modified: examples/src/cheby_poly1_test.c modified: examples/src/cheby_poly2_test.c modified: examples/src/filter_iir_test.c modified: examples/src/gnuplot_script_test.c modified: examples/src/iir_bstop.c modified: examples/src/iir_lpf.c modified: examples/src/iir_test.c modified: examples/src/sinc_test.c modified: examples/src/sine_int_test.c deleted: examples/src/test.c modified: ide/codeblocks/examples.depend modified: include/dspl.c modified: include/dspl.h
2020-01-09 19:31:03 +00:00
#define ERROR_ARG_PARAM 0x01180716
2018-10-24 17:39:51 +00:00
/* B 0x02xxxxxx*/
/* C 0x03xxxxxx*/
/* D 0x04xxxxxx*/
#define ERROR_DAT_TYPE 0x04012020
#define ERROR_DIV_ZERO 0x04102226
/* E 0x05xxxxxx*/
#define ERROR_ELLIP_MODULE 0x05121315
/* F 0x06xxxxxx*/
#define ERROR_FFT_SIZE 0x06062021
2019-04-28 20:44:51 +00:00
#define ERROR_FILTER_A0 0x06090100
#define ERROR_FILTER_APPROX 0x06090116
#define ERROR_FILTER_FT 0x06090620
#define ERROR_FILTER_ORD 0x06091518
#define ERROR_FILTER_ORD_BP 0x06091519
#define ERROR_FILTER_RP 0x06091816
#define ERROR_FILTER_RS 0x06091819
#define ERROR_FILTER_TYPE 0x06092025
#define ERROR_FILTER_WP 0x06092316
#define ERROR_FILTER_WS 0x06092319
2018-10-24 17:39:51 +00:00
#define ERROR_FNAME 0x06140113
#define ERROR_FOPEN 0x06151605
#define ERROR_FREAD_SIZE 0x06180501
#define ERROR_FS 0x06190000
2018-10-24 17:39:51 +00:00
#define ERROR_FWRITE_SIZE 0x06231820
/* G 0x07xxxxxx*/
Added gnuplot interface commande line functions. No need to use plt filees anymore Changes to be committed: deleted: bin/gnuplot/bessel_i0.plt deleted: bin/gnuplot/bilinear_test.plt deleted: bin/gnuplot/butter_ap_test.plt deleted: bin/gnuplot/cheby1_ap_test.plt deleted: bin/gnuplot/cheby_poly1.plt deleted: bin/gnuplot/cheby_poly2.plt deleted: bin/gnuplot/filter_iir.plt deleted: bin/gnuplot/gnuplot_script.plt deleted: bin/gnuplot/iir_bstop.plt deleted: bin/gnuplot/iir_lpf.plt deleted: bin/gnuplot/iir_test.plt deleted: bin/gnuplot/sinc_test.plt deleted: bin/gnuplot/sine_int.plt modified: bin/img/bessel_i0.png modified: bin/img/bilinear.png modified: bin/img/cheby_poly1.png modified: bin/img/cheby_poly2.png modified: bin/img/filter_iir_test.png deleted: bin/img/gnuplot_script.png modified: bin/img/iir_bstop.png modified: bin/img/iir_lpf.png modified: bin/img/iir_test.png modified: bin/img/sinc_test.png new file: dspl/doc/html/_form0_tmp.ps new file: dspl/doc/html/_formulas.aux new file: dspl/doc/html/_formulas.dvi new file: dspl/doc/html/_formulas.log new file: dspl/doc/html/_formulas.tex deleted: dspl/doc/html/formula.repository modified: dspl/dox/doxyfile_ru modified: dspl/dox/ru/error_list.dox new file: dspl/dox/ru/gnuplot.dox modified: dspl/dox/ru/groups_define.dox modified: dspl/dox/ru/mainpage.dox new file: dspl/src/gnuplot.c modified: dspl/src/inout.c modified: examples/src/bessel_i0.c modified: examples/src/bilinear_test.c modified: examples/src/butter_ap_test.c modified: examples/src/cheby1_ap_test.c modified: examples/src/cheby2_ap_zp_test.c modified: examples/src/cheby_poly1_test.c modified: examples/src/cheby_poly2_test.c modified: examples/src/filter_iir_test.c modified: examples/src/gnuplot_script_test.c modified: examples/src/iir_bstop.c modified: examples/src/iir_lpf.c modified: examples/src/iir_test.c modified: examples/src/sinc_test.c modified: examples/src/sine_int_test.c deleted: examples/src/test.c modified: ide/codeblocks/examples.depend modified: include/dspl.c modified: include/dspl.h
2020-01-09 19:31:03 +00:00
#define ERROR_GNUPLOT_CREATE 0x07161203
#define ERROR_GNUPLOT_FNPNG 0x07161206
#define ERROR_GNUPLOT_TERM 0x07161220
2018-10-24 17:39:51 +00:00
/* H 0x08xxxxxx*/
/* I 0x09xxxxxx*/
#define ERROR_INF 0x09140600
2018-10-24 17:39:51 +00:00
/* J 0x10xxxxxx*/
/* K 0x11xxxxxx*/
/* L 0x12xxxxxx*/
#define ERROR_LAPACK 0x12011601
2018-10-24 17:39:51 +00:00
/* M 0x13xxxxxx*/
#define ERROR_MALLOC 0x13011212
2019-02-26 20:37:58 +00:00
#define ERROR_MATRIX_SIZE 0x13011926
2020-04-14 17:01:23 +00:00
#define ERROR_MIN_MAX 0x13091413
2018-10-24 17:39:51 +00:00
/* N 0x14xxxxxx*/
#define ERROR_NAN 0x14011400
2018-10-24 17:39:51 +00:00
#define ERROR_NEGATIVE 0x14050701
/* O 0x15xxxxxx*/
#define ERROR_OVERLAP 0x15220412
2018-10-24 17:39:51 +00:00
/* P 0x16xxxxxx*/
#define ERROR_POLY_AN 0x16150114
2018-10-24 17:39:51 +00:00
#define ERROR_POLY_ORD 0x16151518
#define ERROR_PTR 0x16201800
/* Q 0x17xxxxxx*/
/* R 0x18xxxxxx*/
#define ERROR_RAND_SIGMA 0x18011909
2019-10-20 16:49:09 +00:00
#define ERROR_RAND_TYPE 0x18012009
2018-10-24 17:39:51 +00:00
#define ERROR_RESAMPLE_RATIO 0x18051801
#define ERROR_RESAMPLE_FRAC_DELAY 0x18050604
/* S 0x19xxxxxx*/
#define ERROR_SIZE 0x19092605
#define ERROR_SYM_TYPE 0x19251320
/* T 0x20xxxxxx*/
/* U 0x21xxxxxx*/
#define ERROR_UNWRAP 0x21142318
/* V 0x22xxxxxx*/
/* W 0x23xxxxxx*/
#define ERROR_WIN_PARAM 0x23091601
2018-10-24 17:39:51 +00:00
#define ERROR_WIN_SYM 0x23091925
#define ERROR_WIN_TYPE 0x23092025
2018-10-24 17:39:51 +00:00
/* X 0x24xxxxxx*/
#define ERROR_XCORR_FLAG 0x24031518
2018-10-24 17:39:51 +00:00
/* Y 0x25xxxxxx*/
/* Z 0x26xxxxxx*/
#define DAT_MASK 0x00000001
#define DAT_DOUBLE 0x00000000
#define DAT_COMPLEX 0x00000001
#define DSPL_MATRIX_BLOCK 32
#define DSPL_SYMMETRIC 0x00000000
#define DSPL_PERIODIC 0x00000001
2019-04-28 20:44:51 +00:00
#define DSPL_FLAG_DIGITAL 0x00000000
#define DSPL_FLAG_ANALOG 0x00000001
#define DSPL_FLAG_LOGMAG 0x00000002
#define DSPL_FLAG_UNWRAP 0x00000004
#define DSPL_FLAG_FFT_SHIFT 0x00000008
#define DSPL_FLAG_PSD_TWOSIDED DSPL_FLAG_FFT_SHIFT
2019-04-28 20:44:51 +00:00
2018-10-24 17:39:51 +00:00
#define DSPL_WIN_SYM_MASK 0x00000001
#define DSPL_WIN_MASK 0x00FFFFFE
2018-10-24 17:39:51 +00:00
#define DSPL_WIN_SYMMETRIC DSPL_SYMMETRIC
#define DSPL_WIN_PERIODIC DSPL_PERIODIC
#define DSPL_WIN_BARTLETT 0x00000004
#define DSPL_WIN_BARTLETT_HANN 0x00000008
#define DSPL_WIN_BLACKMAN 0x00000010
#define DSPL_WIN_BLACKMAN_HARRIS 0x00000040
#define DSPL_WIN_BLACKMAN_NUTTALL 0x00000080
#define DSPL_WIN_FLAT_TOP 0x00000100
#define DSPL_WIN_GAUSSIAN 0x00000400
#define DSPL_WIN_HAMMING 0x00000800
#define DSPL_WIN_HANN 0x00001000
#define DSPL_WIN_LANCZOS 0x00004000
#define DSPL_WIN_NUTTALL 0x00008000
#define DSPL_WIN_RECT 0x00010000
#define DSPL_WIN_COS 0x00040000
#define DSPL_WIN_CHEBY 0x00080000
2019-02-20 20:41:47 +00:00
#define DSPL_WIN_KAISER 0x00100000
2018-10-24 17:39:51 +00:00
2019-04-28 20:44:51 +00:00
#define DSPL_FILTER_TYPE_MASK 0x000000FF
#define DSPL_FILTER_LPF 0x00000001
#define DSPL_FILTER_HPF 0x00000002
#define DSPL_FILTER_BPASS 0x00000004
#define DSPL_FILTER_BSTOP 0x00000008
2019-04-28 20:44:51 +00:00
#define DSPL_FILTER_APPROX_MASK 0x0000FF00
#define DSPL_FILTER_BUTTER 0x00000100
#define DSPL_FILTER_CHEBY1 0x00000200
#define DSPL_FILTER_CHEBY2 0x00000400
#define DSPL_FILTER_ELLIP 0x00000800
#define DSPL_XCORR_NOSCALE 0x00000000
#define DSPL_XCORR_BIASED 0x00000001
#define DSPL_XCORR_UNBIASED 0x00000002
2018-10-24 17:39:51 +00:00
#define ELLIP_ITER 16
#define ELLIP_MAX_ORD 24
2018-03-12 21:04:40 +00:00
#define DSPL_VERIF_FAILED 1
#define DSPL_VERIF_SUCCESS 0
2018-03-12 21:04:40 +00:00
Added gnuplot interface commande line functions. No need to use plt filees anymore Changes to be committed: deleted: bin/gnuplot/bessel_i0.plt deleted: bin/gnuplot/bilinear_test.plt deleted: bin/gnuplot/butter_ap_test.plt deleted: bin/gnuplot/cheby1_ap_test.plt deleted: bin/gnuplot/cheby_poly1.plt deleted: bin/gnuplot/cheby_poly2.plt deleted: bin/gnuplot/filter_iir.plt deleted: bin/gnuplot/gnuplot_script.plt deleted: bin/gnuplot/iir_bstop.plt deleted: bin/gnuplot/iir_lpf.plt deleted: bin/gnuplot/iir_test.plt deleted: bin/gnuplot/sinc_test.plt deleted: bin/gnuplot/sine_int.plt modified: bin/img/bessel_i0.png modified: bin/img/bilinear.png modified: bin/img/cheby_poly1.png modified: bin/img/cheby_poly2.png modified: bin/img/filter_iir_test.png deleted: bin/img/gnuplot_script.png modified: bin/img/iir_bstop.png modified: bin/img/iir_lpf.png modified: bin/img/iir_test.png modified: bin/img/sinc_test.png new file: dspl/doc/html/_form0_tmp.ps new file: dspl/doc/html/_formulas.aux new file: dspl/doc/html/_formulas.dvi new file: dspl/doc/html/_formulas.log new file: dspl/doc/html/_formulas.tex deleted: dspl/doc/html/formula.repository modified: dspl/dox/doxyfile_ru modified: dspl/dox/ru/error_list.dox new file: dspl/dox/ru/gnuplot.dox modified: dspl/dox/ru/groups_define.dox modified: dspl/dox/ru/mainpage.dox new file: dspl/src/gnuplot.c modified: dspl/src/inout.c modified: examples/src/bessel_i0.c modified: examples/src/bilinear_test.c modified: examples/src/butter_ap_test.c modified: examples/src/cheby1_ap_test.c modified: examples/src/cheby2_ap_zp_test.c modified: examples/src/cheby_poly1_test.c modified: examples/src/cheby_poly2_test.c modified: examples/src/filter_iir_test.c modified: examples/src/gnuplot_script_test.c modified: examples/src/iir_bstop.c modified: examples/src/iir_lpf.c modified: examples/src/iir_test.c modified: examples/src/sinc_test.c modified: examples/src/sine_int_test.c deleted: examples/src/test.c modified: ide/codeblocks/examples.depend modified: include/dspl.c modified: include/dspl.h
2020-01-09 19:31:03 +00:00
#define PLOT_HOLD 0x00000001
#define VERIF_STR_BUF 128
#define VERIF_STR_LEN 48
#define VERIF_CHAR_POINT 46
#define VERIF_LEVEL_COMPLEX 1E-11
#define VERIF_LEVEL_DOUBLE 1E-12
2018-03-12 20:48:32 +00:00
#ifdef __cplusplus
2018-10-24 17:39:51 +00:00
extern "C" {
2018-03-12 20:48:32 +00:00
#endif
#ifdef BUILD_LIB
2019-10-13 14:19:50 +00:00
/* Declare DSPL_API for Windows OS */
2018-10-24 17:39:51 +00:00
#ifdef WIN_OS
#define DSPL_API __declspec(dllexport)
2019-10-13 14:19:50 +00:00
#endif /* WIN_OS */
/* Declare DSPL_API for LINUX OS */
2018-10-24 17:39:51 +00:00
#ifdef LINUX_OS
#define DSPL_API
2019-10-13 14:19:50 +00:00
#endif /* LINUX_OS */
#endif /* BUILD_DLL */
2018-03-12 20:48:32 +00:00
#define COMMA ,
2018-03-12 20:48:32 +00:00
#ifdef BUILD_LIB
2020-07-17 18:09:28 +00:00
#define DECLARE_FUNC(type, fn, param)\
type DSPL_API fn(param);
#endif
2018-03-12 20:48:32 +00:00
#ifndef BUILD_LIB
2020-07-17 18:09:28 +00:00
#define DECLARE_FUNC( type, fn, param)\
typedef type (*p_##fn)(param);\
extern p_##fn fn;
2018-03-12 21:04:40 +00:00
#endif
2018-03-12 21:04:40 +00:00
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, acos_cmplx, complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, addlog, char* str
COMMA char* fn);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, array_scale_lin, double* x
2020-04-14 17:01:23 +00:00
COMMA int n
COMMA double xmin
COMMA double xmax
COMMA double dx
2020-04-14 17:01:23 +00:00
COMMA double h
COMMA double* y);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, asin_cmplx, complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, bessel_i0, double* x
COMMA int n
COMMA double* y);
/*----------------------------------------------------------------------------*/
2019-04-28 20:44:51 +00:00
DECLARE_FUNC(int, bilinear, double* bs
COMMA double* as
COMMA int ord
COMMA double* bz
COMMA double* az);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, butter_ap, double
COMMA int
COMMA double*
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, butter_ap_zp, int
COMMA double
COMMA complex_t*
COMMA int*
COMMA complex_t*
COMMA int*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, cheby_poly1, double*
COMMA int
COMMA int
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, cheby_poly2, double*
COMMA int
COMMA int
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, cheby1_ap, double
COMMA int
COMMA double*
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, cheby1_ap_zp, int
COMMA double
COMMA complex_t*
COMMA int*
COMMA complex_t*
COMMA int*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, cheby2_ap, double rs
COMMA int ord
COMMA double* b
2019-06-09 12:25:11 +00:00
COMMA double* a);
/*----------------------------------------------------------------------------*/
2019-06-09 12:25:11 +00:00
DECLARE_FUNC(int, cheby2_ap_wp1, double rp
COMMA double rs
COMMA int ord
COMMA double* b
2018-10-24 17:39:51 +00:00
COMMA double* a);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, cheby2_ap_zp, int
COMMA double
COMMA complex_t*
COMMA int*
COMMA complex_t*
COMMA int*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, cmplx2re, complex_t*
COMMA int
COMMA double*
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, concat, void*
COMMA size_t
COMMA void*
COMMA size_t
COMMA void*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, conv, double*
COMMA int
COMMA double*
COMMA int
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, conv_cmplx, complex_t*
COMMA int
COMMA complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, conv_fft, double* a
COMMA int na
COMMA double* b
COMMA int nb
COMMA fft_t* pfft
COMMA int nfft
COMMA double* c);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, conv_fft_cmplx, complex_t* a
COMMA int na
COMMA complex_t* b
COMMA int nb
COMMA fft_t* pfft
COMMA int nfft
2018-10-24 17:39:51 +00:00
COMMA complex_t* c);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, cos_cmplx, complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, decimate, double* x
COMMA int n
2019-06-09 20:58:50 +00:00
COMMA int d
2018-10-24 17:39:51 +00:00
COMMA double* y
COMMA int* cnt);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, decimate_cmplx, complex_t* x
COMMA int n
2019-06-09 20:58:50 +00:00
COMMA int d
2018-10-24 17:39:51 +00:00
COMMA complex_t* y
COMMA int* cnt);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, dft, double*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, dft_cmplx, complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-25 17:25:39 +00:00
DECLARE_FUNC(double, dmod, double
2018-10-24 17:39:51 +00:00
COMMA double);
/*----------------------------------------------------------------------------*/
2018-10-25 17:25:39 +00:00
DECLARE_FUNC(void, dspl_info, void);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_acd, double* w
COMMA int n
COMMA double k
COMMA double* u);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_acd_cmplx, complex_t* w
COMMA int n
COMMA double k
COMMA complex_t* u);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_ap, double rp
COMMA double rs
COMMA int ord
COMMA double* b
COMMA double* a);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_ap_zp, int ord
COMMA double rp
COMMA double rs
COMMA complex_t* z
COMMA int* nz
COMMA complex_t* p
COMMA int* np);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_asn, double* w
COMMA int n
COMMA double k
COMMA double* u);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_asn_cmplx, complex_t* w
COMMA int n
COMMA double k
COMMA complex_t* u);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_cd, double* u
COMMA int n
COMMA double k
COMMA double* y);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_cd_cmplx, complex_t* u
COMMA int n
COMMA double k
COMMA complex_t* y);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_landen, double k
COMMA int n
COMMA double* y);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_modulareq, double rp
COMMA double rs
COMMA int ord
COMMA double* k);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_rat, double* w
COMMA int n
COMMA int ord
COMMA double k
COMMA double* u);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_sn, double* u
COMMA int n
COMMA double k
COMMA double* y);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ellip_sn_cmplx, complex_t* u
COMMA int n
COMMA double k
COMMA complex_t* y);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, farrow_lagrange, double*
COMMA int
COMMA double
COMMA double
COMMA double
COMMA double**
COMMA int*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, farrow_spline, double*
COMMA int
COMMA double
COMMA double
COMMA double
COMMA double**
COMMA int*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, fft, double*
COMMA int
COMMA fft_t*
COMMA complex_t* );
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, fft_abs, double* x
COMMA int n
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* mag
COMMA double* freq);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, fft_abs_cmplx, complex_t* x
COMMA int n
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* mag
COMMA double* freq);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, fft_cmplx, complex_t*
COMMA int
COMMA fft_t*
COMMA complex_t* );
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, fft_create, fft_t*
COMMA int);
/*----------------------------------------------------------------------------*/
2018-10-25 17:25:39 +00:00
DECLARE_FUNC(void, fft_free, fft_t*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, fft_mag, double* x
COMMA int n
2019-10-27 20:38:18 +00:00
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* mag
COMMA double* freq);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, fft_mag_cmplx, complex_t* x
COMMA int n
2019-10-27 20:38:18 +00:00
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* mag
COMMA double* freq);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, fft_shift, double*
COMMA int n
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, fft_shift_cmplx, complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2019-04-28 20:44:51 +00:00
DECLARE_FUNC(int, filter_freq_resp, double* b
COMMA double* a
COMMA int ord
COMMA double* w
COMMA int n
COMMA int flag
COMMA double* mag
COMMA double* phi
COMMA double* tau);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, filter_iir, double*
COMMA double*
COMMA int
COMMA double*
COMMA int
COMMA double*);
/*----------------------------------------------------------------------------*/
2019-08-31 13:40:54 +00:00
DECLARE_FUNC(double, filter_ws1, int ord
COMMA double rp
COMMA double rs
COMMA int type);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, filter_zp2ab, complex_t*
COMMA int
COMMA complex_t*
COMMA int
COMMA int
COMMA double*
COMMA double*);
/*----------------------------------------------------------------------------*/
2019-02-26 20:37:58 +00:00
DECLARE_FUNC(int, find_max_abs, double* a
COMMA int n
COMMA double* m
COMMA int* ind);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, fir_linphase, int ord
COMMA double w0
COMMA double w1
COMMA int filter_type
COMMA int wintype
COMMA double winparam
COMMA double* h);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, flipip, double*
COMMA int);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, flipip_cmplx, complex_t*
COMMA int);
/*----------------------------------------------------------------------------*/
2018-11-17 15:12:29 +00:00
DECLARE_FUNC(int, fourier_integral_cmplx, double* t
COMMA complex_t* s
COMMA int nt
COMMA int nw
COMMA double* w
COMMA complex_t* y);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, fourier_series_dec, double*
COMMA double*
COMMA int
COMMA double
COMMA int
COMMA double*
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, fourier_series_dec_cmplx, double* t
COMMA complex_t* s
COMMA int nt
COMMA double period
COMMA int nw
COMMA double* w
COMMA complex_t* y);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, fourier_series_rec, double*
COMMA complex_t*
COMMA int
COMMA double*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, freqs, double*
COMMA double*
COMMA int
COMMA double*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, freqs_cmplx, double* b
COMMA double* a
COMMA int ord
COMMA complex_t* s
COMMA int n
COMMA complex_t* h);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, freqs2time, double*
COMMA double*
COMMA int
COMMA double
COMMA int
COMMA fft_t*
COMMA double*
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, freqz, double*
COMMA double*
COMMA int
COMMA double*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
Added gnuplot interface commande line functions. No need to use plt filees anymore Changes to be committed: deleted: bin/gnuplot/bessel_i0.plt deleted: bin/gnuplot/bilinear_test.plt deleted: bin/gnuplot/butter_ap_test.plt deleted: bin/gnuplot/cheby1_ap_test.plt deleted: bin/gnuplot/cheby_poly1.plt deleted: bin/gnuplot/cheby_poly2.plt deleted: bin/gnuplot/filter_iir.plt deleted: bin/gnuplot/gnuplot_script.plt deleted: bin/gnuplot/iir_bstop.plt deleted: bin/gnuplot/iir_lpf.plt deleted: bin/gnuplot/iir_test.plt deleted: bin/gnuplot/sinc_test.plt deleted: bin/gnuplot/sine_int.plt modified: bin/img/bessel_i0.png modified: bin/img/bilinear.png modified: bin/img/cheby_poly1.png modified: bin/img/cheby_poly2.png modified: bin/img/filter_iir_test.png deleted: bin/img/gnuplot_script.png modified: bin/img/iir_bstop.png modified: bin/img/iir_lpf.png modified: bin/img/iir_test.png modified: bin/img/sinc_test.png new file: dspl/doc/html/_form0_tmp.ps new file: dspl/doc/html/_formulas.aux new file: dspl/doc/html/_formulas.dvi new file: dspl/doc/html/_formulas.log new file: dspl/doc/html/_formulas.tex deleted: dspl/doc/html/formula.repository modified: dspl/dox/doxyfile_ru modified: dspl/dox/ru/error_list.dox new file: dspl/dox/ru/gnuplot.dox modified: dspl/dox/ru/groups_define.dox modified: dspl/dox/ru/mainpage.dox new file: dspl/src/gnuplot.c modified: dspl/src/inout.c modified: examples/src/bessel_i0.c modified: examples/src/bilinear_test.c modified: examples/src/butter_ap_test.c modified: examples/src/cheby1_ap_test.c modified: examples/src/cheby2_ap_zp_test.c modified: examples/src/cheby_poly1_test.c modified: examples/src/cheby_poly2_test.c modified: examples/src/filter_iir_test.c modified: examples/src/gnuplot_script_test.c modified: examples/src/iir_bstop.c modified: examples/src/iir_lpf.c modified: examples/src/iir_test.c modified: examples/src/sinc_test.c modified: examples/src/sine_int_test.c deleted: examples/src/test.c modified: ide/codeblocks/examples.depend modified: include/dspl.c modified: include/dspl.h
2020-01-09 19:31:03 +00:00
DECLARE_FUNC(void, gnuplot_close, void* h);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(void, gnuplot_cmd, void* h
COMMA char* cmd);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, gnuplot_create, int argc
COMMA char* argv[]
Added gnuplot interface commande line functions. No need to use plt filees anymore Changes to be committed: deleted: bin/gnuplot/bessel_i0.plt deleted: bin/gnuplot/bilinear_test.plt deleted: bin/gnuplot/butter_ap_test.plt deleted: bin/gnuplot/cheby1_ap_test.plt deleted: bin/gnuplot/cheby_poly1.plt deleted: bin/gnuplot/cheby_poly2.plt deleted: bin/gnuplot/filter_iir.plt deleted: bin/gnuplot/gnuplot_script.plt deleted: bin/gnuplot/iir_bstop.plt deleted: bin/gnuplot/iir_lpf.plt deleted: bin/gnuplot/iir_test.plt deleted: bin/gnuplot/sinc_test.plt deleted: bin/gnuplot/sine_int.plt modified: bin/img/bessel_i0.png modified: bin/img/bilinear.png modified: bin/img/cheby_poly1.png modified: bin/img/cheby_poly2.png modified: bin/img/filter_iir_test.png deleted: bin/img/gnuplot_script.png modified: bin/img/iir_bstop.png modified: bin/img/iir_lpf.png modified: bin/img/iir_test.png modified: bin/img/sinc_test.png new file: dspl/doc/html/_form0_tmp.ps new file: dspl/doc/html/_formulas.aux new file: dspl/doc/html/_formulas.dvi new file: dspl/doc/html/_formulas.log new file: dspl/doc/html/_formulas.tex deleted: dspl/doc/html/formula.repository modified: dspl/dox/doxyfile_ru modified: dspl/dox/ru/error_list.dox new file: dspl/dox/ru/gnuplot.dox modified: dspl/dox/ru/groups_define.dox modified: dspl/dox/ru/mainpage.dox new file: dspl/src/gnuplot.c modified: dspl/src/inout.c modified: examples/src/bessel_i0.c modified: examples/src/bilinear_test.c modified: examples/src/butter_ap_test.c modified: examples/src/cheby1_ap_test.c modified: examples/src/cheby2_ap_zp_test.c modified: examples/src/cheby_poly1_test.c modified: examples/src/cheby_poly2_test.c modified: examples/src/filter_iir_test.c modified: examples/src/gnuplot_script_test.c modified: examples/src/iir_bstop.c modified: examples/src/iir_lpf.c modified: examples/src/iir_test.c modified: examples/src/sinc_test.c modified: examples/src/sine_int_test.c deleted: examples/src/test.c modified: ide/codeblocks/examples.depend modified: include/dspl.c modified: include/dspl.h
2020-01-09 19:31:03 +00:00
COMMA int w
COMMA int h
COMMA char* fn_png
COMMA void** hplot);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, gnuplot_open, void** hplot);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, goertzel, double*
COMMA int
COMMA int*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, goertzel_cmplx, complex_t*
COMMA int
COMMA int*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, group_delay, double* b
COMMA double* a
COMMA int ord
COMMA int flag
COMMA double* w
COMMA int n
COMMA double* tau);
/*----------------------------------------------------------------------------*/
2019-04-28 20:44:51 +00:00
DECLARE_FUNC(int, histogram, double* x
COMMA int n
COMMA int nh
COMMA double* pedges
COMMA double* ph);
/*----------------------------------------------------------------------------*/
2019-04-28 20:44:51 +00:00
DECLARE_FUNC(int, histogram_norm, double* y
COMMA int n
COMMA int nh
COMMA double* x
COMMA double* w);
/*----------------------------------------------------------------------------*/
2019-04-28 20:44:51 +00:00
DECLARE_FUNC(int, idft_cmplx, complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2019-04-28 20:44:51 +00:00
DECLARE_FUNC(int, ifft_cmplx, complex_t*
COMMA int
COMMA fft_t*
COMMA complex_t* );
/*----------------------------------------------------------------------------*/
2019-04-28 20:44:51 +00:00
DECLARE_FUNC(int, iir, double rp
COMMA double rs
COMMA int ord
COMMA double w0
COMMA double w1
COMMA int type
COMMA double* b
COMMA double* a);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, linspace, double
COMMA double
COMMA int
COMMA int
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, log_cmplx, complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, logspace, double
COMMA double
COMMA int
COMMA int
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, low2bp, double* b
COMMA double* a
COMMA int ord
COMMA double w0
COMMA double wpl
COMMA double wph
COMMA double* beta
COMMA double* alpha);
/*----------------------------------------------------------------------------*/
2019-07-05 17:38:59 +00:00
DECLARE_FUNC(int, low2bs, double* b
COMMA double* a
COMMA int ord
COMMA double w0
COMMA double wsl
COMMA double wsh
COMMA double* beta
COMMA double* alpha);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, low2high, double* b
COMMA double* a
COMMA int ord
COMMA double w0
COMMA double w1
COMMA double* beta
COMMA double* alpha);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, low2low, double* b
COMMA double* a
COMMA int ord
COMMA double w0
COMMA double w1
COMMA double* beta
COMMA double* alpha);
/*----------------------------------------------------------------------------*/
2019-10-27 20:38:18 +00:00
DECLARE_FUNC(int, matrix_eig_cmplx, complex_t* a
2018-10-24 17:39:51 +00:00
COMMA int n
COMMA complex_t* v
COMMA int* info);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, matrix_eye, double* a
2019-02-26 20:37:58 +00:00
COMMA int n
COMMA int m);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, matrix_eye_cmplx, complex_t* a
COMMA int n
COMMA int m);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, matrix_mul, double* a
COMMA int na
COMMA int ma
COMMA double* b
COMMA int nb
COMMA int mb
COMMA double* c);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, matrix_print, double* a
COMMA int n
2019-10-27 20:38:18 +00:00
COMMA int m
2018-10-24 17:39:51 +00:00
COMMA const char* name
COMMA const char* format);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, matrix_print_cmplx, complex_t* a
2019-10-27 20:38:18 +00:00
COMMA int n
COMMA int m
COMMA const char* name
COMMA const char* format);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, matrix_transpose, double* a
COMMA int n
COMMA int m
COMMA double* b);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, matrix_transpose_cmplx, complex_t* a
COMMA int n
COMMA int m
COMMA complex_t* b);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, matrix_transpose_hermite, complex_t* a
COMMA int n
COMMA int m
COMMA complex_t* b);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, mean, double* x
COMMA int n
COMMA double* m);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, mean_cmplx, complex_t* x
COMMA int n
COMMA complex_t* m);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, minmax, double* x
COMMA int n
COMMA double* xmin
COMMA double* xmax);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, ones, double* x
COMMA int n);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, phase_delay, double* b
COMMA double* a
COMMA int ord
COMMA int flag
COMMA double* w
COMMA int n
COMMA double* tau);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, poly_z2a_cmplx, complex_t*
COMMA int
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, polyroots, double* a
COMMA int ord
COMMA complex_t* r
COMMA int* info);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, polyval, double*
COMMA int
COMMA double*
COMMA int
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, polyval_cmplx, complex_t*
COMMA int
COMMA complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, psd_bartlett, double* x
COMMA int n
COMMA int nfft
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* ppsd
COMMA double* pfrq);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, psd_bartlett_cmplx, complex_t* x
COMMA int n
COMMA int nfft
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* ppsd
COMMA double* pfrq);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, psd_periodogram, double* x
COMMA int n
COMMA int win_type
COMMA double win_param
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* ppsd
COMMA double* pfrq);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, psd_periodogram_cmplx, complex_t* x
COMMA int n
COMMA int win_type
COMMA double win_param
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* ppsd
COMMA double* pfrq);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, psd_welch, double* x
COMMA int n
COMMA int win_type
COMMA double win_param
COMMA int npsd
COMMA int noverlap
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* ppsd
COMMA double* pfrq);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, psd_welch_cmplx, complex_t* x
COMMA int n
COMMA int win_type
COMMA double win_param
COMMA int npsd
COMMA int noverlap
COMMA fft_t* pfft
COMMA double fs
COMMA int flag
COMMA double* ppsd
COMMA double* pfrq);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, randb, double* x
COMMA int n
COMMA random_t* prnd);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, randb2, double* x
COMMA int n
COMMA random_t* prnd);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, randi, int* x
COMMA int n
COMMA int start
COMMA int stop
COMMA random_t* prnd);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, randn, double* x
COMMA int n
COMMA double mu
COMMA double sigma
COMMA random_t* prnd);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, randn_cmplx, complex_t* x
COMMA int n
COMMA complex_t* mu
COMMA double sigma
2019-03-31 17:08:11 +00:00
COMMA random_t* prnd);
/*----------------------------------------------------------------------------*/
2019-10-20 16:49:09 +00:00
DECLARE_FUNC(int, random_init, random_t* prnd
2019-10-27 20:38:18 +00:00
COMMA int type
COMMA void* seed);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, randu, double*
2019-03-31 17:08:11 +00:00
COMMA int
COMMA random_t* prnd);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, ratcompos, double* b
COMMA double* a
COMMA int n
COMMA double* c
COMMA double* d
COMMA int p
COMMA double* beta
COMMA double* alpha);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, re2cmplx, double*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, readbin, char* fn
COMMA void** x
COMMA int* k
COMMA int* dtype);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, signal_pimp, double*
COMMA size_t
COMMA double
COMMA double
COMMA double
COMMA double
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, signal_saw, double* t
COMMA size_t n
COMMA double amp
COMMA double dt
COMMA double period
COMMA double* y);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, sin_cmplx, complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, sinc, double* x
COMMA int n
COMMA double a
COMMA double* y);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, sine_int, double* x
COMMA int n
COMMA double* si);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, sqrt_cmplx, complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, std, double* x
COMMA int n
COMMA double* s);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, std_cmplx, complex_t* x
COMMA int n
COMMA double* s);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, trapint, double*
COMMA double*
COMMA int
COMMA double*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, trapint_cmplx, double*
COMMA complex_t*
COMMA int
COMMA complex_t*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, unwrap, double*
COMMA int
COMMA double
COMMA double);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, vector_dot, double* x
COMMA double* y
COMMA int n
COMMA double* p);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, verif, double* x
COMMA double* y
COMMA size_t n
COMMA double eps
2019-10-27 20:38:18 +00:00
COMMA double* err);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, verif_data_gen, int len
COMMA int type
COMMA char* fn);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, verif_cmplx, complex_t* x
COMMA complex_t* y
COMMA size_t n
COMMA double eps
COMMA double* err);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(void, verif_str, double* yout
COMMA int nout
COMMA char* str_msg
COMMA char* outfn
COMMA char* logfn);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(void, verif_str_cmplx, complex_t* yout
COMMA int nout
COMMA char* str_msg
COMMA char* outfn
COMMA char* logfn);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, window, double* w
COMMA int n
COMMA int win_type
COMMA double param);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, writebin, void*
COMMA int
COMMA int
COMMA char*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, writetxt, double*
COMMA double*
COMMA int
COMMA char* );
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, writetxt_3d, double* x
COMMA int nx
COMMA double* y
COMMA int ny
COMMA double* z
COMMA char* fn);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, writetxt_3dline, double* x
COMMA double* y
COMMA double* z
COMMA int n
COMMA char* fn);
/*----------------------------------------------------------------------------*/
2020-07-13 20:44:46 +00:00
DECLARE_FUNC(int, writetxt_cmplx, complex_t* x
COMMA int n
COMMA char* fn);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, writetxt_cmplx_im, double*
COMMA complex_t*
COMMA int
COMMA char*);
/*----------------------------------------------------------------------------*/
2018-10-24 17:39:51 +00:00
DECLARE_FUNC(int, writetxt_cmplx_re, double*
COMMA complex_t*
COMMA int
COMMA char*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, writetxt_int, int*
COMMA int*
COMMA int
COMMA char*);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, xcorr, double* x
COMMA int nx
COMMA double* y
COMMA int ny
COMMA int flag
COMMA int nr
COMMA double* r
COMMA double* t);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, xcorr_cmplx, complex_t* x
COMMA int nx
COMMA complex_t* y
COMMA int ny
COMMA int flag
COMMA int nr
COMMA complex_t* r
COMMA double* t);
/*----------------------------------------------------------------------------*/
2018-03-12 20:48:32 +00:00
#ifdef __cplusplus
2018-10-24 17:39:51 +00:00
}
2018-03-12 20:48:32 +00:00
#endif
2018-10-24 17:39:51 +00:00
void* dspl_load();
void dspl_free(void* handle);
2018-03-12 20:48:32 +00:00
2019-10-13 14:19:50 +00:00
#endif /* DSPL_H */
2018-03-12 20:48:32 +00:00