Skip to content
Commits on Source (6)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/*************************************************************************
ALGLIB 3.10.0 (source code generated 2015-08-19)
ALGLIB 3.14.0 (source code generated 2018-06-16)
Copyright (c) Sergey Bochkanov (ALGLIB project).
>>> SOURCE LICENSE >>>
......@@ -29,6 +29,7 @@ http://www.fsf.org/licensing/licenses
/////////////////////////////////////////////////////////////////////////
namespace alglib_impl
{
#if defined(AE_COMPILE_ODESOLVER) || !defined(AE_PARTIAL_BUILD)
typedef struct
{
ae_int_t n;
......@@ -62,6 +63,7 @@ typedef struct
ae_int_t nfev;
ae_int_t terminationtype;
} odesolverreport;
#endif
}
......@@ -73,6 +75,7 @@ typedef struct
namespace alglib
{
#if defined(AE_COMPILE_ODESOLVER) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
*************************************************************************/
......@@ -129,7 +132,9 @@ public:
ae_int_t &terminationtype;
};
#endif
#if defined(AE_COMPILE_ODESOLVER) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
Cash-Karp adaptive ODE solver.
......@@ -177,8 +182,8 @@ SEE ALSO
-- ALGLIB --
Copyright 01.09.2009 by Bochkanov Sergey
*************************************************************************/
void odesolverrkck(const real_1d_array &y, const ae_int_t n, const real_1d_array &x, const ae_int_t m, const double eps, const double h, odesolverstate &state);
void odesolverrkck(const real_1d_array &y, const real_1d_array &x, const double eps, const double h, odesolverstate &state);
void odesolverrkck(const real_1d_array &y, const ae_int_t n, const real_1d_array &x, const ae_int_t m, const double eps, const double h, odesolverstate &state, const xparams _xparams = alglib::xdefault);
void odesolverrkck(const real_1d_array &y, const real_1d_array &x, const double eps, const double h, odesolverstate &state, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -186,7 +191,7 @@ This function provides reverse communication interface
Reverse communication interface is not documented or recommended to use.
See below for functions which provide better documented API
*************************************************************************/
bool odesolveriteration(const odesolverstate &state);
bool odesolveriteration(const odesolverstate &state, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -203,7 +208,7 @@ It accepts following parameters:
*************************************************************************/
void odesolversolve(odesolverstate &state,
void (*diff)(const real_1d_array &y, double x, real_1d_array &dy, void *ptr),
void *ptr = NULL);
void *ptr = NULL, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -229,7 +234,8 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 01.09.2009 by Bochkanov Sergey
*************************************************************************/
void odesolverresults(const odesolverstate &state, ae_int_t &m, real_1d_array &xtbl, real_2d_array &ytbl, odesolverreport &rep);
void odesolverresults(const odesolverstate &state, ae_int_t &m, real_1d_array &xtbl, real_2d_array &ytbl, odesolverreport &rep, const xparams _xparams = alglib::xdefault);
#endif
}
/////////////////////////////////////////////////////////////////////////
......@@ -239,6 +245,7 @@ void odesolverresults(const odesolverstate &state, ae_int_t &m, real_1d_array &x
/////////////////////////////////////////////////////////////////////////
namespace alglib_impl
{
#if defined(AE_COMPILE_ODESOLVER) || !defined(AE_PARTIAL_BUILD)
void odesolverrkck(/* Real */ ae_vector* y,
ae_int_t n,
/* Real */ ae_vector* x,
......@@ -254,14 +261,15 @@ void odesolverresults(odesolverstate* state,
/* Real */ ae_matrix* ytbl,
odesolverreport* rep,
ae_state *_state);
void _odesolverstate_init(void* _p, ae_state *_state);
void _odesolverstate_init_copy(void* _dst, void* _src, ae_state *_state);
void _odesolverstate_init(void* _p, ae_state *_state, ae_bool make_automatic);
void _odesolverstate_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
void _odesolverstate_clear(void* _p);
void _odesolverstate_destroy(void* _p);
void _odesolverreport_init(void* _p, ae_state *_state);
void _odesolverreport_init_copy(void* _dst, void* _src, ae_state *_state);
void _odesolverreport_init(void* _p, ae_state *_state, ae_bool make_automatic);
void _odesolverreport_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
void _odesolverreport_clear(void* _p);
void _odesolverreport_destroy(void* _p);
#endif
}
#endif
......
This diff is collapsed.
/*************************************************************************
ALGLIB 3.10.0 (source code generated 2015-08-19)
ALGLIB 3.14.0 (source code generated 2018-06-16)
Copyright (c) Sergey Bochkanov (ALGLIB project).
>>> SOURCE LICENSE >>>
......@@ -29,6 +29,14 @@ http://www.fsf.org/licensing/licenses
/////////////////////////////////////////////////////////////////////////
namespace alglib_impl
{
#if defined(AE_COMPILE_FFT) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_FHT) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_CONV) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_CORR) || !defined(AE_PARTIAL_BUILD)
#endif
}
......@@ -40,7 +48,23 @@ namespace alglib_impl
namespace alglib
{
#if defined(AE_COMPILE_FFT) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_FHT) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_CONV) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_CORR) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_FFT) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
1-dimensional complex FFT.
......@@ -70,8 +94,8 @@ OUTPUT PARAMETERS
-- ALGLIB --
Copyright 29.05.2009 by Bochkanov Sergey
*************************************************************************/
void fftc1d(complex_1d_array &a, const ae_int_t n);
void fftc1d(complex_1d_array &a);
void fftc1d(complex_1d_array &a, const ae_int_t n, const xparams _xparams = alglib::xdefault);
void fftc1d(complex_1d_array &a, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -94,8 +118,8 @@ OUTPUT PARAMETERS
-- ALGLIB --
Copyright 29.05.2009 by Bochkanov Sergey
*************************************************************************/
void fftc1dinv(complex_1d_array &a, const ae_int_t n);
void fftc1dinv(complex_1d_array &a);
void fftc1dinv(complex_1d_array &a, const ae_int_t n, const xparams _xparams = alglib::xdefault);
void fftc1dinv(complex_1d_array &a, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -121,8 +145,8 @@ other FFT-related subroutines.
-- ALGLIB --
Copyright 01.06.2009 by Bochkanov Sergey
*************************************************************************/
void fftr1d(const real_1d_array &a, const ae_int_t n, complex_1d_array &f);
void fftr1d(const real_1d_array &a, complex_1d_array &f);
void fftr1d(const real_1d_array &a, const ae_int_t n, complex_1d_array &f, const xparams _xparams = alglib::xdefault);
void fftr1d(const real_1d_array &a, complex_1d_array &f, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -160,9 +184,51 @@ not used) because array size is used to automatically determine FFT length
-- ALGLIB --
Copyright 01.06.2009 by Bochkanov Sergey
*************************************************************************/
void fftr1dinv(const complex_1d_array &f, const ae_int_t n, real_1d_array &a);
void fftr1dinv(const complex_1d_array &f, real_1d_array &a);
void fftr1dinv(const complex_1d_array &f, const ae_int_t n, real_1d_array &a, const xparams _xparams = alglib::xdefault);
void fftr1dinv(const complex_1d_array &f, real_1d_array &a, const xparams _xparams = alglib::xdefault);
#endif
#if defined(AE_COMPILE_FHT) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
1-dimensional Fast Hartley Transform.
Algorithm has O(N*logN) complexity for any N (composite or prime).
INPUT PARAMETERS
A - array[0..N-1] - real function to be transformed
N - problem size
OUTPUT PARAMETERS
A - FHT of a input array, array[0..N-1],
A_out[k] = sum(A_in[j]*(cos(2*pi*j*k/N)+sin(2*pi*j*k/N)), j=0..N-1)
-- ALGLIB --
Copyright 04.06.2009 by Bochkanov Sergey
*************************************************************************/
void fhtr1d(real_1d_array &a, const ae_int_t n, const xparams _xparams = alglib::xdefault);
/*************************************************************************
1-dimensional inverse FHT.
Algorithm has O(N*logN) complexity for any N (composite or prime).
INPUT PARAMETERS
A - array[0..N-1] - complex array to be transformed
N - problem size
OUTPUT PARAMETERS
A - inverse FHT of a input array, array[0..N-1]
-- ALGLIB --
Copyright 29.05.2009 by Bochkanov Sergey
*************************************************************************/
void fhtr1dinv(real_1d_array &a, const ae_int_t n, const xparams _xparams = alglib::xdefault);
#endif
#if defined(AE_COMPILE_CONV) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
1-dimensional complex convolution.
......@@ -192,7 +258,7 @@ subroutine - just shift its result correspondingly.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void convc1d(const complex_1d_array &a, const ae_int_t m, const complex_1d_array &b, const ae_int_t n, complex_1d_array &r);
void convc1d(const complex_1d_array &a, const ae_int_t m, const complex_1d_array &b, const ae_int_t n, complex_1d_array &r, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -221,7 +287,7 @@ subroutine - just shift its result correspondingly.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void convc1dinv(const complex_1d_array &a, const ae_int_t m, const complex_1d_array &b, const ae_int_t n, complex_1d_array &r);
void convc1dinv(const complex_1d_array &a, const ae_int_t m, const complex_1d_array &b, const ae_int_t n, complex_1d_array &r, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -252,7 +318,7 @@ correspondingly.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void convc1dcircular(const complex_1d_array &s, const ae_int_t m, const complex_1d_array &r, const ae_int_t n, complex_1d_array &c);
void convc1dcircular(const complex_1d_array &s, const ae_int_t m, const complex_1d_array &r, const ae_int_t n, complex_1d_array &c, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -281,7 +347,7 @@ correspondingly.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void convc1dcircularinv(const complex_1d_array &a, const ae_int_t m, const complex_1d_array &b, const ae_int_t n, complex_1d_array &r);
void convc1dcircularinv(const complex_1d_array &a, const ae_int_t m, const complex_1d_array &b, const ae_int_t n, complex_1d_array &r, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -306,7 +372,7 @@ subroutine - just shift its result correspondingly.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void convr1d(const real_1d_array &a, const ae_int_t m, const real_1d_array &b, const ae_int_t n, real_1d_array &r);
void convr1d(const real_1d_array &a, const ae_int_t m, const real_1d_array &b, const ae_int_t n, real_1d_array &r, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -335,7 +401,7 @@ subroutine - just shift its result correspondingly.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void convr1dinv(const real_1d_array &a, const ae_int_t m, const real_1d_array &b, const ae_int_t n, real_1d_array &r);
void convr1dinv(const real_1d_array &a, const ae_int_t m, const real_1d_array &b, const ae_int_t n, real_1d_array &r, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -360,7 +426,7 @@ correspondingly.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void convr1dcircular(const real_1d_array &s, const ae_int_t m, const real_1d_array &r, const ae_int_t n, real_1d_array &c);
void convr1dcircular(const real_1d_array &s, const ae_int_t m, const real_1d_array &r, const ae_int_t n, real_1d_array &c, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -389,8 +455,10 @@ correspondingly.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void convr1dcircularinv(const real_1d_array &a, const ae_int_t m, const real_1d_array &b, const ae_int_t n, real_1d_array &r);
void convr1dcircularinv(const real_1d_array &a, const ae_int_t m, const real_1d_array &b, const ae_int_t n, real_1d_array &r, const xparams _xparams = alglib::xdefault);
#endif
#if defined(AE_COMPILE_CORR) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
1-dimensional complex cross-correlation.
......@@ -427,7 +495,7 @@ on [-K..M-1], you can still use this subroutine, just shift result by K.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void corrc1d(const complex_1d_array &signal, const ae_int_t n, const complex_1d_array &pattern, const ae_int_t m, complex_1d_array &r);
void corrc1d(const complex_1d_array &signal, const ae_int_t n, const complex_1d_array &pattern, const ae_int_t m, complex_1d_array &r, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -457,7 +525,7 @@ OUTPUT PARAMETERS
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void corrc1dcircular(const complex_1d_array &signal, const ae_int_t m, const complex_1d_array &pattern, const ae_int_t n, complex_1d_array &c);
void corrc1dcircular(const complex_1d_array &signal, const ae_int_t m, const complex_1d_array &pattern, const ae_int_t n, complex_1d_array &c, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -496,7 +564,7 @@ on [-K..M-1], you can still use this subroutine, just shift result by K.
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void corrr1d(const real_1d_array &signal, const ae_int_t n, const real_1d_array &pattern, const ae_int_t m, real_1d_array &r);
void corrr1d(const real_1d_array &signal, const ae_int_t n, const real_1d_array &pattern, const ae_int_t m, real_1d_array &r, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -526,45 +594,8 @@ OUTPUT PARAMETERS
-- ALGLIB --
Copyright 21.07.2009 by Bochkanov Sergey
*************************************************************************/
void corrr1dcircular(const real_1d_array &signal, const ae_int_t m, const real_1d_array &pattern, const ae_int_t n, real_1d_array &c);
/*************************************************************************
1-dimensional Fast Hartley Transform.
Algorithm has O(N*logN) complexity for any N (composite or prime).
INPUT PARAMETERS
A - array[0..N-1] - real function to be transformed
N - problem size
OUTPUT PARAMETERS
A - FHT of a input array, array[0..N-1],
A_out[k] = sum(A_in[j]*(cos(2*pi*j*k/N)+sin(2*pi*j*k/N)), j=0..N-1)
-- ALGLIB --
Copyright 04.06.2009 by Bochkanov Sergey
*************************************************************************/
void fhtr1d(real_1d_array &a, const ae_int_t n);
/*************************************************************************
1-dimensional inverse FHT.
Algorithm has O(N*logN) complexity for any N (composite or prime).
INPUT PARAMETERS
A - array[0..N-1] - complex array to be transformed
N - problem size
OUTPUT PARAMETERS
A - inverse FHT of a input array, array[0..N-1]
-- ALGLIB --
Copyright 29.05.2009 by Bochkanov Sergey
*************************************************************************/
void fhtr1dinv(real_1d_array &a, const ae_int_t n);
void corrr1dcircular(const real_1d_array &signal, const ae_int_t m, const real_1d_array &pattern, const ae_int_t n, real_1d_array &c, const xparams _xparams = alglib::xdefault);
#endif
}
/////////////////////////////////////////////////////////////////////////
......@@ -574,6 +605,7 @@ void fhtr1dinv(real_1d_array &a, const ae_int_t n);
/////////////////////////////////////////////////////////////////////////
namespace alglib_impl
{
#if defined(AE_COMPILE_FFT) || !defined(AE_PARTIAL_BUILD)
void fftc1d(/* Complex */ ae_vector* a, ae_int_t n, ae_state *_state);
void fftc1dinv(/* Complex */ ae_vector* a, ae_int_t n, ae_state *_state);
void fftr1d(/* Real */ ae_vector* a,
......@@ -594,6 +626,12 @@ void fftr1dinvinternaleven(/* Real */ ae_vector* a,
/* Real */ ae_vector* buf,
fasttransformplan* plan,
ae_state *_state);
#endif
#if defined(AE_COMPILE_FHT) || !defined(AE_PARTIAL_BUILD)
void fhtr1d(/* Real */ ae_vector* a, ae_int_t n, ae_state *_state);
void fhtr1dinv(/* Real */ ae_vector* a, ae_int_t n, ae_state *_state);
#endif
#if defined(AE_COMPILE_CONV) || !defined(AE_PARTIAL_BUILD)
void convc1d(/* Complex */ ae_vector* a,
ae_int_t m,
/* Complex */ ae_vector* b,
......@@ -660,6 +698,8 @@ void convr1dx(/* Real */ ae_vector* a,
ae_int_t q,
/* Real */ ae_vector* r,
ae_state *_state);
#endif
#if defined(AE_COMPILE_CORR) || !defined(AE_PARTIAL_BUILD)
void corrc1d(/* Complex */ ae_vector* signal,
ae_int_t n,
/* Complex */ ae_vector* pattern,
......@@ -684,8 +724,7 @@ void corrr1dcircular(/* Real */ ae_vector* signal,
ae_int_t n,
/* Real */ ae_vector* c,
ae_state *_state);
void fhtr1d(/* Real */ ae_vector* a, ae_int_t n, ae_state *_state);
void fhtr1dinv(/* Real */ ae_vector* a, ae_int_t n, ae_state *_state);
#endif
}
#endif
......
This diff is collapsed.
/*************************************************************************
ALGLIB 3.10.0 (source code generated 2015-08-19)
ALGLIB 3.14.0 (source code generated 2018-06-16)
Copyright (c) Sergey Bochkanov (ALGLIB project).
>>> SOURCE LICENSE >>>
......@@ -21,6 +21,7 @@ http://www.fsf.org/licensing/licenses
#define _integration_pkg_h
#include "ap.h"
#include "alglibinternal.h"
#include "alglibmisc.h"
#include "linalg.h"
#include "specialfunctions.h"
......@@ -31,6 +32,11 @@ http://www.fsf.org/licensing/licenses
/////////////////////////////////////////////////////////////////////////
namespace alglib_impl
{
#if defined(AE_COMPILE_GQ) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_GKQ) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_AUTOGK) || !defined(AE_PARTIAL_BUILD)
typedef struct
{
ae_int_t terminationtype;
......@@ -80,6 +86,7 @@ typedef struct
ae_int_t nfev;
ae_int_t nintervals;
} autogkstate;
#endif
}
......@@ -91,10 +98,15 @@ typedef struct
namespace alglib
{
#if defined(AE_COMPILE_GQ) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_GKQ) || !defined(AE_PARTIAL_BUILD)
#endif
#if defined(AE_COMPILE_AUTOGK) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
Integration report:
* TerminationType = completetion code:
......@@ -167,7 +179,9 @@ public:
double &f;
};
#endif
#if defined(AE_COMPILE_GQ) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
Computation of nodes and weights for a Gauss quadrature formula
......@@ -184,12 +198,12 @@ and zeroth moment Mu0
Mu0 = integral(W(x)dx,a,b)
INPUT PARAMETERS:
Alpha array[0..N-1], alpha coefficients
Beta array[0..N-1], beta coefficients
Alpha - array[0..N-1], alpha coefficients
Beta - array[0..N-1], beta coefficients
Zero-indexed element is not used and may be arbitrary.
Beta[I]>0.
Mu0 zeroth moment of the weight function.
N number of nodes of the quadrature formula, N>=1
Mu0 - zeroth moment of the weight function.
N - number of nodes of the quadrature formula, N>=1
OUTPUT PARAMETERS:
Info - error code:
......@@ -204,7 +218,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 2005-2009 by Bochkanov Sergey
*************************************************************************/
void gqgeneraterec(const real_1d_array &alpha, const real_1d_array &beta, const double mu0, const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w);
void gqgeneraterec(const real_1d_array &alpha, const real_1d_array &beta, const double mu0, const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -223,14 +237,14 @@ and zeroth moment Mu0
Mu0 = integral(W(x)dx,a,b)
INPUT PARAMETERS:
Alpha array[0..N-2], alpha coefficients
Beta array[0..N-2], beta coefficients.
Alpha - array[0..N-2], alpha coefficients
Beta - array[0..N-2], beta coefficients.
Zero-indexed element is not used, may be arbitrary.
Beta[I]>0
Mu0 zeroth moment of the weighting function.
A left boundary of the integration interval.
B right boundary of the integration interval.
N number of nodes of the quadrature formula, N>=3
Mu0 - zeroth moment of the weighting function.
A - left boundary of the integration interval.
B - right boundary of the integration interval.
N - number of nodes of the quadrature formula, N>=3
(including the left and right boundary nodes).
OUTPUT PARAMETERS:
......@@ -246,7 +260,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 2005-2009 by Bochkanov Sergey
*************************************************************************/
void gqgenerategausslobattorec(const real_1d_array &alpha, const real_1d_array &beta, const double mu0, const double a, const double b, const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w);
void gqgenerategausslobattorec(const real_1d_array &alpha, const real_1d_array &beta, const double mu0, const double a, const double b, const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -265,13 +279,13 @@ and zeroth moment Mu0
Mu0 = integral(W(x)dx,a,b)
INPUT PARAMETERS:
Alpha array[0..N-2], alpha coefficients.
Beta array[0..N-1], beta coefficients
Alpha - array[0..N-2], alpha coefficients.
Beta - array[0..N-1], beta coefficients
Zero-indexed element is not used.
Beta[I]>0
Mu0 zeroth moment of the weighting function.
A left boundary of the integration interval.
N number of nodes of the quadrature formula, N>=2
Mu0 - zeroth moment of the weighting function.
A - left boundary of the integration interval.
N - number of nodes of the quadrature formula, N>=2
(including the left boundary node).
OUTPUT PARAMETERS:
......@@ -288,7 +302,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 2005-2009 by Bochkanov Sergey
*************************************************************************/
void gqgenerategaussradaurec(const real_1d_array &alpha, const real_1d_array &beta, const double mu0, const double a, const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w);
void gqgenerategaussradaurec(const real_1d_array &alpha, const real_1d_array &beta, const double mu0, const double a, const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -315,7 +329,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 12.05.2009 by Bochkanov Sergey
*************************************************************************/
void gqgenerategausslegendre(const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w);
void gqgenerategausslegendre(const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -345,7 +359,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 12.05.2009 by Bochkanov Sergey
*************************************************************************/
void gqgenerategaussjacobi(const ae_int_t n, const double alpha, const double beta, ae_int_t &info, real_1d_array &x, real_1d_array &w);
void gqgenerategaussjacobi(const ae_int_t n, const double alpha, const double beta, ae_int_t &info, real_1d_array &x, real_1d_array &w, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -374,7 +388,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 12.05.2009 by Bochkanov Sergey
*************************************************************************/
void gqgenerategausslaguerre(const ae_int_t n, const double alpha, ae_int_t &info, real_1d_array &x, real_1d_array &w);
void gqgenerategausslaguerre(const ae_int_t n, const double alpha, ae_int_t &info, real_1d_array &x, real_1d_array &w, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -400,8 +414,10 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 12.05.2009 by Bochkanov Sergey
*************************************************************************/
void gqgenerategausshermite(const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w);
void gqgenerategausshermite(const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &w, const xparams _xparams = alglib::xdefault);
#endif
#if defined(AE_COMPILE_GKQ) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
Computation of nodes and weights of a Gauss-Kronrod quadrature formula
......@@ -419,12 +435,12 @@ and zero moment Mu0
INPUT PARAMETERS:
Alpha alpha coefficients, array[0..floor(3*K/2)].
Beta beta coefficients, array[0..ceil(3*K/2)].
Alpha - alpha coefficients, array[0..floor(3*K/2)].
Beta - beta coefficients, array[0..ceil(3*K/2)].
Beta[0] is not used and may be arbitrary.
Beta[I]>0.
Mu0 zeroth moment of the weight function.
N number of nodes of the Gauss-Kronrod quadrature formula,
Mu0 - zeroth moment of the weight function.
N - number of nodes of the Gauss-Kronrod quadrature formula,
N >= 3,
N = 2*K+1.
......@@ -448,7 +464,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 08.05.2009 by Bochkanov Sergey
*************************************************************************/
void gkqgeneraterec(const real_1d_array &alpha, const real_1d_array &beta, const double mu0, const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss);
void gkqgeneraterec(const real_1d_array &alpha, const real_1d_array &beta, const double mu0, const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -480,7 +496,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 12.05.2009 by Bochkanov Sergey
*************************************************************************/
void gkqgenerategausslegendre(const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss);
void gkqgenerategausslegendre(const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -519,7 +535,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 12.05.2009 by Bochkanov Sergey
*************************************************************************/
void gkqgenerategaussjacobi(const ae_int_t n, const double alpha, const double beta, ae_int_t &info, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss);
void gkqgenerategaussjacobi(const ae_int_t n, const double alpha, const double beta, ae_int_t &info, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -548,7 +564,7 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 12.05.2009 by Bochkanov Sergey
*************************************************************************/
void gkqlegendrecalc(const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss);
void gkqlegendrecalc(const ae_int_t n, ae_int_t &info, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -573,8 +589,10 @@ OUTPUT PARAMETERS:
-- ALGLIB --
Copyright 12.05.2009 by Bochkanov Sergey
*************************************************************************/
void gkqlegendretbl(const ae_int_t n, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss, double &eps);
void gkqlegendretbl(const ae_int_t n, real_1d_array &x, real_1d_array &wkronrod, real_1d_array &wgauss, double &eps, const xparams _xparams = alglib::xdefault);
#endif
#if defined(AE_COMPILE_AUTOGK) || !defined(AE_PARTIAL_BUILD)
/*************************************************************************
Integration of a smooth function F(x) on a finite interval [a,b].
......@@ -601,7 +619,7 @@ SEE ALSO
-- ALGLIB --
Copyright 06.05.2009 by Bochkanov Sergey
*************************************************************************/
void autogksmooth(const double a, const double b, autogkstate &state);
void autogksmooth(const double a, const double b, autogkstate &state, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -627,7 +645,7 @@ SEE ALSO
-- ALGLIB --
Copyright 06.05.2009 by Bochkanov Sergey
*************************************************************************/
void autogksmoothw(const double a, const double b, const double xwidth, autogkstate &state);
void autogksmoothw(const double a, const double b, const double xwidth, autogkstate &state, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -662,7 +680,7 @@ SEE ALSO
-- ALGLIB --
Copyright 06.05.2009 by Bochkanov Sergey
*************************************************************************/
void autogksingular(const double a, const double b, const double alpha, const double beta, autogkstate &state);
void autogksingular(const double a, const double b, const double alpha, const double beta, autogkstate &state, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -670,7 +688,7 @@ This function provides reverse communication interface
Reverse communication interface is not documented or recommended to use.
See below for functions which provide better documented API
*************************************************************************/
bool autogkiteration(const autogkstate &state);
bool autogkiteration(const autogkstate &state, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -687,7 +705,7 @@ It accepts following parameters:
*************************************************************************/
void autogkintegrate(autogkstate &state,
void (*func)(double x, double xminusa, double bminusx, double &y, void *ptr),
void *ptr = NULL);
void *ptr = NULL, const xparams _xparams = alglib::xdefault);
/*************************************************************************
......@@ -705,7 +723,8 @@ Output parameters:
-- ALGLIB --
Copyright 14.11.2007 by Bochkanov Sergey
*************************************************************************/
void autogkresults(const autogkstate &state, double &v, autogkreport &rep);
void autogkresults(const autogkstate &state, double &v, autogkreport &rep, const xparams _xparams = alglib::xdefault);
#endif
}
/////////////////////////////////////////////////////////////////////////
......@@ -715,6 +734,7 @@ void autogkresults(const autogkstate &state, double &v, autogkreport &rep);
/////////////////////////////////////////////////////////////////////////
namespace alglib_impl
{
#if defined(AE_COMPILE_GQ) || !defined(AE_PARTIAL_BUILD)
void gqgeneraterec(/* Real */ ae_vector* alpha,
/* Real */ ae_vector* beta,
double mu0,
......@@ -765,6 +785,8 @@ void gqgenerategausshermite(ae_int_t n,
/* Real */ ae_vector* x,
/* Real */ ae_vector* w,
ae_state *_state);
#endif
#if defined(AE_COMPILE_GKQ) || !defined(AE_PARTIAL_BUILD)
void gkqgeneraterec(/* Real */ ae_vector* alpha,
/* Real */ ae_vector* beta,
double mu0,
......@@ -800,6 +822,8 @@ void gkqlegendretbl(ae_int_t n,
/* Real */ ae_vector* wgauss,
double* eps,
ae_state *_state);
#endif
#if defined(AE_COMPILE_AUTOGK) || !defined(AE_PARTIAL_BUILD)
void autogksmooth(double a,
double b,
autogkstate* state,
......@@ -820,18 +844,19 @@ void autogkresults(autogkstate* state,
double* v,
autogkreport* rep,
ae_state *_state);
void _autogkreport_init(void* _p, ae_state *_state);
void _autogkreport_init_copy(void* _dst, void* _src, ae_state *_state);
void _autogkreport_init(void* _p, ae_state *_state, ae_bool make_automatic);
void _autogkreport_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
void _autogkreport_clear(void* _p);
void _autogkreport_destroy(void* _p);
void _autogkinternalstate_init(void* _p, ae_state *_state);
void _autogkinternalstate_init_copy(void* _dst, void* _src, ae_state *_state);
void _autogkinternalstate_init(void* _p, ae_state *_state, ae_bool make_automatic);
void _autogkinternalstate_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
void _autogkinternalstate_clear(void* _p);
void _autogkinternalstate_destroy(void* _p);
void _autogkstate_init(void* _p, ae_state *_state);
void _autogkstate_init_copy(void* _dst, void* _src, ae_state *_state);
void _autogkstate_init(void* _p, ae_state *_state, ae_bool make_automatic);
void _autogkstate_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
void _autogkstate_clear(void* _p);
void _autogkstate_destroy(void* _p);
#endif
}
#endif
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.