23 #if defined (HAVE_CONFIG_H)
48 const F77_INT&,
const F77_DBLE*,
49 const F77_DBLE&,
const F77_DBLE&, F77_DBLE&,
50 F77_DBLE&, F77_INT&, F77_INT&,
51 const F77_INT&,
const F77_INT&,
52 F77_INT&, F77_INT*, F77_DBLE*);
56 const F77_INT&,
const F77_DBLE&,
57 const F77_DBLE&, F77_DBLE&, F77_DBLE&,
59 const F77_INT&,
const F77_INT&,
60 F77_INT&, F77_INT*, F77_DBLE*);
64 const F77_INT&,
const F77_REAL*,
const F77_REAL&,
65 const F77_REAL&, F77_REAL&, F77_REAL&, F77_INT&,
66 F77_INT&,
const F77_INT&,
67 const F77_INT&, F77_INT&,
72 const F77_INT&,
const F77_REAL&,
73 const F77_REAL&, F77_REAL&, F77_REAL&, F77_INT&,
74 F77_INT&,
const F77_INT&,
75 const F77_INT&, F77_INT&,
82 BEGIN_INTERRUPT_WITH_EXCEPTIONS;
84 #if defined (__sparc) && defined (__GNUC__)
85 double xx = access_double (x);
90 quad_integration_error = 0;
92 double xresult = (*user_fcn) (xx);
94 #if defined (__sparc) && defined (__GNUC__)
95 assign_double (result, xresult);
100 if (quad_integration_error)
103 END_INTERRUPT_WITH_EXCEPTIONS;
111 BEGIN_INTERRUPT_WITH_EXCEPTIONS;
113 quad_integration_error = 0;
115 *result = (*float_user_fcn) (*x);
117 if (quad_integration_error)
120 END_INTERRUPT_WITH_EXCEPTIONS;
148 npts, points, abs_tol, rel_tol, result,
149 abserr, neval, ier, leniw, lenw, last,
158 (*current_liboctave_error_handler) (
"incorrect integration function called");
202 result, abserr, neval, ier, leniw, lenw,
203 last, piwork, pwork));
211 (*current_liboctave_error_handler) (
"incorrect integration function called");
217 (*current_liboctave_error_handler) (
"incorrect integration function called");
243 npts, points, abs_tol, rel_tol, result,
244 abserr, neval, ier, leniw, lenw, last,
253 (*current_liboctave_error_handler) (
"incorrect integration function called");
297 result, abserr, neval, ier, leniw, lenw,
298 last, piwork, pwork));
float(* float_integrand_fcn)(float x)
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE const F77_INT F77_INT * ierr
static float_integrand_fcn float_user_fcn
double(* integrand_fcn)(double x)
ColumnVector singularities
octave_idx_type numel(void) const
Number of elements in the array.
float single_precision_absolute_tolerance(void) const
subroutine dqagp(F, A, B, NPTS2, POINTS, EPSABS, EPSREL, RESULT, ABSERR, NEVAL, IER, LENIW, LENW, LAST, IWORK, WORK)
subroutine qagi(f, bound, inf, epsabs, epsrel, result, abserr, neval, ier, limit, lenw, last, iwork, work)
double do_integrate(octave_idx_type &ier, octave_idx_type &neval, double &abserr)
#define F77_XFCN(f, F, args)
OCTAVE_NORETURN double do_integrate(octave_idx_type &ier, octave_idx_type &neval, double &abserr)
FloatColumnVector singularities
subroutine qagp(f, a, b, npts2, points, epsabs, epsrel, result, abserr, neval, ier, leniw, lenw, last, iwork, work)
double do_integrate(octave_idx_type &ier, octave_idx_type &neval, double &abserr)
octave_idx_type(* quad_float_fcn_ptr)(float *, int &, float *)
F77_RET_T F77_FUNC(dqagp, DQAGP)(quad_fcn_ptr
static octave_idx_type float_user_function(float *x, int &ierr, float *result)
float single_precision_relative_tolerance(void) const
With real return the complex result
double relative_tolerance(void) const
octave_idx_type(* quad_fcn_ptr)(double *, int &, double *)
F77_RET_T const F77_DBLE const F77_DBLE const F77_INT const F77_DBLE const F77_DBLE const F77_DBLE F77_DBLE F77_DBLE F77_INT F77_INT const F77_INT const F77_INT F77_INT F77_INT F77_DBLE *F77_RET_T const F77_DBLE const F77_INT const F77_DBLE const F77_DBLE F77_DBLE F77_DBLE F77_INT F77_INT const F77_INT const F77_INT F77_INT F77_INT F77_DBLE *F77_RET_T const F77_REAL const F77_REAL const F77_INT const F77_REAL const F77_REAL const F77_REAL F77_REAL F77_REAL F77_INT F77_INT const F77_INT const F77_INT F77_INT F77_INT F77_REAL *F77_RET_T const F77_REAL const F77_INT const F77_REAL const F77_REAL F77_REAL F77_REAL F77_INT F77_INT const F77_INT const F77_INT F77_INT F77_INT F77_REAL *static octave_idx_type user_function(double *x, int &ierr, double *result)
static integrand_fcn user_fcn
double absolute_tolerance(void) const
const T * fortran_vec(void) const
OCTAVE_NORETURN double do_integrate(octave_idx_type &ier, octave_idx_type &neval, double &abserr)
Vector representing the dimensions (size) of an Array.
int quad_integration_error
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE * x
subroutine dqagi(F, BOUND, INF, EPSABS, EPSREL, RESULT, ABSERR, NEVAL, IER, LIMIT, LENW, LAST, IWORK, WORK)