26 #if defined (HAVE_CONFIG_H)
80 user_function (
const double&
x,
int&,
double& result)
82 result = (*user_fcn) (
x);
88 float_user_function (
const float&
x,
int&,
float& result)
90 result = (*float_user_fcn) (
x);
99 F77_INT npts = octave::to_f77_int (m_singularities.
numel () + 2);
103 F77_INT leniw = 183*npts - 122;
125 F77_XFCN (
dqagp, DQAGP, (user_function, m_lower_limit, m_upper_limit,
126 npts, points, abs_tol, rel_tol, result,
127 abserr, xneval, xier, leniw, lenw, last,
139 (*current_liboctave_error_handler) (
"incorrect integration function called");
190 F77_XFCN (
dqagi, DQAGI, (user_function, m_bound, inf, abs_tol, rel_tol,
191 result, abserr, xneval, xier, leniw, lenw,
192 last, piwork, pwork));
203 (*current_liboctave_error_handler) (
"incorrect integration function called");
209 (*current_liboctave_error_handler) (
"incorrect integration function called");
216 F77_INT npts = octave::to_f77_int (m_singularities.
numel () + 2);
220 F77_INT leniw = 183*npts - 122;
228 float_user_fcn =
m_ff;
242 F77_XFCN (
qagp, QAGP, (float_user_function, m_lower_limit, m_upper_limit,
243 npts, points, abs_tol, rel_tol, result,
244 abserr, xneval, xier, leniw, lenw, last,
256 (*current_liboctave_error_handler) (
"incorrect integration function called");
273 float_user_fcn =
m_ff;
307 F77_XFCN (
qagi, QAGI, (float_user_function, m_bound, inf, abs_tol, rel_tol,
308 result, abserr, xneval, xier, leniw, lenw,
309 last, piwork, pwork));
F77_INT(* quad_float_fcn_ptr)(const float &, int &, float &)
F77_RET_T F77_FUNC(dqagp, DQAGP)(quad_fcn_ptr
F77_INT(* quad_fcn_ptr)(const double &, int &, double &)
double(* integrand_fcn)(double x)
float(* float_integrand_fcn)(float x)
N Dimensional Array with copy-on-write semantics.
T * fortran_vec()
Size of the specified dimension.
octave_idx_type numel() const
Number of elements in the array.
double do_integrate(octave_idx_type &ier, octave_idx_type &neval, double &abserr)
OCTAVE_NORETURN double do_integrate(octave_idx_type &ier, octave_idx_type &neval, double &abserr)
OCTAVE_NORETURN double do_integrate(octave_idx_type &ier, octave_idx_type &neval, double &abserr)
double do_integrate(octave_idx_type &ier, octave_idx_type &neval, double &abserr)
float single_precision_relative_tolerance() const
double absolute_tolerance() const
float single_precision_absolute_tolerance() const
double relative_tolerance() const
Vector representing the dimensions (size) of an Array.
subroutine dqagi(F, BOUND, INF, EPSABS, EPSREL, RESULT, ABSERR, NEVAL, IER, LIMIT, LENW, LAST, IWORK, WORK)
subroutine dqagp(F, A, B, NPTS2, POINTS, EPSABS, EPSREL, RESULT, ABSERR, NEVAL, IER, LENIW, LENW, LAST, IWORK, WORK)
#define F77_XFCN(f, F, args)
octave_f77_int_type F77_INT
F77_RET_T(F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL, const F77_INT &, const F77_INT &, const F77_INT &, F77_INT &, F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, F77_DBLE *, F77_DBLE *, const F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, const F77_INT &, F77_DBLE *, F77_INT *, F77_INT &F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL)
F77_RET_T const F77_DBLE * x
subroutine qagi(f, bound, inf, epsabs, epsrel, result, abserr, neval, ier, limit, lenw, last, iwork, work)
subroutine qagp(f, a, b, npts2, points, epsabs, epsrel, result, abserr, neval, ier, leniw, lenw, last, iwork, work)