GNU Octave  3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
lo-specfun.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 1996-2013 John W. Eaton
4 Copyright (C) 2010 VZLU Prague
5 
6 This file is part of Octave.
7 
8 Octave is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published by the
10 Free Software Foundation; either version 3 of the License, or (at your
11 option) any later version.
12 
13 Octave is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17 
18 You should have received a copy of the GNU General Public License
19 along with Octave; see the file COPYING. If not, see
20 <http://www.gnu.org/licenses/>.
21 
22 */
23 
24 #if !defined (octave_lo_specfun_h)
25 #define octave_lo_specfun_h 1
26 
27 #include "oct-cmplx.h"
28 #include "Array.h"
29 
30 class Matrix;
31 class ComplexMatrix;
32 class NDArray;
33 class ComplexNDArray;
34 class RowVector;
36 class FloatMatrix;
37 class FloatComplexMatrix;
38 class FloatNDArray;
40 class FloatRowVector;
42 class Range;
43 
44 #if !defined (HAVE_ACOSH)
45 extern OCTAVE_API double acosh (double);
46 #endif
47 
48 #if !defined (HAVE_ASINH)
49 extern OCTAVE_API double asinh (double);
50 #endif
51 
52 #if !defined (HAVE_ATANH)
53 extern OCTAVE_API double atanh (double);
54 #endif
55 
56 #if !defined (HAVE_ERF)
57 extern OCTAVE_API double erf (double);
58 #endif
59 extern OCTAVE_API Complex erf (const Complex& x);
60 extern OCTAVE_API FloatComplex erf (const FloatComplex& x);
61 
62 #if !defined (HAVE_ERFC)
63 extern OCTAVE_API double erfc (double);
64 #endif
65 extern OCTAVE_API Complex erfc (const Complex& x);
66 extern OCTAVE_API FloatComplex erfc (const FloatComplex& x);
67 
68 #if !defined (HAVE_ACOSHF)
69 extern OCTAVE_API float acoshf (float);
70 #endif
71 
72 #if !defined (HAVE_ASINHF)
73 extern OCTAVE_API float asinhf (float);
74 #endif
75 
76 #if !defined (HAVE_ATANHF)
77 extern OCTAVE_API float atanhf (float);
78 #endif
79 
80 #if !defined (HAVE_ERFF)
81 extern OCTAVE_API float erff (float);
82 #endif
83 
84 #if !defined (HAVE_ERFCF)
85 extern OCTAVE_API float erfcf (float);
86 #endif
87 
88 #if !defined (HAVE_EXPM1)
89 extern OCTAVE_API double expm1 (double x);
90 #endif
91 extern OCTAVE_API Complex expm1 (const Complex& x);
92 
93 #if !defined (HAVE_EXPM1F)
94 extern OCTAVE_API float expm1f (float x);
95 #endif
96 extern OCTAVE_API FloatComplex expm1 (const FloatComplex& x);
97 
98 #if !defined (HAVE_LOG1P)
99 extern OCTAVE_API double log1p (double x);
100 #endif
101 extern OCTAVE_API Complex log1p (const Complex& x);
102 
103 #if !defined (HAVE_LOG1PF)
104 extern OCTAVE_API float log1pf (float x);
105 #endif
106 extern OCTAVE_API FloatComplex log1p (const FloatComplex& x);
107 
108 #if !defined (HAVE_CBRT)
109 extern OCTAVE_API double cbrt (double x);
110 #endif
111 
112 #if !defined (HAVE_CBRTF)
113 extern OCTAVE_API float cbrtf (float x);
114 #endif
115 
116 extern OCTAVE_API double xgamma (double x);
117 extern OCTAVE_API double xlgamma (double x);
118 extern OCTAVE_API Complex rc_lgamma (double x);
119 
120 extern OCTAVE_API float xgamma (float x);
121 extern OCTAVE_API float xlgamma (float x);
122 extern OCTAVE_API FloatComplex rc_lgamma (float x);
123 
124 extern OCTAVE_API Complex
125 besselj (double alpha, const Complex& x, bool scaled, octave_idx_type& ierr);
126 
127 extern OCTAVE_API Complex
128 bessely (double alpha, const Complex& x, bool scaled, octave_idx_type& ierr);
129 
130 extern OCTAVE_API Complex
131 besseli (double alpha, const Complex& x, bool scaled, octave_idx_type& ierr);
132 
133 extern OCTAVE_API Complex
134 besselk (double alpha, const Complex& x, bool scaled, octave_idx_type& ierr);
135 
136 extern OCTAVE_API Complex
137 besselh1 (double alpha, const Complex& x, bool scaled, octave_idx_type& ierr);
138 
139 extern OCTAVE_API Complex
140 besselh2 (double alpha, const Complex& x, bool scaled, octave_idx_type& ierr);
141 
142 extern OCTAVE_API ComplexMatrix
143 besselj (double alpha, const ComplexMatrix& x, bool scaled,
145 
146 extern OCTAVE_API ComplexMatrix
147 bessely (double alpha, const ComplexMatrix& x, bool scaled,
149 
150 extern OCTAVE_API ComplexMatrix
151 besseli (double alpha, const ComplexMatrix& x, bool scaled,
153 
154 extern OCTAVE_API ComplexMatrix
155 besselk (double alpha, const ComplexMatrix& x, bool scaled,
157 
158 extern OCTAVE_API ComplexMatrix
159 besselh1 (double alpha, const ComplexMatrix& x, bool scaled,
161 
162 extern OCTAVE_API ComplexMatrix
163 besselh2 (double alpha, const ComplexMatrix& x, bool scaled,
165 
166 extern OCTAVE_API ComplexMatrix
167 besselj (const Matrix& alpha, const Complex& x, bool scaled,
169 
170 extern OCTAVE_API ComplexMatrix
171 bessely (const Matrix& alpha, const Complex& x, bool scaled,
173 
174 extern OCTAVE_API ComplexMatrix
175 besseli (const Matrix& alpha, const Complex& x, bool scaled,
177 
178 extern OCTAVE_API ComplexMatrix
179 besselk (const Matrix& alpha, const Complex& x, bool scaled,
181 
182 extern OCTAVE_API ComplexMatrix
183 besselh1 (const Matrix& alpha, const Complex& x, bool scaled,
185 
186 extern OCTAVE_API ComplexMatrix
187 besselh2 (const Matrix& alpha, const Complex& x, bool scaled,
189 
190 extern OCTAVE_API ComplexMatrix
191 besselj (const Matrix& alpha, const ComplexMatrix& x, bool scaled,
193 
194 extern OCTAVE_API ComplexMatrix
195 bessely (const Matrix& alpha, const ComplexMatrix& x, bool scaled,
197 
198 extern OCTAVE_API ComplexMatrix
199 besseli (const Matrix& alpha, const ComplexMatrix& x, bool scaled,
201 
202 extern OCTAVE_API ComplexMatrix
203 besselk (const Matrix& alpha, const ComplexMatrix& x, bool scaled,
205 
206 extern OCTAVE_API ComplexMatrix
207 besselh1 (const Matrix& alpha, const ComplexMatrix& x, bool scaled,
209 
210 extern OCTAVE_API ComplexMatrix
211 besselh2 (const Matrix& alpha, const ComplexMatrix& x, bool scaled,
213 
214 extern OCTAVE_API ComplexNDArray
215 besselj (double alpha, const ComplexNDArray& x, bool scaled,
217 
218 extern OCTAVE_API ComplexNDArray
219 bessely (double alpha, const ComplexNDArray& x, bool scaled,
221 
222 extern OCTAVE_API ComplexNDArray
223 besseli (double alpha, const ComplexNDArray& x, bool scaled,
225 
226 extern OCTAVE_API ComplexNDArray
227 besselk (double alpha, const ComplexNDArray& x, bool scaled,
229 
230 extern OCTAVE_API ComplexNDArray
231 besselh1 (double alpha, const ComplexNDArray& x, bool scaled,
233 
234 extern OCTAVE_API ComplexNDArray
235 besselh2 (double alpha, const ComplexNDArray& x, bool scaled,
237 
238 extern OCTAVE_API ComplexNDArray
239 besselj (const NDArray& alpha, const Complex& x, bool scaled,
241 
242 extern OCTAVE_API ComplexNDArray
243 bessely (const NDArray& alpha, const Complex& x, bool scaled,
245 
246 extern OCTAVE_API ComplexNDArray
247 besseli (const NDArray& alpha, const Complex& x, bool scaled,
249 
250 extern OCTAVE_API ComplexNDArray
251 besselk (const NDArray& alpha, const Complex& x, bool scaled,
253 
254 extern OCTAVE_API ComplexNDArray
255 besselh1 (const NDArray& alpha, const Complex& x, bool scaled,
257 
258 extern OCTAVE_API ComplexNDArray
259 besselh2 (const NDArray& alpha, const Complex& x, bool scaled,
261 
262 extern OCTAVE_API ComplexNDArray
263 besselj (const NDArray& alpha, const ComplexNDArray& x, bool scaled,
265 
266 extern OCTAVE_API ComplexNDArray
267 bessely (const NDArray& alpha, const ComplexNDArray& x, bool scaled,
269 
270 extern OCTAVE_API ComplexNDArray
271 besseli (const NDArray& alpha, const ComplexNDArray& x, bool scaled,
273 
274 extern OCTAVE_API ComplexNDArray
275 besselk (const NDArray& alpha, const ComplexNDArray& x, bool scaled,
277 
278 extern OCTAVE_API ComplexNDArray
279 besselh1 (const NDArray& alpha, const ComplexNDArray& x, bool scaled,
281 
282 extern OCTAVE_API ComplexNDArray
283 besselh2 (const NDArray& alpha, const ComplexNDArray& x, bool scaled,
285 
286 extern OCTAVE_API ComplexMatrix
287 besselj (const RowVector& alpha, const ComplexColumnVector& x, bool scaled,
289 
290 extern OCTAVE_API ComplexMatrix
291 bessely (const RowVector& alpha, const ComplexColumnVector& x, bool scaled,
293 
294 extern OCTAVE_API ComplexMatrix
295 besseli (const RowVector& alpha, const ComplexColumnVector& x, bool scaled,
297 
298 extern OCTAVE_API ComplexMatrix
299 besselk (const RowVector& alpha, const ComplexColumnVector& x, bool scaled,
301 
302 extern OCTAVE_API ComplexMatrix
303 besselh1 (const RowVector& alpha, const ComplexColumnVector& x, bool scaled,
305 
306 extern OCTAVE_API ComplexMatrix
307 besselh2 (const RowVector& alpha, const ComplexColumnVector& x, bool scaled,
309 
310 extern OCTAVE_API FloatComplex
311 besselj (float alpha, const FloatComplex& x, bool scaled,
313 
314 extern OCTAVE_API FloatComplex
315 bessely (float alpha, const FloatComplex& x, bool scaled,
317 
318 extern OCTAVE_API FloatComplex
319 besseli (float alpha, const FloatComplex& x, bool scaled,
321 
322 extern OCTAVE_API FloatComplex
323 besselk (float alpha, const FloatComplex& x, bool scaled,
325 
326 extern OCTAVE_API FloatComplex
327 besselh1 (float alpha, const FloatComplex& x, bool scaled,
329 
330 extern OCTAVE_API FloatComplex
331 besselh2 (float alpha, const FloatComplex& x, bool scaled,
333 
334 extern OCTAVE_API FloatComplexMatrix
335 besselj (float alpha, const FloatComplexMatrix& x, bool scaled,
337 
338 extern OCTAVE_API FloatComplexMatrix
339 bessely (float alpha, const FloatComplexMatrix& x, bool scaled,
341 
342 extern OCTAVE_API FloatComplexMatrix
343 besseli (float alpha, const FloatComplexMatrix& x, bool scaled,
345 
346 extern OCTAVE_API FloatComplexMatrix
347 besselk (float alpha, const FloatComplexMatrix& x, bool scaled,
349 
350 extern OCTAVE_API FloatComplexMatrix
351 besselh1 (float alpha, const FloatComplexMatrix& x, bool scaled,
353 
354 extern OCTAVE_API FloatComplexMatrix
355 besselh2 (float alpha, const FloatComplexMatrix& x, bool scaled,
357 
358 extern OCTAVE_API FloatComplexMatrix
359 besselj (const FloatMatrix& alpha, const FloatComplex& x, bool scaled,
361 
362 extern OCTAVE_API FloatComplexMatrix
363 bessely (const FloatMatrix& alpha, const FloatComplex& x, bool scaled,
365 
366 extern OCTAVE_API FloatComplexMatrix
367 besseli (const FloatMatrix& alpha, const FloatComplex& x, bool scaled,
369 
370 extern OCTAVE_API FloatComplexMatrix
371 besselk (const FloatMatrix& alpha, const FloatComplex& x, bool scaled,
373 
374 extern OCTAVE_API FloatComplexMatrix
375 besselh1 (const FloatMatrix& alpha, const FloatComplex& x, bool scaled,
377 
378 extern OCTAVE_API FloatComplexMatrix
379 besselh2 (const FloatMatrix& alpha, const FloatComplex& x, bool scaled,
381 
382 extern OCTAVE_API FloatComplexMatrix
383 besselj (const FloatMatrix& alpha, const FloatComplexMatrix& x, bool scaled,
385 
386 extern OCTAVE_API FloatComplexMatrix
387 bessely (const FloatMatrix& alpha, const FloatComplexMatrix& x, bool scaled,
389 
390 extern OCTAVE_API FloatComplexMatrix
391 besseli (const FloatMatrix& alpha, const FloatComplexMatrix& x, bool scaled,
393 
394 extern OCTAVE_API FloatComplexMatrix
395 besselk (const FloatMatrix& alpha, const FloatComplexMatrix& x, bool scaled,
397 
398 extern OCTAVE_API FloatComplexMatrix
399 besselh1 (const FloatMatrix& alpha, const FloatComplexMatrix& x, bool scaled,
401 
402 extern OCTAVE_API FloatComplexMatrix
403 besselh2 (const FloatMatrix& alpha, const FloatComplexMatrix& x, bool scaled,
405 
406 extern OCTAVE_API FloatComplexNDArray
407 besselj (float alpha, const FloatComplexNDArray& x, bool scaled,
409 
410 extern OCTAVE_API FloatComplexNDArray
411 bessely (float alpha, const FloatComplexNDArray& x, bool scaled,
413 
414 extern OCTAVE_API FloatComplexNDArray
415 besseli (float alpha, const FloatComplexNDArray& x, bool scaled,
417 
418 extern OCTAVE_API FloatComplexNDArray
419 besselk (float alpha, const FloatComplexNDArray& x, bool scaled,
421 
422 extern OCTAVE_API FloatComplexNDArray
423 besselh1 (float alpha, const FloatComplexNDArray& x, bool scaled,
425 
426 extern OCTAVE_API FloatComplexNDArray
427 besselh2 (float alpha, const FloatComplexNDArray& x, bool scaled,
429 
430 extern OCTAVE_API FloatComplexNDArray
431 besselj (const FloatNDArray& alpha, const FloatComplex& x, bool scaled,
433 
434 extern OCTAVE_API FloatComplexNDArray
435 bessely (const FloatNDArray& alpha, const FloatComplex& x, bool scaled,
437 
438 extern OCTAVE_API FloatComplexNDArray
439 besseli (const FloatNDArray& alpha, const FloatComplex& x, bool scaled,
441 
442 extern OCTAVE_API FloatComplexNDArray
443 besselk (const FloatNDArray& alpha, const FloatComplex& x, bool scaled,
445 
446 extern OCTAVE_API FloatComplexNDArray
447 besselh1 (const FloatNDArray& alpha, const FloatComplex& x, bool scaled,
449 
450 extern OCTAVE_API FloatComplexNDArray
451 besselh2 (const FloatNDArray& alpha, const FloatComplex& x, bool scaled,
453 
454 extern OCTAVE_API FloatComplexNDArray
455 besselj (const FloatNDArray& alpha, const FloatComplexNDArray& x, bool scaled,
457 
458 extern OCTAVE_API FloatComplexNDArray
459 bessely (const FloatNDArray& alpha, const FloatComplexNDArray& x, bool scaled,
461 
462 extern OCTAVE_API FloatComplexNDArray
463 besseli (const FloatNDArray& alpha, const FloatComplexNDArray& x, bool scaled,
465 
466 extern OCTAVE_API FloatComplexNDArray
467 besselk (const FloatNDArray& alpha, const FloatComplexNDArray& x, bool scaled,
469 
470 extern OCTAVE_API FloatComplexNDArray
471 besselh1 (const FloatNDArray& alpha, const FloatComplexNDArray& x, bool scaled,
473 
474 extern OCTAVE_API FloatComplexNDArray
475 besselh2 (const FloatNDArray& alpha, const FloatComplexNDArray& x, bool scaled,
477 
478 extern OCTAVE_API FloatComplexMatrix
479 besselj (const FloatRowVector& alpha, const FloatComplexColumnVector& x,
480  bool scaled, Array<octave_idx_type>& ierr);
481 
482 extern OCTAVE_API FloatComplexMatrix
483 bessely (const FloatRowVector& alpha, const FloatComplexColumnVector& x,
484  bool scaled, Array<octave_idx_type>& ierr);
485 
486 extern OCTAVE_API FloatComplexMatrix
487 besseli (const FloatRowVector& alpha, const FloatComplexColumnVector& x,
488  bool scaled, Array<octave_idx_type>& ierr);
489 
490 extern OCTAVE_API FloatComplexMatrix
491 besselk (const FloatRowVector& alpha, const FloatComplexColumnVector& x,
492  bool scaled, Array<octave_idx_type>& ierr);
493 
494 extern OCTAVE_API FloatComplexMatrix
495 besselh1 (const FloatRowVector& alpha, const FloatComplexColumnVector& x,
496  bool scaled, Array<octave_idx_type>& ierr);
497 
498 extern OCTAVE_API FloatComplexMatrix
499 besselh2 (const FloatRowVector& alpha, const FloatComplexColumnVector& x,
500  bool scaled, Array<octave_idx_type>& ierr);
501 
502 extern OCTAVE_API Complex
503 airy (const Complex& z, bool deriv, bool scaled, octave_idx_type& ierr);
504 
505 extern OCTAVE_API Complex
506 biry (const Complex& z, bool deriv, bool scaled, octave_idx_type& ierr);
507 
508 extern OCTAVE_API ComplexMatrix
509 airy (const ComplexMatrix& z, bool deriv, bool scaled,
511 
512 extern OCTAVE_API ComplexMatrix
513 biry (const ComplexMatrix& z, bool deriv, bool scaled,
515 
516 extern OCTAVE_API ComplexNDArray
517 airy (const ComplexNDArray& z, bool deriv, bool scaled,
519 
520 extern OCTAVE_API ComplexNDArray
521 biry (const ComplexNDArray& z, bool deriv, bool scaled,
523 
524 extern OCTAVE_API FloatComplex
525 airy (const FloatComplex& z, bool deriv, bool scaled, octave_idx_type& ierr);
526 
527 extern OCTAVE_API FloatComplex
528 biry (const FloatComplex& z, bool deriv, bool scaled, octave_idx_type& ierr);
529 
530 extern OCTAVE_API FloatComplexMatrix
531 airy (const FloatComplexMatrix& z, bool deriv, bool scaled,
533 
534 extern OCTAVE_API FloatComplexMatrix
535 biry (const FloatComplexMatrix& z, bool deriv, bool scaled,
537 
538 extern OCTAVE_API FloatComplexNDArray
539 airy (const FloatComplexNDArray& z, bool deriv, bool scaled,
541 
542 extern OCTAVE_API FloatComplexNDArray
543 biry (const FloatComplexNDArray& z, bool deriv, bool scaled,
545 
546 extern OCTAVE_API double
547 betainc (double x, double a, double b);
548 extern OCTAVE_API Array<double>
549 betainc (double x, double a, const Array<double>& b);
550 extern OCTAVE_API Array<double>
551 betainc (double x, const Array<double>& a, double b);
552 extern OCTAVE_API Array<double>
553 betainc (double x, const Array<double>& a, const Array<double>& b);
554 extern OCTAVE_API Array<double>
555 betainc (const Array<double>& x, double a, double b);
556 extern OCTAVE_API Array<double>
557 betainc (const Array<double>& x, double a, double b);
558 extern OCTAVE_API Array<double>
559 betainc (const Array<double>& x, double a, const Array<double>& b);
560 extern OCTAVE_API Array<double>
561 betainc (const Array<double>& x, const Array<double>& a, double b);
562 extern OCTAVE_API Array<double>
563 betainc (const Array<double>& x, const Array<double>& a,
564  const Array<double>& b);
565 
566 extern OCTAVE_API float
567 betainc (float x, float a, float b);
568 extern OCTAVE_API Array<float>
569 betainc (float x, float a, const Array<float>& b);
570 extern OCTAVE_API Array<float>
571 betainc (float x, const Array<float>& a, float b);
572 extern OCTAVE_API Array<float>
573 betainc (float x, const Array<float>& a, const Array<float>& b);
574 extern OCTAVE_API Array<float>
575 betainc (const Array<float>& x, float a, float b);
576 extern OCTAVE_API Array<float>
577 betainc (const Array<float>& x, float a, float b);
578 extern OCTAVE_API Array<float>
579 betainc (const Array<float>& x, float a, const Array<float>& b);
580 extern OCTAVE_API Array<float>
581 betainc (const Array<float>& x, const Array<float>& a, float b);
582 extern OCTAVE_API Array<float>
583 betainc (const Array<float>& x, const Array<float>& a, const Array<float>& b);
584 
585 extern OCTAVE_API double gammainc (double x, double a, bool& err);
586 extern OCTAVE_API Matrix gammainc (double x, const Matrix& a);
587 extern OCTAVE_API Matrix gammainc (const Matrix& x, double a);
588 extern OCTAVE_API Matrix gammainc (const Matrix& x, const Matrix& a);
589 
590 extern OCTAVE_API NDArray gammainc (double x, const NDArray& a);
591 extern OCTAVE_API NDArray gammainc (const NDArray& x, double a);
592 extern OCTAVE_API NDArray gammainc (const NDArray& x, const NDArray& a);
593 
594 inline double gammainc (double x, double a)
595 {
596  bool err;
597  return gammainc (x, a, err);
598 }
599 
600 extern OCTAVE_API float gammainc (float x, float a, bool& err);
601 extern OCTAVE_API FloatMatrix gammainc (float x, const FloatMatrix& a);
602 extern OCTAVE_API FloatMatrix gammainc (const FloatMatrix& x, float a);
603 extern OCTAVE_API FloatMatrix
604 gammainc (const FloatMatrix& x, const FloatMatrix& a);
605 
606 extern OCTAVE_API FloatNDArray gammainc (float x, const FloatNDArray& a);
607 extern OCTAVE_API FloatNDArray gammainc (const FloatNDArray& x, float a);
608 extern OCTAVE_API FloatNDArray
609 gammainc (const FloatNDArray& x, const FloatNDArray& a);
610 
611 inline float gammainc (float x, float a)
612 {
613  bool err;
614  return gammainc (x, a, err);
615 }
616 
617 extern OCTAVE_API Complex rc_log1p (double);
618 extern OCTAVE_API FloatComplex rc_log1p (float);
619 
620 extern OCTAVE_API double erfinv (double x);
621 extern OCTAVE_API float erfinv (float x);
622 
623 extern OCTAVE_API double erfcinv (double x);
624 extern OCTAVE_API float erfcinv (float x);
625 
626 extern OCTAVE_API float erfcx (float x);
627 extern OCTAVE_API double erfcx (double x);
628 extern OCTAVE_API Complex erfcx (const Complex& x);
629 extern OCTAVE_API FloatComplex erfcx (const FloatComplex& x);
630 
631 extern OCTAVE_API float erfi (float x);
632 extern OCTAVE_API double erfi (double x);
633 extern OCTAVE_API Complex erfi (const Complex& x);
634 extern OCTAVE_API FloatComplex erfi (const FloatComplex& x);
635 
636 extern OCTAVE_API float dawson (float x);
637 extern OCTAVE_API double dawson (double x);
638 extern OCTAVE_API Complex dawson (const Complex& x);
639 extern OCTAVE_API FloatComplex dawson (const FloatComplex& x);
640 
641 extern OCTAVE_API double betaincinv (double x, double a, double b);
642 extern OCTAVE_API Array<double>
643 betaincinv (double x, double a, const Array<double>& b);
644 extern OCTAVE_API Array<double>
645 betaincinv (double x, const Array<double>& a, double b);
646 extern OCTAVE_API Array<double>
647 betaincinv (double x, const Array<double>& a, const Array<double>& b);
648 extern OCTAVE_API Array<double>
649 betaincinv (const Array<double>& x, double a, double b);
650 extern OCTAVE_API Array<double>
651 betaincinv (const Array<double>& x, double a, double b);
652 extern OCTAVE_API Array<double>
653 betaincinv (const Array<double>& x, double a, const Array<double>& b);
654 extern OCTAVE_API Array<double>
655 betaincinv (const Array<double>& x, const Array<double>& a, double b);
656 extern OCTAVE_API Array<double>
657 betaincinv (const Array<double>& x, const Array<double>& a,
658  const Array<double>& b);
659 
660 extern OCTAVE_API void
661 ellipj (double u, double m, double& sn, double& cn, double& dn, double& err);
662 extern OCTAVE_API void
663 ellipj (const Complex& u, double m, Complex& sn, Complex& cn, Complex& dn,
664  double& err);
665 
666 #endif