annotate libinterp/corefcn/ellipj.cc @ 17502:578805a293e5

ellipj: Move numerical code into liboctave * lo-specfun.cc, lo-specfun.h (ellipj): New functions, adapted from Fellipj. * ellipj.cc (Fellipj): Call ellipj. (do_ellipj): Delete.
author Mike Miller <mtmiller@ieee.org>
date Thu, 26 Sep 2013 21:34:26 -0400
parents 991c7c812e38
children 5b916efea542
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
1 /*
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
2
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
3 Copyright (C) 2013 Leopoldo Cerbaro <redbliss@libero.it>
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
4
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
5 This file is part of Octave.
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
6
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
8 under the terms of the GNU General Public License as published by the
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
10 option) any later version.
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
11
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
15 for more details.
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
16
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
17 You should have received a copy of the GNU General Public License
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
18 along with Octave; see the file COPYING. If not, see
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
19 <http://www.gnu.org/licenses/>.
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
20
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
21 */
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
22
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
23 #ifdef HAVE_CONFIG_H
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
24 #include <config.h>
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
25 #endif
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
26
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
27 #include "defun.h"
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
28 #include "error.h"
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
29 #include "lo-specfun.h"
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
30
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
31 static void
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
32 gripe_ellipj_arg (const char *arg)
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
33 {
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
34 error ("ellipj: expecting scalar or matrix as %s argument", arg);
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
35 }
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
36
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
37 DEFUN (ellipj, args, nargout,
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
38 "-*- texinfo -*-\n\
16588
4d2b0104ee05 Add argument to ellipj for Matlab compatibility
Mike Miller <mtmiller@ieee.org>
parents: 16587
diff changeset
39 @deftypefn {Built-in Function} {[@var{sn}, @var{cn}, @var{dn}, @var{err}] =} ellipj (@var{u}, @var{m})\n\
4d2b0104ee05 Add argument to ellipj for Matlab compatibility
Mike Miller <mtmiller@ieee.org>
parents: 16587
diff changeset
40 @deftypefnx {Built-in Function} {[@var{sn}, @var{cn}, @var{dn}, @var{err}] =} ellipj (@var{u}, @var{m}, @var{tol})\n\
16587
a3fdd6041e64 Fix ellipj, ellipke, and expint docstrings
Mike Miller <mtmiller@ieee.org>
parents: 16586
diff changeset
41 Compute the Jacobi elliptic functions @var{sn}, @var{cn}, and @var{dn}\n\
a3fdd6041e64 Fix ellipj, ellipke, and expint docstrings
Mike Miller <mtmiller@ieee.org>
parents: 16586
diff changeset
42 of complex argument @var{u} and real parameter @var{m}.\n\
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
43 \n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
44 If @var{m} is a scalar, the results are the same size as @var{u}.\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
45 If @var{u} is a scalar, the results are the same size as @var{m}.\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
46 If @var{u} is a column vector and @var{m} is a row vector, the\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
47 results are matrices with @code{length (@var{u})} rows and\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
48 @code{length (@var{m})} columns. Otherwise, @var{u} and\n\
17370
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
49 @var{m} must conform in size and the results will be the same size as the\n\
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
50 inputs.\n\
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
51 \n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
52 The value of @var{u} may be complex.\n\
17370
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
53 The value of @var{m} must be 0 @leq{} @var{m} @leq{} 1.\n\
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
54 \n\
17370
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
55 The optinoal input @var{tol} is currently ignored (@sc{matlab} uses this to\n\
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
56 allow faster, less accurate approximation).\n\
16588
4d2b0104ee05 Add argument to ellipj for Matlab compatibility
Mike Miller <mtmiller@ieee.org>
parents: 16587
diff changeset
57 \n\
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
58 If requested, @var{err} contains the following status information\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
59 and is the same size as the result.\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
60 \n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
61 @enumerate 0\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
62 @item\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
63 Normal return.\n\
16816
12005245b645 doc: Periodic grammarcheck of documentation.
Rik <rik@octave.org>
parents: 16768
diff changeset
64 \n\
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
65 @item\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
66 Error---no computation, algorithm termination condition not met,\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
67 return @code{NaN}.\n\
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
68 @end enumerate\n\
17370
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
69 \n\
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
70 Reference: Milton Abramowitz and Irene A Stegun,\n\
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
71 @cite{Handbook of Mathematical Functions}, Chapter 16 (Sections 16.4, 16.13,\n\
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
72 and 16.15), Dover, 1965.\n\
c7c0dad2f9ac doc: Use Octave citation style for references in ellipj, ellipke.
Rik <rik@octave.org>
parents: 17308
diff changeset
73 \n\
16587
a3fdd6041e64 Fix ellipj, ellipke, and expint docstrings
Mike Miller <mtmiller@ieee.org>
parents: 16586
diff changeset
74 @seealso{ellipke}\n\
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
75 @end deftypefn")
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
76 {
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
77 octave_value_list retval;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
78
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
79 int nargin = args.length ();
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
80
16588
4d2b0104ee05 Add argument to ellipj for Matlab compatibility
Mike Miller <mtmiller@ieee.org>
parents: 16587
diff changeset
81 if (nargin < 2 || nargin > 3)
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
82 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
83 print_usage ();
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
84 return retval;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
85 }
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
86
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
87 octave_value u_arg = args(0);
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
88 octave_value m_arg = args(1);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
89
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
90 if (m_arg.is_scalar_type ())
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
91 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
92 double m = args(1).double_value ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
93
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
94 if (error_state)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
95 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
96 gripe_ellipj_arg ("second");
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
97 return retval;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
98 }
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
99
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
100 if (u_arg.is_scalar_type ())
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
101 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
102 if (u_arg.is_real_type ())
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
103 { // u real, m scalar
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
104 double u = args(0).double_value ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
105
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
106 if (error_state)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
107 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
108 gripe_ellipj_arg ("first");
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
109 return retval;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
110 }
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
111
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
112 double sn, cn, dn;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
113 double err = 0;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
114
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
115 ellipj (u, m, sn, cn, dn, err);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
116
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
117 if (nargout > 3)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
118 retval(3) = err;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
119 retval(2) = dn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
120 retval(1) = cn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
121 retval(0) = sn;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
122 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
123 else
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
124 { // u complex, m scalar
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
125 Complex u = u_arg.complex_value ();
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
126
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
127 if (error_state)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
128 {
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
129 gripe_ellipj_arg ("first");
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
130 return retval;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
131 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
132
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
133 Complex sn, cn, dn;
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
134 double err = 0;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
135
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
136 ellipj (u, m, sn, cn, dn, err);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
137
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
138 if (nargout > 3)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
139 retval(3) = err;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
140 retval(2) = dn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
141 retval(1) = cn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
142 retval(0) = sn;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
143 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
144 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
145 else
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
146 { // u is matrix, m is scalar
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
147 ComplexNDArray u = u_arg.complex_array_value ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
148
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
149 if (error_state)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
150 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
151 gripe_ellipj_arg ("first");
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
152 return retval;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
153 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
154
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
155 dim_vector sz_u = u.dims ();
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
156
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
157 ComplexNDArray sn (sz_u), cn (sz_u), dn (sz_u);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
158 NDArray err (sz_u);
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
159
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
160 const Complex *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
161 Complex *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
162 Complex *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
163 Complex *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
164 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
165 octave_idx_type nel = u.numel ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
166
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
167 for (octave_idx_type i = 0; i < nel; i++)
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
168 ellipj (pu[i], m, psn[i], pcn[i], pdn[i], perr[i]);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
169
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
170 if (nargout > 3)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
171 retval(3) = err;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
172 retval(2) = dn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
173 retval(1) = cn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
174 retval(0) = sn;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
175 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
176 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
177 else
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
178 {
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
179 NDArray m = args(1).array_value ();
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
180
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
181 if (error_state)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
182 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
183 gripe_ellipj_arg ("second");
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
184 return retval;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
185 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
186
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
187 dim_vector sz_m = m.dims ();
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
188
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
189 if (u_arg.is_scalar_type ())
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
190 { // u is scalar, m is array
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
191 if (u_arg.is_real_type ())
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
192 { // u is real scalar, m is array
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
193 double u = u_arg.double_value ();
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
194
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
195 if (error_state)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
196 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
197 gripe_ellipj_arg ("first");
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
198 return retval;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
199 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
200
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
201 NDArray sn (sz_m), cn (sz_m), dn (sz_m);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
202 NDArray err (sz_m);
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
203
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
204 const double *pm = m.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
205 double *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
206 double *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
207 double *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
208 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
209 octave_idx_type nel = m.numel ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
210
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
211 for (octave_idx_type i = 0; i < nel; i++)
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
212 ellipj (u, pm[i], psn[i], pcn[i], pdn[i], perr[i]);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
213
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
214 if (nargout > 3)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
215 retval(3) = err;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
216 retval(2) = dn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
217 retval(1) = cn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
218 retval(0) = sn;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
219 }
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
220 else
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
221 { // u is complex scalar, m is array
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
222 Complex u = u_arg.complex_value ();
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
223
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
224 if (error_state)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
225 {
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
226 gripe_ellipj_arg ("first");
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
227 return retval;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
228 }
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
229
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
230 ComplexNDArray sn (sz_m), cn (sz_m), dn (sz_m);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
231 NDArray err (sz_m);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
232
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
233 const double *pm = m.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
234 Complex *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
235 Complex *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
236 Complex *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
237 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
238 octave_idx_type nel = m.numel ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
239
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
240 for (octave_idx_type i = 0; i < nel; i++)
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
241 ellipj (u, pm[i], psn[i], pcn[i], pdn[i], perr[i]);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
242
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
243 if (nargout > 3)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
244 retval(3) = err;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
245 retval(2) = dn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
246 retval(1) = cn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
247 retval(0) = sn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
248 }
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
249 }
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
250 else
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
251 { // u is array, m is array
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
252 if (u_arg.is_real_type ())
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
253 { // u is real array, m is array
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
254 NDArray u = u_arg.array_value ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
255
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
256 if (error_state)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
257 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
258 gripe_ellipj_arg ("first");
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
259 return retval;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
260 }
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
261
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
262 dim_vector sz_u = u.dims ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
263
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
264 if (sz_u.length () == 2 && sz_m.length () == 2
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
265 && sz_u(1) == 1 && sz_m(0) == 1)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
266 { // u is real column vector, m is row vector
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
267 octave_idx_type ur = sz_u(0);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
268 octave_idx_type mc = sz_m(1);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
269 dim_vector sz_out (ur, mc);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
270
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
271 NDArray sn (sz_out), cn (sz_out), dn (sz_out);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
272 NDArray err (sz_out);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
273
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
274 const double *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
275 const double *pm = m.data ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
276
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
277 for (octave_idx_type j = 0; j < mc; j++)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
278 for (octave_idx_type i = 0; i < ur; i++)
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
279 ellipj (pu[i], pm[j], sn(i,j), cn(i,j), dn(i,j), err(i,j));
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
280
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
281 if (nargout > 3)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
282 retval(3) = err;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
283 retval(2) = dn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
284 retval(1) = cn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
285 retval(0) = sn;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
286 }
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
287 else if (sz_m == sz_u)
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
288 {
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
289 NDArray sn (sz_m), cn (sz_m), dn (sz_m);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
290 NDArray err (sz_m);
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
291
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
292 const double *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
293 const double *pm = m.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
294 double *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
295 double *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
296 double *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
297 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
298 octave_idx_type nel = m.numel ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
299
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
300 for (octave_idx_type i = 0; i < nel; i++)
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
301 ellipj (pu[i], pm[i], psn[i], pcn[i], pdn[i], perr[i]);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
302
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
303 if (nargout > 3)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
304 retval(3) = err;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
305 retval(2) = dn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
306 retval(1) = cn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
307 retval(0) = sn;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
308 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
309 else
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
310 error ("ellipj: Invalid size combination for U and M");
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
311 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
312 else
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
313 { // u is complex array, m is array
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
314 ComplexNDArray u = u_arg.complex_array_value ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
315
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
316 if (error_state)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
317 {
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
318 gripe_ellipj_arg ("second");
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
319 return retval;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
320 }
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
321
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
322 dim_vector sz_u = u.dims ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
323
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
324 if (sz_u.length () == 2 && sz_m.length () == 2
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
325 && sz_u(1) == 1 && sz_m(0) == 1)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
326 { // u is complex column vector, m is row vector
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
327 octave_idx_type ur = sz_u(0);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
328 octave_idx_type mc = sz_m(1);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
329 dim_vector sz_out (ur, mc);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
330
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
331 ComplexNDArray sn (sz_out), cn (sz_out), dn (sz_out);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
332 NDArray err (sz_out);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
333
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
334 const Complex *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
335 const double *pm = m.data ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
336
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
337 for (octave_idx_type j = 0; j < mc; j++)
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
338 for (octave_idx_type i = 0; i < ur; i++)
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
339 ellipj (pu[i], pm[j], sn(i,j), cn(i,j), dn(i,j), err(i,j));
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
340
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
341 if (nargout > 3)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
342 retval(3) = err;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
343 retval(2) = dn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
344 retval(1) = cn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
345 retval(0) = sn;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
346 }
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
347 else if (sz_m == sz_u)
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
348 {
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
349 ComplexNDArray sn (sz_m), cn (sz_m), dn (sz_m);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
350 NDArray err (sz_m);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
351
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
352 const Complex *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
353 const double *pm = m.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
354 Complex *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
355 Complex *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
356 Complex *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
357 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
358 octave_idx_type nel = m.numel ();
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
359
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
360 for (octave_idx_type i = 0; i < nel; i++)
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
361 ellipj (pu[i], pm[i], psn[i], pcn[i], pdn[i], perr[i]);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
362
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
363 if (nargout > 3)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
364 retval(3) = err;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
365 retval(2) = dn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
366 retval(1) = cn;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
367 retval(0) = sn;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
368 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
369 else
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
370 error ("ellipj: Invalid size combination for U and M");
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
371 }
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
372 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
373 } // m matrix
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
374
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
375 return retval;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
376 }
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
377
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
378 /*
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
379 ## demos taken from inst/ellipj.m
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
380
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
381 %!demo
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
382 %! N = 150;
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
383 %! # m = [1-logspace(0,log(eps),N-1), 1]; # m near 1
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
384 %! # m = [0, logspace(log(eps),0,N-1)]; # m near 0
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
385 %! m = linspace (0,1,N); # m equally spaced
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
386 %! u = linspace (-20, 20, N);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
387 %! M = ones (length (u), 1) * m;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
388 %! U = u' * ones (1, length (m));
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
389 %! [sn, cn, dn] = ellipj (U,M);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
390 %!
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
391 %! ## Plotting
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
392 %! data = {sn,cn,dn};
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
393 %! dname = {"sn","cn","dn"};
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
394 %! for i=1:3
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
395 %! subplot (1,3,i);
16585
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
396 %! data{i}(data{i} > 1) = 1;
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
397 %! data{i}(data{i} < -1) = -1;
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
398 %! image (m,u,32*data{i}+32);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
399 %! title (dname{i});
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
400 %! endfor
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
401 %! colormap (hot (64));
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
402
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
403 %!demo
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
404 %! N = 200;
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
405 %! # m = [1-logspace(0,log(eps),N-1), 1]; # m near 1
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
406 %! # m = [0, logspace(log(eps),0,N-1)]; # m near 0
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
407 %! m = linspace (0,1,N); # m equally spaced
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
408 %! u = linspace (0,20,5);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
409 %! M = ones (length (u), 1) * m;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
410 %! U = u' * ones (1, length (m));
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
411 %! [sn, cn, dn] = ellipj (U,M);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
412 %!
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
413 %! ## Plotting
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
414 %! data = {sn,cn,dn};
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
415 %! dname = {"sn","cn","dn"};
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
416 %! for i=1:3
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
417 %! subplot (1,3,i);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
418 %! plot (m, data{i});
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
419 %! title (dname{i});
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
420 %! grid on;
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
421 %! endfor
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
422 */
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
423
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
424 /*
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
425 ## tests taken from inst/test_sncndn.m
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
426
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
427 %!test
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
428 %! k = (tan(pi/8.))^2; m = k*k;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
429 %! SN = [
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
430 %! -1. + I * 0. , -0.8392965923 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
431 %! -1. + I * 0.2 , -0.8559363407 + 0.108250955 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
432 %! -1. + I * 0.4 , -0.906529758 + 0.2204040232 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
433 %! -1. + I * 0.6 , -0.9931306727 + 0.3403783409 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
434 %! -1. + I * 0.8 , -1.119268095 + 0.4720784944 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
435 %! -1. + I * 1. , -1.29010951 + 0.6192468708 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
436 %! -1. + I * 1.2 , -1.512691987 + 0.7850890595 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
437 %! -1. + I * 1.4 , -1.796200374 + 0.9714821804 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
438 %! -1. + I * 1.6 , -2.152201882 + 1.177446413 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
439 %! -1. + I * 1.8 , -2.594547417 + 1.396378892 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
440 %! -1. + I * 2. , -3.138145339 + 1.611394819 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
441 %! -0.8 + I * 0. , -0.7158157937 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
442 %! -0.8 + I * 0.2 , -0.7301746722 + 0.1394690862 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
443 %! -0.8 + I * 0.4 , -0.7738940898 + 0.2841710966 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
444 %! -0.8 + I * 0.6 , -0.8489542135 + 0.4394411376 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
445 %! -0.8 + I * 0.8 , -0.9588386397 + 0.6107824358 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
446 %! -0.8 + I * 1. , -1.108848724 + 0.8038415767 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
447 %! -0.8 + I * 1.2 , -1.306629972 + 1.024193359 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
448 %! -0.8 + I * 1.4 , -1.563010199 + 1.276740951 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
449 %! -0.8 + I * 1.6 , -1.893274688 + 1.564345558 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
450 %! -0.8 + I * 1.8 , -2.318944084 + 1.88491973 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
451 %! -0.8 + I * 2. , -2.869716809 + 2.225506523 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
452 %! -0.6 + I * 0. , -0.5638287208 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
453 %! -0.6 + I * 0.2 , -0.5752723012 + 0.1654722474 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
454 %! -0.6 + I * 0.4 , -0.610164314 + 0.3374004736 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
455 %! -0.6 + I * 0.6 , -0.6702507087 + 0.5224614298 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
456 %! -0.6 + I * 0.8 , -0.7586657365 + 0.7277663879 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
457 %! -0.6 + I * 1. , -0.8803349115 + 0.9610513652 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
458 %! -0.6 + I * 1.2 , -1.042696526 + 1.230800819 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
459 %! -0.6 + I * 1.4 , -1.256964505 + 1.546195843 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
460 %! -0.6 + I * 1.6 , -1.540333527 + 1.916612621 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
461 %! -0.6 + I * 1.8 , -1.919816065 + 2.349972151 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
462 %! -0.6 + I * 2. , -2.438761841 + 2.848129496 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
463 %! -0.4 + I * 0. , -0.3891382858 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
464 %! -0.4 + I * 0.2 , -0.3971152026 + 0.1850563793 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
465 %! -0.4 + I * 0.4 , -0.4214662882 + 0.3775700801 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
466 %! -0.4 + I * 0.6 , -0.4635087491 + 0.5853434119 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
467 %! -0.4 + I * 0.8 , -0.5256432877 + 0.8168992398 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
468 %! -0.4 + I * 1. , -0.611733177 + 1.081923504 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
469 %! -0.4 + I * 1.2 , -0.7278102331 + 1.391822501 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
470 %! -0.4 + I * 1.4 , -0.8833807998 + 1.760456461 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
471 %! -0.4 + I * 1.6 , -1.093891878 + 2.205107766 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
472 %! -0.4 + I * 1.8 , -1.385545188 + 2.747638761 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
473 %! -0.4 + I * 2. , -1.805081271 + 3.41525351 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
474 %! -0.2 + I * 0. , -0.1986311721 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
475 %! -0.2 + I * 0.2 , -0.2027299916 + 0.1972398665 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
476 %! -0.2 + I * 0.4 , -0.2152524522 + 0.402598347 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
477 %! -0.2 + I * 0.6 , -0.2369100139 + 0.6246336356 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
478 %! -0.2 + I * 0.8 , -0.2690115146 + 0.8728455227 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
479 %! -0.2 + I * 1. , -0.3136938773 + 1.158323088 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
480 %! -0.2 + I * 1.2 , -0.3743615191 + 1.494672508 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
481 %! -0.2 + I * 1.4 , -0.4565255082 + 1.899466033 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
482 %! -0.2 + I * 1.6 , -0.5694611346 + 2.39667232 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
483 %! -0.2 + I * 1.8 , -0.7296612675 + 3.020990664 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
484 %! -0.2 + I * 2. , -0.9685726188 + 3.826022536 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
485 %! 0. + I * 0. , 0. + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
486 %! 0. + I * 0.2 , 0. + 0.201376364 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
487 %! 0. + I * 0.4 , 0. + 0.4111029248 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
488 %! 0. + I * 0.6 , 0. + 0.6380048435 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
489 %! 0. + I * 0.8 , 0. + 0.8919321473 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
490 %! 0. + I * 1. , 0. + 1.184486615 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
491 %! 0. + I * 1.2 , 0. + 1.530096023 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
492 %! 0. + I * 1.4 , 0. + 1.947754612 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
493 %! 0. + I * 1.6 , 0. + 2.464074356 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
494 %! 0. + I * 1.8 , 0. + 3.119049475 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
495 %! 0. + I * 2. , 0. + 3.97786237 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
496 %! 0.2 + I * 0. , 0.1986311721 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
497 %! 0.2 + I * 0.2 , 0.2027299916 + 0.1972398665 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
498 %! 0.2 + I * 0.4 , 0.2152524522 + 0.402598347 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
499 %! 0.2 + I * 0.6 , 0.2369100139 + 0.6246336356 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
500 %! 0.2 + I * 0.8 , 0.2690115146 + 0.8728455227 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
501 %! 0.2 + I * 1. , 0.3136938773 + 1.158323088 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
502 %! 0.2 + I * 1.2 , 0.3743615191 + 1.494672508 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
503 %! 0.2 + I * 1.4 , 0.4565255082 + 1.899466033 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
504 %! 0.2 + I * 1.6 , 0.5694611346 + 2.39667232 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
505 %! 0.2 + I * 1.8 , 0.7296612675 + 3.020990664 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
506 %! 0.2 + I * 2. , 0.9685726188 + 3.826022536 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
507 %! 0.4 + I * 0. , 0.3891382858 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
508 %! 0.4 + I * 0.2 , 0.3971152026 + 0.1850563793 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
509 %! 0.4 + I * 0.4 , 0.4214662882 + 0.3775700801 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
510 %! 0.4 + I * 0.6 , 0.4635087491 + 0.5853434119 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
511 %! 0.4 + I * 0.8 , 0.5256432877 + 0.8168992398 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
512 %! 0.4 + I * 1. , 0.611733177 + 1.081923504 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
513 %! 0.4 + I * 1.2 , 0.7278102331 + 1.391822501 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
514 %! 0.4 + I * 1.4 , 0.8833807998 + 1.760456461 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
515 %! 0.4 + I * 1.6 , 1.093891878 + 2.205107766 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
516 %! 0.4 + I * 1.8 , 1.385545188 + 2.747638761 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
517 %! 0.4 + I * 2. , 1.805081271 + 3.41525351 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
518 %! 0.6 + I * 0. , 0.5638287208 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
519 %! 0.6 + I * 0.2 , 0.5752723012 + 0.1654722474 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
520 %! 0.6 + I * 0.4 , 0.610164314 + 0.3374004736 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
521 %! 0.6 + I * 0.6 , 0.6702507087 + 0.5224614298 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
522 %! 0.6 + I * 0.8 , 0.7586657365 + 0.7277663879 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
523 %! 0.6 + I * 1. , 0.8803349115 + 0.9610513652 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
524 %! 0.6 + I * 1.2 , 1.042696526 + 1.230800819 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
525 %! 0.6 + I * 1.4 , 1.256964505 + 1.546195843 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
526 %! 0.6 + I * 1.6 , 1.540333527 + 1.916612621 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
527 %! 0.6 + I * 1.8 , 1.919816065 + 2.349972151 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
528 %! 0.6 + I * 2. , 2.438761841 + 2.848129496 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
529 %! 0.8 + I * 0. , 0.7158157937 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
530 %! 0.8 + I * 0.2 , 0.7301746722 + 0.1394690862 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
531 %! 0.8 + I * 0.4 , 0.7738940898 + 0.2841710966 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
532 %! 0.8 + I * 0.6 , 0.8489542135 + 0.4394411376 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
533 %! 0.8 + I * 0.8 , 0.9588386397 + 0.6107824358 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
534 %! 0.8 + I * 1. , 1.108848724 + 0.8038415767 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
535 %! 0.8 + I * 1.2 , 1.306629972 + 1.024193359 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
536 %! 0.8 + I * 1.4 , 1.563010199 + 1.276740951 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
537 %! 0.8 + I * 1.6 , 1.893274688 + 1.564345558 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
538 %! 0.8 + I * 1.8 , 2.318944084 + 1.88491973 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
539 %! 0.8 + I * 2. , 2.869716809 + 2.225506523 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
540 %! 1. + I * 0. , 0.8392965923 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
541 %! 1. + I * 0.2 , 0.8559363407 + 0.108250955 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
542 %! 1. + I * 0.4 , 0.906529758 + 0.2204040232 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
543 %! 1. + I * 0.6 , 0.9931306727 + 0.3403783409 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
544 %! 1. + I * 0.8 , 1.119268095 + 0.4720784944 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
545 %! 1. + I * 1. , 1.29010951 + 0.6192468708 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
546 %! 1. + I * 1.2 , 1.512691987 + 0.7850890595 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
547 %! 1. + I * 1.4 , 1.796200374 + 0.9714821804 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
548 %! 1. + I * 1.6 , 2.152201882 + 1.177446413 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
549 %! 1. + I * 1.8 , 2.594547417 + 1.396378892 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
550 %! 1. + I * 2. , 3.138145339 + 1.611394819 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
551 %! ];
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
552 %! CN = [
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
553 %! -1. + I * 0. , 0.5436738271 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
554 %! -1. + I * 0.2 , 0.5541219664 + 0.1672121517 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
555 %! -1. + I * 0.4 , 0.5857703552 + 0.3410940893 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
556 %! -1. + I * 0.6 , 0.6395034233 + 0.5285979063 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
557 %! -1. + I * 0.8 , 0.716688504 + 0.7372552987 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
558 %! -1. + I * 1. , 0.8189576795 + 0.9755037374 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
559 %! -1. + I * 1.2 , 0.9477661951 + 1.253049471 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
560 %! -1. + I * 1.4 , 1.103540657 + 1.581252712 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
561 %! -1. + I * 1.6 , 1.284098214 + 1.973449038 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
562 %! -1. + I * 1.8 , 1.481835651 + 2.4449211 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
563 %! -1. + I * 2. , 1.679032464 + 3.011729224 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
564 %! -0.8 + I * 0. , 0.6982891589 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
565 %! -0.8 + I * 0.2 , 0.71187169 + 0.1430549855 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
566 %! -0.8 + I * 0.4 , 0.7530744458 + 0.2920273465 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
567 %! -0.8 + I * 0.6 , 0.8232501212 + 0.4531616768 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
568 %! -0.8 + I * 0.8 , 0.9245978896 + 0.6334016187 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
569 %! -0.8 + I * 1. , 1.060030206 + 0.8408616109 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
570 %! -0.8 + I * 1.2 , 1.232861756 + 1.085475913 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
571 %! -0.8 + I * 1.4 , 1.446126965 + 1.379933558 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
572 %! -0.8 + I * 1.6 , 1.701139468 + 1.741030588 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
573 %! -0.8 + I * 1.8 , 1.994526268 + 2.191509596 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
574 %! -0.8 + I * 2. , 2.312257188 + 2.762051518 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
575 %! -0.6 + I * 0. , 0.8258917445 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
576 %! -0.6 + I * 0.2 , 0.842151698 + 0.1130337928 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
577 %! -0.6 + I * 0.4 , 0.8915487431 + 0.2309124769 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
578 %! -0.6 + I * 0.6 , 0.975948103 + 0.3588102098 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
579 %! -0.6 + I * 0.8 , 1.098499209 + 0.5026234141 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
580 %! -0.6 + I * 1. , 1.263676101 + 0.6695125973 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
581 %! -0.6 + I * 1.2 , 1.477275851 + 0.8687285705 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
582 %! -0.6 + I * 1.4 , 1.746262523 + 1.112955966 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
583 %! -0.6 + I * 1.6 , 2.078179075 + 1.420581466 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
584 %! -0.6 + I * 1.8 , 2.479425208 + 1.819580713 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
585 %! -0.6 + I * 2. , 2.950586798 + 2.354077344 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
586 %! -0.4 + I * 0. , 0.9211793498 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
587 %! -0.4 + I * 0.2 , 0.9395019377 + 0.07822091534 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
588 %! -0.4 + I * 0.4 , 0.9952345231 + 0.1598950363 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
589 %! -0.4 + I * 0.6 , 1.090715991 + 0.2487465067 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
590 %! -0.4 + I * 0.8 , 1.229998843 + 0.34910407 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
591 %! -0.4 + I * 1. , 1.419103868 + 0.4663848201 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
592 %! -0.4 + I * 1.2 , 1.666426377 + 0.607877235 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
593 %! -0.4 + I * 1.4 , 1.983347336 + 0.7841054404 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
594 %! -0.4 + I * 1.6 , 2.385101684 + 1.01134031 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
595 %! -0.4 + I * 1.8 , 2.89185416 + 1.316448705 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
596 %! -0.4 + I * 2. , 3.529393374 + 1.74670531 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
597 %! -0.2 + I * 0. , 0.9800743122 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
598 %! -0.2 + I * 0.2 , 0.9997019476 + 0.03999835809 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
599 %! -0.2 + I * 0.4 , 1.059453907 + 0.08179712295 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
600 %! -0.2 + I * 0.6 , 1.16200643 + 0.1273503824 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
601 %! -0.2 + I * 0.8 , 1.312066413 + 0.1789585449 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
602 %! -0.2 + I * 1. , 1.516804331 + 0.2395555269 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
603 %! -0.2 + I * 1.2 , 1.786613221 + 0.313189147 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
604 %! -0.2 + I * 1.4 , 2.136422971 + 0.405890925 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
605 %! -0.2 + I * 1.6 , 2.588021972 + 0.527357091 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
606 %! -0.2 + I * 1.8 , 3.174302819 + 0.6944201617 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
607 %! -0.2 + I * 2. , 3.947361147 + 0.9387994989 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
608 %! 0. + I * 0. , 1. + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
609 %! 0. + I * 0.2 , 1.020074723 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
610 %! 0. + I * 0.4 , 1.08120563 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
611 %! 0. + I * 0.6 , 1.18619146 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
612 %! 0. + I * 0.8 , 1.339978715 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
613 %! 0. + I * 1. , 1.550164037 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
614 %! 0. + I * 1.2 , 1.827893279 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
615 %! 0. + I * 1.4 , 2.189462954 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
616 %! 0. + I * 1.6 , 2.659259752 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
617 %! 0. + I * 1.8 , 3.275434266 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
618 %! 0. + I * 2. , 4.101632484 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
619 %! 0.2 + I * 0. , 0.9800743122 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
620 %! 0.2 + I * 0.2 , 0.9997019476 - 0.03999835809 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
621 %! 0.2 + I * 0.4 , 1.059453907 - 0.08179712295 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
622 %! 0.2 + I * 0.6 , 1.16200643 - 0.1273503824 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
623 %! 0.2 + I * 0.8 , 1.312066413 - 0.1789585449 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
624 %! 0.2 + I * 1. , 1.516804331 - 0.2395555269 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
625 %! 0.2 + I * 1.2 , 1.786613221 - 0.313189147 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
626 %! 0.2 + I * 1.4 , 2.136422971 - 0.405890925 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
627 %! 0.2 + I * 1.6 , 2.588021972 - 0.527357091 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
628 %! 0.2 + I * 1.8 , 3.174302819 - 0.6944201617 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
629 %! 0.2 + I * 2. , 3.947361147 - 0.9387994989 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
630 %! 0.4 + I * 0. , 0.9211793498 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
631 %! 0.4 + I * 0.2 , 0.9395019377 - 0.07822091534 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
632 %! 0.4 + I * 0.4 , 0.9952345231 - 0.1598950363 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
633 %! 0.4 + I * 0.6 , 1.090715991 - 0.2487465067 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
634 %! 0.4 + I * 0.8 , 1.229998843 - 0.34910407 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
635 %! 0.4 + I * 1. , 1.419103868 - 0.4663848201 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
636 %! 0.4 + I * 1.2 , 1.666426377 - 0.607877235 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
637 %! 0.4 + I * 1.4 , 1.983347336 - 0.7841054404 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
638 %! 0.4 + I * 1.6 , 2.385101684 - 1.01134031 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
639 %! 0.4 + I * 1.8 , 2.89185416 - 1.316448705 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
640 %! 0.4 + I * 2. , 3.529393374 - 1.74670531 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
641 %! 0.6 + I * 0. , 0.8258917445 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
642 %! 0.6 + I * 0.2 , 0.842151698 - 0.1130337928 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
643 %! 0.6 + I * 0.4 , 0.8915487431 - 0.2309124769 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
644 %! 0.6 + I * 0.6 , 0.975948103 - 0.3588102098 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
645 %! 0.6 + I * 0.8 , 1.098499209 - 0.5026234141 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
646 %! 0.6 + I * 1. , 1.263676101 - 0.6695125973 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
647 %! 0.6 + I * 1.2 , 1.477275851 - 0.8687285705 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
648 %! 0.6 + I * 1.4 , 1.746262523 - 1.112955966 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
649 %! 0.6 + I * 1.6 , 2.078179075 - 1.420581466 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
650 %! 0.6 + I * 1.8 , 2.479425208 - 1.819580713 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
651 %! 0.6 + I * 2. , 2.950586798 - 2.354077344 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
652 %! 0.8 + I * 0. , 0.6982891589 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
653 %! 0.8 + I * 0.2 , 0.71187169 - 0.1430549855 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
654 %! 0.8 + I * 0.4 , 0.7530744458 - 0.2920273465 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
655 %! 0.8 + I * 0.6 , 0.8232501212 - 0.4531616768 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
656 %! 0.8 + I * 0.8 , 0.9245978896 - 0.6334016187 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
657 %! 0.8 + I * 1. , 1.060030206 - 0.8408616109 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
658 %! 0.8 + I * 1.2 , 1.232861756 - 1.085475913 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
659 %! 0.8 + I * 1.4 , 1.446126965 - 1.379933558 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
660 %! 0.8 + I * 1.6 , 1.701139468 - 1.741030588 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
661 %! 0.8 + I * 1.8 , 1.994526268 - 2.191509596 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
662 %! 0.8 + I * 2. , 2.312257188 - 2.762051518 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
663 %! 1. + I * 0. , 0.5436738271 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
664 %! 1. + I * 0.2 , 0.5541219664 - 0.1672121517 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
665 %! 1. + I * 0.4 , 0.5857703552 - 0.3410940893 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
666 %! 1. + I * 0.6 , 0.6395034233 - 0.5285979063 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
667 %! 1. + I * 0.8 , 0.716688504 - 0.7372552987 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
668 %! 1. + I * 1. , 0.8189576795 - 0.9755037374 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
669 %! 1. + I * 1.2 , 0.9477661951 - 1.253049471 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
670 %! 1. + I * 1.4 , 1.103540657 - 1.581252712 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
671 %! 1. + I * 1.6 , 1.284098214 - 1.973449038 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
672 %! 1. + I * 1.8 , 1.481835651 - 2.4449211 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
673 %! 1. + I * 2. , 1.679032464 - 3.011729224 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
674 %! ];
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
675 %! DN = [
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
676 %! -1. + I * 0. , 0.9895776106 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
677 %! -1. + I * 0.2 , 0.9893361555 + 0.002756935338 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
678 %! -1. + I * 0.4 , 0.9885716856 + 0.005949639805 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
679 %! -1. + I * 0.6 , 0.9871564855 + 0.01008044183 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
680 %! -1. + I * 0.8 , 0.9848512162 + 0.01579337596 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
681 %! -1. + I * 1. , 0.9812582484 + 0.02396648455 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
682 %! -1. + I * 1.2 , 0.9757399152 + 0.0358288294 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
683 %! -1. + I * 1.4 , 0.9672786056 + 0.0531049859 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
684 %! -1. + I * 1.6 , 0.954237868 + 0.0781744383 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
685 %! -1. + I * 1.8 , 0.933957524 + 0.1141918269 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
686 %! -1. + I * 2. , 0.9020917489 + 0.1650142936 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
687 %! -0.8 + I * 0. , 0.992429635 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
688 %! -0.8 + I * 0.2 , 0.9924147861 + 0.003020708044 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
689 %! -0.8 + I * 0.4 , 0.99236555 + 0.00652359532 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
690 %! -0.8 + I * 0.6 , 0.9922655715 + 0.0110676219 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
691 %! -0.8 + I * 0.8 , 0.9920785856 + 0.01737733806 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
692 %! -0.8 + I * 1. , 0.9917291795 + 0.02645738598 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
693 %! -0.8 + I * 1.2 , 0.9910606387 + 0.03974949378 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
694 %! -0.8 + I * 1.4 , 0.9897435004 + 0.05935252515 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
695 %! -0.8 + I * 1.6 , 0.987077644 + 0.08832675281 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
696 %! -0.8 + I * 1.8 , 0.9815667458 + 0.1310872821 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
697 %! -0.8 + I * 2. , 0.970020127 + 0.1938136793 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
698 %! -0.6 + I * 0. , 0.9953099088 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
699 %! -0.6 + I * 0.2 , 0.995526009 + 0.002814772354 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
700 %! -0.6 + I * 0.4 , 0.9962071136 + 0.006083312292 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
701 %! -0.6 + I * 0.6 , 0.9974557125 + 0.01033463525 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
702 %! -0.6 + I * 0.8 , 0.9994560563 + 0.01626207722 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
703 %! -0.6 + I * 1. , 1.00249312 + 0.02484336286 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
704 %! -0.6 + I * 1.2 , 1.006973922 + 0.0375167093 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
705 %! -0.6 + I * 1.4 , 1.013436509 + 0.05645315628 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
706 %! -0.6 + I * 1.6 , 1.022504295 + 0.08499262247 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
707 %! -0.6 + I * 1.8 , 1.034670023 + 0.1283564595 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
708 %! -0.6 + I * 2. , 1.049599899 + 0.194806122 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
709 %! -0.4 + I * 0. , 0.9977686897 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
710 %! -0.4 + I * 0.2 , 0.9981836165 + 0.002167241934 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
711 %! -0.4 + I * 0.4 , 0.9994946045 + 0.004686808612 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
712 %! -0.4 + I * 0.6 , 1.001910789 + 0.00797144174 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
713 %! -0.4 + I * 0.8 , 1.005817375 + 0.01256717724 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
714 %! -0.4 + I * 1. , 1.011836374 + 0.01925509038 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
715 %! -0.4 + I * 1.2 , 1.020923572 + 0.02920828367 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
716 %! -0.4 + I * 1.4 , 1.034513743 + 0.04425213602 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
717 %! -0.4 + I * 1.6 , 1.054725746 + 0.06732276244 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
718 %! -0.4 + I * 1.8 , 1.08462027 + 0.1033236812 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
719 %! -0.4 + I * 2. , 1.128407402 + 0.1608240664 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
720 %! -0.2 + I * 0. , 0.9994191176 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
721 %! -0.2 + I * 0.2 , 0.9999683719 + 0.001177128019 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
722 %! -0.2 + I * 0.4 , 1.001705496 + 0.00254669712 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
723 %! -0.2 + I * 0.6 , 1.004913944 + 0.004334880912 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
724 %! -0.2 + I * 0.8 , 1.010120575 + 0.006842775622 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
725 %! -0.2 + I * 1. , 1.018189543 + 0.01050520136 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
726 %! -0.2 + I * 1.2 , 1.030482479 + 0.01598431001 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
727 %! -0.2 + I * 1.4 , 1.049126108 + 0.02433134655 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
728 %! -0.2 + I * 1.6 , 1.077466003 + 0.0372877718 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
729 %! -0.2 + I * 1.8 , 1.120863308 + 0.05789156398 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
730 %! -0.2 + I * 2. , 1.188162088 + 0.09181238708 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
731 %! 0. + I * 0. , 1. + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
732 %! 0. + I * 0.2 , 1.000596698 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
733 %! 0. + I * 0.4 , 1.002484444 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
734 %! 0. + I * 0.6 , 1.005973379 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
735 %! 0. + I * 0.8 , 1.011641536 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
736 %! 0. + I * 1. , 1.020441432 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
737 %! 0. + I * 1.2 , 1.033885057 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
738 %! 0. + I * 1.4 , 1.054361188 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
739 %! 0. + I * 1.6 , 1.085694733 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
740 %! 0. + I * 1.8 , 1.134186672 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
741 %! 0. + I * 2. , 1.210701071 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
742 %! 0.2 + I * 0. , 0.9994191176 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
743 %! 0.2 + I * 0.2 , 0.9999683719 - 0.001177128019 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
744 %! 0.2 + I * 0.4 , 1.001705496 - 0.00254669712 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
745 %! 0.2 + I * 0.6 , 1.004913944 - 0.004334880912 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
746 %! 0.2 + I * 0.8 , 1.010120575 - 0.006842775622 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
747 %! 0.2 + I * 1. , 1.018189543 - 0.01050520136 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
748 %! 0.2 + I * 1.2 , 1.030482479 - 0.01598431001 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
749 %! 0.2 + I * 1.4 , 1.049126108 - 0.02433134655 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
750 %! 0.2 + I * 1.6 , 1.077466003 - 0.0372877718 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
751 %! 0.2 + I * 1.8 , 1.120863308 - 0.05789156398 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
752 %! 0.2 + I * 2. , 1.188162088 - 0.09181238708 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
753 %! 0.4 + I * 0. , 0.9977686897 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
754 %! 0.4 + I * 0.2 , 0.9981836165 - 0.002167241934 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
755 %! 0.4 + I * 0.4 , 0.9994946045 - 0.004686808612 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
756 %! 0.4 + I * 0.6 , 1.001910789 - 0.00797144174 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
757 %! 0.4 + I * 0.8 , 1.005817375 - 0.01256717724 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
758 %! 0.4 + I * 1. , 1.011836374 - 0.01925509038 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
759 %! 0.4 + I * 1.2 , 1.020923572 - 0.02920828367 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
760 %! 0.4 + I * 1.4 , 1.034513743 - 0.04425213602 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
761 %! 0.4 + I * 1.6 , 1.054725746 - 0.06732276244 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
762 %! 0.4 + I * 1.8 , 1.08462027 - 0.1033236812 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
763 %! 0.4 + I * 2. , 1.128407402 - 0.1608240664 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
764 %! 0.6 + I * 0. , 0.9953099088 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
765 %! 0.6 + I * 0.2 , 0.995526009 - 0.002814772354 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
766 %! 0.6 + I * 0.4 , 0.9962071136 - 0.006083312292 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
767 %! 0.6 + I * 0.6 , 0.9974557125 - 0.01033463525 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
768 %! 0.6 + I * 0.8 , 0.9994560563 - 0.01626207722 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
769 %! 0.6 + I * 1. , 1.00249312 - 0.02484336286 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
770 %! 0.6 + I * 1.2 , 1.006973922 - 0.0375167093 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
771 %! 0.6 + I * 1.4 , 1.013436509 - 0.05645315628 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
772 %! 0.6 + I * 1.6 , 1.022504295 - 0.08499262247 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
773 %! 0.6 + I * 1.8 , 1.034670023 - 0.1283564595 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
774 %! 0.6 + I * 2. , 1.049599899 - 0.194806122 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
775 %! 0.8 + I * 0. , 0.992429635 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
776 %! 0.8 + I * 0.2 , 0.9924147861 - 0.003020708044 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
777 %! 0.8 + I * 0.4 , 0.99236555 - 0.00652359532 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
778 %! 0.8 + I * 0.6 , 0.9922655715 - 0.0110676219 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
779 %! 0.8 + I * 0.8 , 0.9920785856 - 0.01737733806 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
780 %! 0.8 + I * 1. , 0.9917291795 - 0.02645738598 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
781 %! 0.8 + I * 1.2 , 0.9910606387 - 0.03974949378 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
782 %! 0.8 + I * 1.4 , 0.9897435004 - 0.05935252515 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
783 %! 0.8 + I * 1.6 , 0.987077644 - 0.08832675281 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
784 %! 0.8 + I * 1.8 , 0.9815667458 - 0.1310872821 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
785 %! 0.8 + I * 2. , 0.970020127 - 0.1938136793 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
786 %! 1. + I * 0. , 0.9895776106 + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
787 %! 1. + I * 0.2 , 0.9893361555 - 0.002756935338 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
788 %! 1. + I * 0.4 , 0.9885716856 - 0.005949639805 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
789 %! 1. + I * 0.6 , 0.9871564855 - 0.01008044183 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
790 %! 1. + I * 0.8 , 0.9848512162 - 0.01579337596 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
791 %! 1. + I * 1. , 0.9812582484 - 0.02396648455 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
792 %! 1. + I * 1.2 , 0.9757399152 - 0.0358288294 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
793 %! 1. + I * 1.4 , 0.9672786056 - 0.0531049859 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
794 %! 1. + I * 1.6 , 0.954237868 - 0.0781744383 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
795 %! 1. + I * 1.8 , 0.933957524 - 0.1141918269 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
796 %! 1. + I * 2. , 0.9020917489 - 0.1650142936 * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
797 %! ];
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
798 %! tol = 1e-9;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
799 %! for x = 0:10
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
800 %! for y = 0:10
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
801 %! ur = -1 + x * 0.2;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
802 %! ui = y * 0.2;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
803 %! ii = 1 + y + x*11;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
804 %! [sn, cn, dn] = ellipj (ur + I * ui, m);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
805 %! assert (sn, SN(ii, 2), tol);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
806 %! assert (cn, CN(ii, 2), tol);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
807 %! assert (dn, DN(ii, 2), tol);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
808 %! endfor
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
809 %! endfor
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
810
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
811 ## tests taken from test_ellipj.m
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
812 %!test
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
813 %! u1 = pi/3; m1 = 0;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
814 %! res1 = [sin(pi/3), cos(pi/3), 1];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
815 %! [sn,cn,dn] = ellipj (u1,m1);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
816 %! assert ([sn,cn,dn], res1, 10*eps);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
817
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
818 %!test
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
819 %! u2 = log(2); m2 = 1;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
820 %! res2 = [ 3/5, 4/5, 4/5 ];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
821 %! [sn,cn,dn] = ellipj (u2,m2);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
822 %! assert ([sn,cn,dn], res2, 10*eps);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
823
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
824 %!test
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
825 %! u3 = log(2)*1i; m3 = 0;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
826 %! res3 = [3i/4,5/4,1];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
827 %! [sn,cn,dn] = ellipj (u3,m3);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
828 %! assert ([sn,cn,dn], res3, 10*eps);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
829
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
830 %!test
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
831 %! u4 = -1; m4 = tan (pi/8)^4;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
832 %! res4 = [-0.8392965923,0.5436738271,0.9895776106];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
833 %! [sn,cn,dn] = ellipj (u4, m4);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
834 %! assert ([sn,cn,dn], res4, 1e-10);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
835
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
836 %!test
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
837 %! u5 = -0.2 + 0.4i; m5 = tan(pi/8)^4;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
838 %! res5 = [ -0.2152524522 + 0.402598347i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
839 %! 1.059453907 + 0.08179712295i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
840 %! 1.001705496 + 0.00254669712i ];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
841 %! [sn,cn,dn] = ellipj (u5,m5);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
842 %! assert ([sn,cn,dn], res5, 1e-9);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
843
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
844 %!test
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
845 %! u6 = 0.2 + 0.6i; m6 = tan(pi/8)^4;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
846 %! res6 = [ 0.2369100139 + 0.624633635i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
847 %! 1.16200643 - 0.1273503824i, ...
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
848 %! 1.004913944 - 0.004334880912i ];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
849 %! [sn,cn,dn] = ellipj (u6,m6);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
850 %! assert ([sn,cn,dn], res6, 1e-8);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
851
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
852 %!test
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
853 %! u7 = 0.8 + 0.8i; m7 = tan (pi/8)^4;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
854 %! res7 = [0.9588386397 + 0.6107824358i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
855 %! 0.9245978896 - 0.6334016187i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
856 %! 0.9920785856 - 0.01737733806i ];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
857 %! [sn,cn,dn] = ellipj (u7,m7);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
858 %! assert ([sn,cn,dn], res7, 1e-10);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
859
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
860 %!test
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
861 %! u = [0,pi/6,pi/4,pi/2]; m=0;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
862 %! res = [0,1/2,1/sqrt(2),1;1,cos(pi/6),1/sqrt(2),0;1,1,1,1];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
863 %! [sn,cn,dn] = ellipj (u,m);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
864 %! assert ([sn;cn;dn], res, 100*eps);
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
865 %! [sn,cn,dn] = ellipj (u',0);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
866 %! assert ([sn,cn,dn], res', 100*eps);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
867
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
868 ## FIXME: need to check [real,complex]x[scalar,rowvec,colvec,matrix]x[u,m]
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
869
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
870 ## One test for u column vector x m row vector
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
871 %!test
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
872 %! u = [0,pi/6,pi/4,pi/2]'; m = [0 0 0 0];
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
873 %! res = [0,1/2,1/sqrt(2),1;1,cos(pi/6),1/sqrt(2),0;1,1,1,1]';
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
874 %! [sn,cn,dn] = ellipj (u,m);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
875 %! assert (sn, repmat (res(:,1), [1,4]), 100*eps);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
876 %! assert (cn, repmat (res(:,2), [1,4]), 100*eps);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
877 %! assert (dn, repmat (res(:,3), [1,4]), 100*eps);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
878
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
879 %!test
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
880 %! ## Test Jacobi elliptic functions
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
881 %! ## against "exact" solution from Mathematica 3.0
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
882 %! ## David Billinghurst <David.Billinghurst@riotinto.com>
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
883 %! ## 1 February 2001
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
884 %! u = [ 0.25; 0.25; 0.20; 0.20; 0.672; 0.5];
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
885 %! m = [ 0.0; 1.0; 0.19; 0.81; 0.36; 0.9999999999];
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
886 %! S = [ sin(0.25);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
887 %! tanh(0.25);
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
888 %! 0.19842311013970879516;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
889 %! 0.19762082367187648571;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
890 %! 0.6095196917919021945;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
891 %! 0.4621171572617320908 ];
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
892 %! C = [ cos(0.25);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
893 %! sech(0.25);
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
894 %! 0.9801164570409401062;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
895 %! 0.9802785369736752032;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
896 %! 0.7927709286533560550;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
897 %! 0.8868188839691764094 ];
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
898 %! D = [ 1.0;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
899 %! sech(0.25);
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
900 %! 0.9962526643271134302;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
901 %! 0.9840560289645665155;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
902 %! 0.9307281387786906491;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
903 %! 0.8868188839812167635 ];
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
904 %! [sn,cn,dn] = ellipj (u,m);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
905 %! assert (sn, S, 8*eps);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
906 %! assert (cn, C, 8*eps);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
907 %! assert (dn, D, 8*eps);
16585
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
908
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
909 %!error ellipj ()
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
910 %!error ellipj (1)
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
911 %!error ellipj (1,2,3,4)
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
912 %!warning <expecting 0 <= M <= 1> ellipj (1,2);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
913 ## FIXME: errors commented out untill lasterr() truly returns the last error.
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
914 %!#error <expecting scalar or matrix as second argument> ellipj (1, "1")
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
915 %!#error <expecting scalar or matrix as first argument> ellipj ("1", 1)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
916 %!#error <expecting scalar or matrix as first argument> ellipj ({1}, 1)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
917 %!#error <expecting scalar or matrix as first argument> ellipj ({1, 2}, 1)
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
918 %!#error <expecting scalar or matrix as second argument> ellipj (1, {1, 2})
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
919 %!#error <expecting scalar or matrix as first argument> ellipj ("1", [1, 2])
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
920 %!#error <expecting scalar or matrix as first argument> ellipj ({1}, [1, 2])
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
921 %!#error <expecting scalar or matrix as first argument> ellipj ({1}, [1, 2])
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
922 %!#error <expecting scalar or matrix as first argument> ellipj ("1,2", [1, 2])
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
923 %!#error <expecting scalar or matrix as first argument> ellipj ({1, 2}, [1, 2])
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
924 %!error <Invalid size combination for U and M> ellipj ([1:4], [1:3])
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
925 %!error <Invalid size combination for U and M> ellipj (complex (1:4,1:4), [1:3])
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
926
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
927 */
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
928