annotate libinterp/corefcn/ellipj.cc @ 31605:e88a07dec498 stable

maint: Use macros to begin/end C++ namespaces. * oct-conf-post-public.in.h: Define two macros (OCTAVE_BEGIN_NAMESPACE, OCTAVE_END_NAMESPACE) that can be used to start/end a namespace. * mk-opts.pl, build-env.h, build-env.in.cc, __betainc__.cc, __contourc__.cc, __dsearchn__.cc, __eigs__.cc, __expint__.cc, __ftp__.cc, __gammainc__.cc, __ichol__.cc, __ilu__.cc, __isprimelarge__.cc, __lin_interpn__.cc, __magick_read__.cc, __pchip_deriv__.cc, __qp__.cc, amd.cc, auto-shlib.cc, auto-shlib.h, balance.cc, base-text-renderer.cc, base-text-renderer.h, besselj.cc, bitfcns.cc, bsxfun.cc, c-file-ptr-stream.cc, c-file-ptr-stream.h, call-stack.cc, call-stack.h, ccolamd.cc, cellfun.cc, chol.cc, colamd.cc, colloc.cc, conv2.cc, daspk.cc, dasrt.cc, dassl.cc, data.cc, data.h, debug.cc, defaults.cc, defaults.h, defun-int.h, defun.cc, det.cc, dirfns.cc, display.cc, display.h, dlmread.cc, dmperm.cc, dot.cc, dynamic-ld.cc, dynamic-ld.h, eig.cc, ellipj.cc, environment.cc, environment.h, error.cc, error.h, errwarn.h, event-manager.cc, event-manager.h, event-queue.cc, event-queue.h, fcn-info.cc, fcn-info.h, fft.cc, fft2.cc, fftn.cc, file-io.cc, filter.cc, find.cc, ft-text-renderer.cc, ft-text-renderer.h, gcd.cc, getgrent.cc, getpwent.cc, getrusage.cc, givens.cc, gl-render.cc, gl-render.h, gl2ps-print.cc, gl2ps-print.h, graphics-toolkit.cc, graphics-toolkit.h, graphics.cc, graphics.in.h, gsvd.cc, gtk-manager.cc, gtk-manager.h, hash.cc, help.cc, help.h, hess.cc, hex2num.cc, hook-fcn.cc, hook-fcn.h, input.cc, input.h, interpreter-private.cc, interpreter-private.h, interpreter.cc, interpreter.h, inv.cc, jsondecode.cc, jsonencode.cc, kron.cc, latex-text-renderer.cc, latex-text-renderer.h, load-path.cc, load-path.h, load-save.cc, load-save.h, lookup.cc, ls-ascii-helper.cc, ls-ascii-helper.h, ls-oct-text.cc, ls-utils.cc, ls-utils.h, lsode.cc, lu.cc, mappers.cc, matrix_type.cc, max.cc, mex-private.h, mex.cc, mgorth.cc, nproc.cc, oct-fstrm.cc, oct-fstrm.h, oct-hdf5-types.cc, oct-hdf5-types.h, oct-hist.cc, oct-hist.h, oct-iostrm.cc, oct-iostrm.h, oct-opengl.h, oct-prcstrm.cc, oct-prcstrm.h, oct-procbuf.cc, oct-procbuf.h, oct-process.cc, oct-process.h, oct-stdstrm.h, oct-stream.cc, oct-stream.h, oct-strstrm.cc, oct-strstrm.h, oct-tex-lexer.in.ll, oct-tex-parser.yy, ordqz.cc, ordschur.cc, pager.cc, pager.h, pinv.cc, pow2.cc, pr-flt-fmt.cc, pr-output.cc, procstream.cc, procstream.h, psi.cc, qr.cc, quad.cc, quadcc.cc, qz.cc, rand.cc, rcond.cc, regexp.cc, schur.cc, settings.cc, settings.h, sighandlers.cc, sighandlers.h, sparse-xdiv.cc, sparse-xdiv.h, sparse-xpow.cc, sparse-xpow.h, sparse.cc, spparms.cc, sqrtm.cc, stack-frame.cc, stack-frame.h, stream-euler.cc, strfind.cc, strfns.cc, sub2ind.cc, svd.cc, sylvester.cc, symbfact.cc, syminfo.cc, syminfo.h, symrcm.cc, symrec.cc, symrec.h, symscope.cc, symscope.h, symtab.cc, symtab.h, syscalls.cc, sysdep.cc, sysdep.h, text-engine.cc, text-engine.h, text-renderer.cc, text-renderer.h, time.cc, toplev.cc, tril.cc, tsearch.cc, typecast.cc, url-handle-manager.cc, url-handle-manager.h, urlwrite.cc, utils.cc, utils.h, variables.cc, variables.h, xdiv.cc, xdiv.h, xnorm.cc, xnorm.h, xpow.cc, xpow.h, __delaunayn__.cc, __fltk_uigetfile__.cc, __glpk__.cc, __init_fltk__.cc, __init_gnuplot__.cc, __ode15__.cc, __voronoi__.cc, audiodevinfo.cc, audioread.cc, convhulln.cc, fftw.cc, gzip.cc, mk-build-env-features.sh, mk-builtins.pl, cdef-class.cc, cdef-class.h, cdef-fwd.h, cdef-manager.cc, cdef-manager.h, cdef-method.cc, cdef-method.h, cdef-object.cc, cdef-object.h, cdef-package.cc, cdef-package.h, cdef-property.cc, cdef-property.h, cdef-utils.cc, cdef-utils.h, ov-base.cc, ov-base.h, ov-bool-mat.cc, ov-builtin.h, ov-cell.cc, ov-class.cc, ov-class.h, ov-classdef.cc, ov-classdef.h, ov-complex.cc, ov-fcn-handle.cc, ov-fcn-handle.h, ov-fcn.h, ov-java.cc, ov-java.h, ov-mex-fcn.h, ov-null-mat.cc, ov-oncleanup.cc, ov-struct.cc, ov-typeinfo.cc, ov-typeinfo.h, ov-usr-fcn.cc, ov-usr-fcn.h, ov.cc, ov.h, octave.cc, octave.h, mk-ops.sh, op-b-b.cc, op-b-bm.cc, op-b-sbm.cc, op-bm-b.cc, op-bm-bm.cc, op-bm-sbm.cc, op-cdm-cdm.cc, op-cell.cc, op-chm.cc, op-class.cc, op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cm-scm.cc, op-cm-sm.cc, op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, op-cs-s.cc, op-cs-scm.cc, op-cs-sm.cc, op-dm-dm.cc, op-dm-scm.cc, op-dm-sm.cc, op-dm-template.cc, op-dms-template.cc, op-fcdm-fcdm.cc, op-fcm-fcm.cc, op-fcm-fcs.cc, op-fcm-fm.cc, op-fcm-fs.cc, op-fcn.cc, op-fcs-fcm.cc, op-fcs-fcs.cc, op-fcs-fm.cc, op-fcs-fs.cc, op-fdm-fdm.cc, op-fm-fcm.cc, op-fm-fcs.cc, op-fm-fm.cc, op-fm-fs.cc, op-fs-fcm.cc, op-fs-fcs.cc, op-fs-fm.cc, op-fs-fs.cc, op-i16-i16.cc, op-i32-i32.cc, op-i64-i64.cc, op-i8-i8.cc, op-int-concat.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, op-m-scm.cc, op-m-sm.cc, op-mi.cc, op-pm-pm.cc, op-pm-scm.cc, op-pm-sm.cc, op-pm-template.cc, op-range.cc, op-s-cm.cc, op-s-cs.cc, op-s-m.cc, op-s-s.cc, op-s-scm.cc, op-s-sm.cc, op-sbm-b.cc, op-sbm-bm.cc, op-sbm-sbm.cc, op-scm-cm.cc, op-scm-cs.cc, op-scm-m.cc, op-scm-s.cc, op-scm-scm.cc, op-scm-sm.cc, op-sm-cm.cc, op-sm-cs.cc, op-sm-m.cc, op-sm-s.cc, op-sm-scm.cc, op-sm-sm.cc, op-str-m.cc, op-str-s.cc, op-str-str.cc, op-struct.cc, op-ui16-ui16.cc, op-ui32-ui32.cc, op-ui64-ui64.cc, op-ui8-ui8.cc, ops.h, anon-fcn-validator.cc, anon-fcn-validator.h, bp-table.cc, bp-table.h, comment-list.cc, comment-list.h, filepos.h, lex.h, lex.ll, oct-lvalue.cc, oct-lvalue.h, oct-parse.yy, parse.h, profiler.cc, profiler.h, pt-anon-scopes.cc, pt-anon-scopes.h, pt-arg-list.cc, pt-arg-list.h, pt-args-block.cc, pt-args-block.h, pt-array-list.cc, pt-array-list.h, pt-assign.cc, pt-assign.h, pt-binop.cc, pt-binop.h, pt-bp.cc, pt-bp.h, pt-cbinop.cc, pt-cbinop.h, pt-cell.cc, pt-cell.h, pt-check.cc, pt-check.h, pt-classdef.cc, pt-classdef.h, pt-cmd.h, pt-colon.cc, pt-colon.h, pt-const.cc, pt-const.h, pt-decl.cc, pt-decl.h, pt-eval.cc, pt-eval.h, pt-except.cc, pt-except.h, pt-exp.cc, pt-exp.h, pt-fcn-handle.cc, pt-fcn-handle.h, pt-id.cc, pt-id.h, pt-idx.cc, pt-idx.h, pt-jump.h, pt-loop.cc, pt-loop.h, pt-mat.cc, pt-mat.h, pt-misc.cc, pt-misc.h, pt-pr-code.cc, pt-pr-code.h, pt-select.cc, pt-select.h, pt-spmd.cc, pt-spmd.h, pt-stmt.cc, pt-stmt.h, pt-tm-const.cc, pt-tm-const.h, pt-unop.cc, pt-unop.h, pt-vm-eval.cc, pt-walk.cc, pt-walk.h, pt.cc, pt.h, token.cc, token.h, Range.cc, Range.h, idx-vector.cc, idx-vector.h, range-fwd.h, CollocWt.cc, CollocWt.h, aepbalance.cc, aepbalance.h, chol.cc, chol.h, gepbalance.cc, gepbalance.h, gsvd.cc, gsvd.h, hess.cc, hess.h, lo-mappers.cc, lo-mappers.h, lo-specfun.cc, lo-specfun.h, lu.cc, lu.h, oct-convn.cc, oct-convn.h, oct-fftw.cc, oct-fftw.h, oct-norm.cc, oct-norm.h, oct-rand.cc, oct-rand.h, oct-spparms.cc, oct-spparms.h, qr.cc, qr.h, qrp.cc, qrp.h, randgamma.cc, randgamma.h, randmtzig.cc, randmtzig.h, randpoisson.cc, randpoisson.h, schur.cc, schur.h, sparse-chol.cc, sparse-chol.h, sparse-lu.cc, sparse-lu.h, sparse-qr.cc, sparse-qr.h, svd.cc, svd.h, child-list.cc, child-list.h, dir-ops.cc, dir-ops.h, file-ops.cc, file-ops.h, file-stat.cc, file-stat.h, lo-sysdep.cc, lo-sysdep.h, lo-sysinfo.cc, lo-sysinfo.h, mach-info.cc, mach-info.h, oct-env.cc, oct-env.h, oct-group.cc, oct-group.h, oct-password.cc, oct-password.h, oct-syscalls.cc, oct-syscalls.h, oct-time.cc, oct-time.h, oct-uname.cc, oct-uname.h, action-container.cc, action-container.h, base-list.h, cmd-edit.cc, cmd-edit.h, cmd-hist.cc, cmd-hist.h, f77-fcn.h, file-info.cc, file-info.h, lo-array-errwarn.cc, lo-array-errwarn.h, lo-hash.cc, lo-hash.h, lo-ieee.h, lo-regexp.cc, lo-regexp.h, lo-utils.cc, lo-utils.h, oct-base64.cc, oct-base64.h, oct-glob.cc, oct-glob.h, oct-inttypes.h, oct-mutex.cc, oct-mutex.h, oct-refcount.h, oct-shlib.cc, oct-shlib.h, oct-sparse.cc, oct-sparse.h, oct-string.h, octave-preserve-stream-state.h, pathsearch.cc, pathsearch.h, quit.cc, quit.h, unwind-prot.cc, unwind-prot.h, url-transfer.cc, url-transfer.h : Use new macros to begin/end C++ namespaces.
author Rik <rik@octave.org>
date Thu, 01 Dec 2022 14:23:45 -0800
parents 796f54d4ddbf
children aac27ad79be6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ////////////////////////////////////////////////////////////////////////
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 //
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 29961
diff changeset
3 // Copyright (C) 2013-2022 The Octave Project Developers
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
4 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 // See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 // distribution or <https://octave.org/copyright/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
7 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
8 // This file is part of Octave.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
9 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
10 // Octave is free software: you can redistribute it and/or modify it
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
11 // under the terms of the GNU General Public License as published by
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
12 // the Free Software Foundation, either version 3 of the License, or
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
13 // (at your option) any later version.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
14 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
15 // Octave is distributed in the hope that it will be useful, but
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
18 // GNU General Public License for more details.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
19 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
20 // You should have received a copy of the GNU General Public License
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
21 // along with Octave; see the file COPYING. If not, see
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
22 // <https://www.gnu.org/licenses/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ////////////////////////////////////////////////////////////////////////
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
25
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21660
diff changeset
26 #if defined (HAVE_CONFIG_H)
21301
40de9f8f23a6 Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents: 21200
diff changeset
27 # include "config.h"
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
28 #endif
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
29
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
30 #include "defun.h"
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
31 #include "error.h"
17502
578805a293e5 ellipj: Move numerical code into liboctave
Mike Miller <mtmiller@ieee.org>
parents: 17374
diff changeset
32 #include "lo-specfun.h"
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
33
31605
e88a07dec498 maint: Use macros to begin/end C++ namespaces.
Rik <rik@octave.org>
parents: 30564
diff changeset
34 OCTAVE_BEGIN_NAMESPACE(octave)
29958
32c3a5805893 move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 29359
diff changeset
35
20915
a3359fe50966 remove unused nargout variables
John W. Eaton <jwe@octave.org>
parents: 20909
diff changeset
36 DEFUN (ellipj, args, ,
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
37 doc: /* -*- texinfo -*-
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
38 @deftypefn {} {[@var{sn}, @var{cn}, @var{dn}, @var{err}] =} ellipj (@var{u}, @var{m})
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
39 @deftypefnx {} {[@var{sn}, @var{cn}, @var{dn}, @var{err}] =} ellipj (@var{u}, @var{m}, @var{tol})
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
40 Compute the Jacobi elliptic functions @var{sn}, @var{cn}, and @var{dn}
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
41 of complex argument @var{u} and real parameter @var{m}.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
42
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
43 If @var{m} is a scalar, the results are the same size as @var{u}.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
44 If @var{u} is a scalar, the results are the same size as @var{m}.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
45 If @var{u} is a column vector and @var{m} is a row vector, the
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
46 results are matrices with @code{length (@var{u})} rows and
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
47 @code{length (@var{m})} columns. Otherwise, @var{u} and
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
48 @var{m} must conform in size and the results will be the same size as the
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
49 inputs.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
50
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
51 The value of @var{u} may be complex.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
52 The value of @var{m} must be 0 @leq{} @var{m} @leq{} 1.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
53
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
54 The optional input @var{tol} is currently ignored (@sc{matlab} uses this to
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
55 allow faster, less accurate approximation).
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
56
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
57 If requested, @var{err} contains the following status information
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
58 and is the same size as the result.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
59
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
60 @enumerate 0
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
61 @item
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
62 Normal return.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
63
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
64 @item
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
65 Error---no computation, algorithm termination condition not met,
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
66 return @code{NaN}.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
67 @end enumerate
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
68
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
69 Reference: Milton @nospell{Abramowitz} and Irene A @nospell{Stegun},
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
70 @cite{Handbook of Mathematical Functions}, Chapter 16 (Sections 16.4, 16.13,
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
71 and 16.15), Dover, 1965.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
72
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
73 @seealso{ellipke}
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21786
diff changeset
74 @end deftypefn */)
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
75 {
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
76 int nargin = args.length ();
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
77
16588
4d2b0104ee05 Add argument to ellipj for Matlab compatibility
Mike Miller <mtmiller@ieee.org>
parents: 16587
diff changeset
78 if (nargin < 2 || nargin > 3)
20802
8bb38ba1bad6 eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents: 20711
diff changeset
79 print_usage ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
80
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
81 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
82 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
83
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
84 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
85 {
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
86 double m = args(1).xdouble_value ("ellipj: M must be a scalar or matrix");
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
87
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
88 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
89 {
23582
0cc2011d800e maint: Deprecate is_real_type and replace with isreal.
Rik <rik@octave.org>
parents: 23573
diff changeset
90 if (u_arg.isreal ())
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
91 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
92 // u real, m scalar
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
93 double u = args(0).xdouble_value ("ellipj: U must be a scalar or matrix");
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
94
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
95 double sn, cn, dn;
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
96 double err = 0;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
97
29961
7d6709900da7 eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more
John W. Eaton <jwe@octave.org>
parents: 29958
diff changeset
98 math::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
99
20909
03e4ddd49396 omit unnecessary nargout checks
John W. Eaton <jwe@octave.org>
parents: 20892
diff changeset
100 return ovl (sn, cn, dn, err);
16586
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 else
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
103 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
104 // u complex, m scalar
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
105 Complex u = u_arg.xcomplex_value ("ellipj: U must be a scalar or matrix");
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
106
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
107 Complex sn, cn, dn;
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
108 double err = 0;
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
109
29961
7d6709900da7 eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more
John W. Eaton <jwe@octave.org>
parents: 29958
diff changeset
110 math::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
111
20909
03e4ddd49396 omit unnecessary nargout checks
John W. Eaton <jwe@octave.org>
parents: 20892
diff changeset
112 return ovl (sn, cn, dn, err);
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
113 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
114 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
115 else
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
116 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
117 // u is matrix, m is scalar
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
118 ComplexNDArray u = u_arg.xcomplex_array_value ("ellipj: U must be a scalar or matrix");
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
119
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
120 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
121
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
122 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
123 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
124
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
125 const Complex *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
126 Complex *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
127 Complex *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
128 Complex *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
129 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
130 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
131
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
132 for (octave_idx_type i = 0; i < nel; i++)
29961
7d6709900da7 eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more
John W. Eaton <jwe@octave.org>
parents: 29958
diff changeset
133 math::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
134
20909
03e4ddd49396 omit unnecessary nargout checks
John W. Eaton <jwe@octave.org>
parents: 20892
diff changeset
135 return ovl (sn, cn, dn, err);
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
136 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
137 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
138 else
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
139 {
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
140 NDArray m = args(1).xarray_value ("ellipj: M must be a scalar or matrix");
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
141
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
142 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
143
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
144 if (u_arg.is_scalar_type ())
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
145 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
146 // u is scalar, m is array
23582
0cc2011d800e maint: Deprecate is_real_type and replace with isreal.
Rik <rik@octave.org>
parents: 23573
diff changeset
147 if (u_arg.isreal ())
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
148 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
149 // u is real scalar, m is array
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
150 double u = u_arg.xdouble_value ("ellipj: U must be a scalar or matrix");
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
151
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
152 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
153 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
154
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
155 const double *pm = m.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
156 double *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
157 double *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
158 double *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
159 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
160 octave_idx_type nel = m.numel ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
161
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
162 for (octave_idx_type i = 0; i < nel; i++)
29961
7d6709900da7 eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more
John W. Eaton <jwe@octave.org>
parents: 29958
diff changeset
163 math::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
164
20909
03e4ddd49396 omit unnecessary nargout checks
John W. Eaton <jwe@octave.org>
parents: 20892
diff changeset
165 return ovl (sn, cn, dn, err);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
166 }
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
167 else
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
168 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
169 // u is complex scalar, m is array
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
170 Complex u = u_arg.xcomplex_value ("ellipj: U must be a scalar or matrix");
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
171
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
172 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
173 NDArray err (sz_m);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
174
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
175 const double *pm = m.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
176 Complex *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
177 Complex *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
178 Complex *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
179 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
180 octave_idx_type nel = m.numel ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
181
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
182 for (octave_idx_type i = 0; i < nel; i++)
29961
7d6709900da7 eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more
John W. Eaton <jwe@octave.org>
parents: 29958
diff changeset
183 math::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
184
20909
03e4ddd49396 omit unnecessary nargout checks
John W. Eaton <jwe@octave.org>
parents: 20892
diff changeset
185 return ovl (sn, cn, dn, err);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
186 }
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
187 }
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
188 else
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
189 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
190 // u is array, m is array
23582
0cc2011d800e maint: Deprecate is_real_type and replace with isreal.
Rik <rik@octave.org>
parents: 23573
diff changeset
191 if (u_arg.isreal ())
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
192 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
193 // u is real array, m is array
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
194 NDArray u = u_arg.xarray_value ("ellipj: U must be a scalar or matrix");
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
195
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
196 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
197
21660
53728df3e4c9 maint: for clarity, call ndims() rather than length() on dimension vectors.
Rik <rik@octave.org>
parents: 21581
diff changeset
198 if (sz_u.ndims () == 2 && sz_m.ndims () == 2
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
199 && sz_u(1) == 1 && sz_m(0) == 1)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
200 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
201 // u is real column vector, m is row vector
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
202 octave_idx_type ur = sz_u(0);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
203 octave_idx_type mc = sz_m(1);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
204 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
205
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
206 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
207 NDArray err (sz_out);
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
208
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
209 const double *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
210 const double *pm = m.data ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
211
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
212 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
213 for (octave_idx_type i = 0; i < ur; i++)
29961
7d6709900da7 eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more
John W. Eaton <jwe@octave.org>
parents: 29958
diff changeset
214 math::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
215
20909
03e4ddd49396 omit unnecessary nargout checks
John W. Eaton <jwe@octave.org>
parents: 20892
diff changeset
216 return ovl (sn, cn, dn, err);
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
217 }
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
218 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
219 {
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
220 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
221 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
222
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
223 const double *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
224 const double *pm = m.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
225 double *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
226 double *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
227 double *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
228 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
229 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
230
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
231 for (octave_idx_type i = 0; i < nel; i++)
29961
7d6709900da7 eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more
John W. Eaton <jwe@octave.org>
parents: 29958
diff changeset
232 math::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
233
20909
03e4ddd49396 omit unnecessary nargout checks
John W. Eaton <jwe@octave.org>
parents: 20892
diff changeset
234 return ovl (sn, cn, dn, err);
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
235 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
236 else
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
237 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
238 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
239 else
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
240 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
241 // u is complex array, m is array
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
242 ComplexNDArray u = u_arg.xcomplex_array_value ("ellipj: U must be a scalar or matrix");
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
243
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
244 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
245
21660
53728df3e4c9 maint: for clarity, call ndims() rather than length() on dimension vectors.
Rik <rik@octave.org>
parents: 21581
diff changeset
246 if (sz_u.ndims () == 2 && sz_m.ndims () == 2
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
247 && sz_u(1) == 1 && sz_m(0) == 1)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
248 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17514
diff changeset
249 // u is complex column vector, m is row vector
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
250 octave_idx_type ur = sz_u(0);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
251 octave_idx_type mc = sz_m(1);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
252 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
253
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
254 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
255 NDArray err (sz_out);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
256
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
257 const Complex *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
258 const double *pm = m.data ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
259
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
260 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
261 for (octave_idx_type i = 0; i < ur; i++)
29961
7d6709900da7 eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more
John W. Eaton <jwe@octave.org>
parents: 29958
diff changeset
262 math::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
263
20909
03e4ddd49396 omit unnecessary nargout checks
John W. Eaton <jwe@octave.org>
parents: 20892
diff changeset
264 return ovl (sn, cn, dn, err);
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
265 }
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
266 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
267 {
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
268 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
269 NDArray err (sz_m);
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 const Complex *pu = u.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
272 const double *pm = m.data ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
273 Complex *psn = sn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
274 Complex *pcn = cn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
275 Complex *pdn = dn.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
276 double *perr = err.fortran_vec ();
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
277 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
278
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
279 for (octave_idx_type i = 0; i < nel; i++)
29961
7d6709900da7 eliminate octave:: namespace tags in DEFUN and DEFMETHOD and more
John W. Eaton <jwe@octave.org>
parents: 29958
diff changeset
280 math::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
281
20909
03e4ddd49396 omit unnecessary nargout checks
John W. Eaton <jwe@octave.org>
parents: 20892
diff changeset
282 return ovl (sn, cn, dn, err);
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
283 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
284 else
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
285 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
286 }
16586
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
287 }
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
288 } // m matrix
f423873d3275 Style fixes for ellipj.cc, ellipke.m, and expint.m
Mike Miller <mtmiller@ieee.org>
parents: 16585
diff changeset
289
20941
a4f5da7c5463 maint: Replace "octave_value_list ()" with "ovl ()".
Rik <rik@octave.org>
parents: 20915
diff changeset
290 return ovl ();
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
291 }
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
292
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
293 /*
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
294 ## demos taken from inst/ellipj.m
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
295
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
296 %!demo
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
297 %! N = 150;
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
298 %! # 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
299 %! # 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
300 %! 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
301 %! u = linspace (-20, 20, N);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
302 %! 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
303 %! 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
304 %! [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
305 %!
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
306 %! ## Plotting
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
307 %! data = {sn,cn,dn};
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
308 %! dname = {"sn","cn","dn"};
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
309 %! for i=1:3
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
310 %! subplot (1,3,i);
16585
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
311 %! 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
312 %! 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
313 %! 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
314 %! title (dname{i});
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
315 %! endfor
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
316 %! colormap (hot (64));
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
317
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
318 %!demo
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
319 %! N = 200;
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
320 %! # 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
321 %! # 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
322 %! 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
323 %! u = linspace (0,20,5);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
324 %! 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
325 %! 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
326 %! [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
327 %!
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
328 %! ## Plotting
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
329 %! data = {sn,cn,dn};
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
330 %! dname = {"sn","cn","dn"};
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
331 %! for i=1:3
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
332 %! subplot (1,3,i);
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
333 %! plot (m, data{i});
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
334 %! title (dname{i});
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
335 %! grid on;
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
336 %! endfor
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
337 */
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
338
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
339 /*
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
340 ## 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
341
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
342 %!test
28915
c40a367a84c0 maint: Use Octave convention of space after function name in libinterp/.
Rik <rik@octave.org>
parents: 28888
diff changeset
343 %! 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
344 %! SN = [
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
345 %! -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
346 %! -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
347 %! -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
348 %! -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
349 %! -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
350 %! -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
351 %! -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
352 %! -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
353 %! -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
354 %! -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
355 %! -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
356 %! -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
357 %! -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
358 %! -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
359 %! -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
360 %! -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
361 %! -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
362 %! -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
363 %! -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
364 %! -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
365 %! -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
366 %! -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
367 %! -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
368 %! -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
369 %! -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
370 %! -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
371 %! -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
372 %! -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
373 %! -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
374 %! -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
375 %! -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
376 %! -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
377 %! -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
378 %! -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
379 %! -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
380 %! -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
381 %! -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
382 %! -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
383 %! -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
384 %! -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
385 %! -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
386 %! -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
387 %! -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
388 %! -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
389 %! -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
390 %! -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
391 %! -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
392 %! -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
393 %! -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
394 %! -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
395 %! -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
396 %! -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
397 %! -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
398 %! -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
399 %! -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
400 %! 0. + I * 0. , 0. + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
401 %! 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
402 %! 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
403 %! 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
404 %! 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
405 %! 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
406 %! 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
407 %! 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
408 %! 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
409 %! 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
410 %! 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
411 %! 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
412 %! 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
413 %! 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
414 %! 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
415 %! 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
416 %! 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
417 %! 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
418 %! 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
419 %! 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
420 %! 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
421 %! 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
422 %! 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
423 %! 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
424 %! 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
425 %! 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
426 %! 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
427 %! 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
428 %! 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
429 %! 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
430 %! 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
431 %! 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
432 %! 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
433 %! 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
434 %! 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
435 %! 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
436 %! 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
437 %! 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
438 %! 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
439 %! 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
440 %! 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
441 %! 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
442 %! 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
443 %! 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
444 %! 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
445 %! 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
446 %! 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
447 %! 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
448 %! 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
449 %! 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
450 %! 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
451 %! 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
452 %! 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
453 %! 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
454 %! 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
455 %! 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
456 %! 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
457 %! 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
458 %! 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
459 %! 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
460 %! 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
461 %! 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
462 %! 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
463 %! 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
464 %! 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
465 %! 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
466 %! ];
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
467 %! CN = [
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
468 %! -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
469 %! -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
470 %! -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
471 %! -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
472 %! -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
473 %! -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
474 %! -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
475 %! -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
476 %! -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
477 %! -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
478 %! -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
479 %! -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
480 %! -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
481 %! -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
482 %! -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
483 %! -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
484 %! -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
485 %! -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
486 %! -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
487 %! -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
488 %! -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
489 %! -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
490 %! -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
491 %! -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
492 %! -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
493 %! -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
494 %! -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
495 %! -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
496 %! -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
497 %! -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
498 %! -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
499 %! -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
500 %! -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
501 %! -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
502 %! -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
503 %! -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
504 %! -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
505 %! -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
506 %! -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
507 %! -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
508 %! -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
509 %! -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
510 %! -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
511 %! -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
512 %! -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
513 %! -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
514 %! -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
515 %! -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
516 %! -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
517 %! -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
518 %! -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
519 %! -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
520 %! -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
521 %! -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
522 %! -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
523 %! 0. + I * 0. , 1. + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
524 %! 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
525 %! 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
526 %! 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
527 %! 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
528 %! 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
529 %! 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
530 %! 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
531 %! 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
532 %! 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
533 %! 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
534 %! 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
535 %! 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
536 %! 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
537 %! 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
538 %! 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
539 %! 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
540 %! 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
541 %! 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
542 %! 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
543 %! 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
544 %! 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
545 %! 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
546 %! 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
547 %! 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
548 %! 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
549 %! 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
550 %! 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
551 %! 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
552 %! 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
553 %! 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
554 %! 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
555 %! 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
556 %! 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
557 %! 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
558 %! 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
559 %! 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
560 %! 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
561 %! 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
562 %! 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
563 %! 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
564 %! 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
565 %! 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
566 %! 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
567 %! 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
568 %! 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
569 %! 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
570 %! 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
571 %! 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
572 %! 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
573 %! 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
574 %! 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
575 %! 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
576 %! 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
577 %! 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
578 %! 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
579 %! 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
580 %! 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
581 %! 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
582 %! 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
583 %! 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
584 %! 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
585 %! 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
586 %! 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
587 %! 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
588 %! 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
589 %! ];
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
590 %! DN = [
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
591 %! -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
592 %! -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
593 %! -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
594 %! -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
595 %! -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
596 %! -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
597 %! -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
598 %! -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
599 %! -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
600 %! -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
601 %! -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
602 %! -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
603 %! -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
604 %! -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
605 %! -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
606 %! -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
607 %! -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
608 %! -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
609 %! -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
610 %! -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
611 %! -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
612 %! -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
613 %! -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
614 %! -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
615 %! -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
616 %! -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
617 %! -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
618 %! -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
619 %! -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
620 %! -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
621 %! -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
622 %! -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
623 %! -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
624 %! -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
625 %! -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
626 %! -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
627 %! -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
628 %! -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
629 %! -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
630 %! -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
631 %! -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
632 %! -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
633 %! -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
634 %! -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
635 %! -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
636 %! -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
637 %! -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
638 %! -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
639 %! -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
640 %! -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
641 %! -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
642 %! -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
643 %! -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
644 %! -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
645 %! -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
646 %! 0. + I * 0. , 1. + 0. * I
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
647 %! 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
648 %! 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
649 %! 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
650 %! 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
651 %! 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
652 %! 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
653 %! 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
654 %! 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
655 %! 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
656 %! 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
657 %! 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
658 %! 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
659 %! 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
660 %! 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
661 %! 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
662 %! 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
663 %! 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
664 %! 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
665 %! 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
666 %! 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
667 %! 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
668 %! 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
669 %! 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
670 %! 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
671 %! 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
672 %! 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
673 %! 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
674 %! 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
675 %! 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
676 %! 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
677 %! 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
678 %! 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
679 %! 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
680 %! 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
681 %! 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
682 %! 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
683 %! 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
684 %! 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
685 %! 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
686 %! 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
687 %! 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
688 %! 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
689 %! 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
690 %! 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
691 %! 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
692 %! 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
693 %! 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
694 %! 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
695 %! 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
696 %! 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
697 %! 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
698 %! 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
699 %! 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
700 %! 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
701 %! 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
702 %! 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
703 %! 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
704 %! 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
705 %! 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
706 %! 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
707 %! 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
708 %! 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
709 %! 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
710 %! 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
711 %! 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
712 %! ];
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
713 %! tol = 1e-9;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
714 %! for x = 0:10
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
715 %! for y = 0:10
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
716 %! ur = -1 + x * 0.2;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
717 %! ui = y * 0.2;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
718 %! ii = 1 + y + x*11;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
719 %! [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
720 %! assert (sn, SN(ii, 2), tol);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
721 %! assert (cn, CN(ii, 2), tol);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
722 %! 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
723 %! endfor
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
724 %! endfor
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
725
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
726 ## tests taken from test_ellipj.m
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
727 %!test
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
728 %! u1 = pi/3; m1 = 0;
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
729 %! 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
730 %! [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
731 %! 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
732
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
733 %!test
28915
c40a367a84c0 maint: Use Octave convention of space after function name in libinterp/.
Rik <rik@octave.org>
parents: 28888
diff changeset
734 %! u2 = log (2); m2 = 1;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
735 %! 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
736 %! [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
737 %! 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
738
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
739 %!test
28915
c40a367a84c0 maint: Use Octave convention of space after function name in libinterp/.
Rik <rik@octave.org>
parents: 28888
diff changeset
740 %! u3 = log (2)*1i; m3 = 0;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
741 %! 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
742 %! [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
743 %! 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
744
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
745 %!test
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
746 %! 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
747 %! 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
748 %! [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
749 %! 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
750
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
751 %!test
28915
c40a367a84c0 maint: Use Octave convention of space after function name in libinterp/.
Rik <rik@octave.org>
parents: 28888
diff changeset
752 %! u5 = -0.2 + 0.4i; m5 = tan (pi/8)^4;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
753 %! res5 = [ -0.2152524522 + 0.402598347i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
754 %! 1.059453907 + 0.08179712295i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
755 %! 1.001705496 + 0.00254669712i ];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
756 %! [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
757 %! 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
758
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
759 %!test
28915
c40a367a84c0 maint: Use Octave convention of space after function name in libinterp/.
Rik <rik@octave.org>
parents: 28888
diff changeset
760 %! u6 = 0.2 + 0.6i; m6 = tan (pi/8)^4;
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
761 %! res6 = [ 0.2369100139 + 0.624633635i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
762 %! 1.16200643 - 0.1273503824i, ...
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
763 %! 1.004913944 - 0.004334880912i ];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
764 %! [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
765 %! 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
766
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
767 %!test
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
768 %! 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
769 %! res7 = [0.9588386397 + 0.6107824358i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
770 %! 0.9245978896 - 0.6334016187i, ...
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
771 %! 0.9920785856 - 0.01737733806i ];
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
772 %! [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
773 %! 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
774
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
775 %!test
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
776 %! 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
777 %! 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
778 %! [sn,cn,dn] = ellipj (u,m);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
779 %! 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
780 %! [sn,cn,dn] = ellipj (u',0);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
781 %! assert ([sn,cn,dn], res', 100*eps);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
782
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
783 ## 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
784
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
785 ## 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
786 %!test
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
787 %! 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
788 %! 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
789 %! [sn,cn,dn] = ellipj (u,m);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
790 %! 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
791 %! 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
792 %! 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
793
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
794 %!test
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
795 %! ## Test Jacobi elliptic functions
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
796 %! ## 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
797 %! ## David Billinghurst <David.Billinghurst@riotinto.com>
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
798 %! ## 1 February 2001
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
799 %! 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
800 %! 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
801 %! S = [ sin(0.25);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
802 %! tanh(0.25);
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
803 %! 0.19842311013970879516;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
804 %! 0.19762082367187648571;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
805 %! 0.6095196917919021945;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
806 %! 0.4621171572617320908 ];
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
807 %! C = [ cos(0.25);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
808 %! sech(0.25);
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
809 %! 0.9801164570409401062;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
810 %! 0.9802785369736752032;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
811 %! 0.7927709286533560550;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
812 %! 0.8868188839691764094 ];
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
813 %! D = [ 1.0;
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
814 %! sech(0.25);
17308
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
815 %! 0.9962526643271134302;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
816 %! 0.9840560289645665155;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
817 %! 0.9307281387786906491;
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
818 %! 0.8868188839812167635 ];
5a6caf617f56 ellipj.cc: Use Octave coding conventions for %!demos and %!tests.
Rik <rik@octave.org>
parents: 16816
diff changeset
819 %! [sn,cn,dn] = ellipj (u,m);
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
820 %! assert (sn, S, 8*eps);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
821 %! assert (cn, C, 8*eps);
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
822 %! 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
823
23573
1b4f4ec53b4a use new script to tag fixed bugs in tests
John W. Eaton <jwe@octave.org>
parents: 23572
diff changeset
824 %!test <*43344>
22489
93ea313301f9 test: Add bug ids (<#####>) to BIST tests.
Rik <rik@octave.org>
parents: 22323
diff changeset
825 %! ## Test continuity of dn when cn is near zero
19200
068a3e51b7b8 ellipj: Fix continuity of dn output when cn is near zero (bug #43344)
Mike Miller <mtmiller@ieee.org>
parents: 19040
diff changeset
826 %! m = 0.5;
068a3e51b7b8 ellipj: Fix continuity of dn output when cn is near zero (bug #43344)
Mike Miller <mtmiller@ieee.org>
parents: 19040
diff changeset
827 %! u = ellipke (0.5);
068a3e51b7b8 ellipj: Fix continuity of dn output when cn is near zero (bug #43344)
Mike Miller <mtmiller@ieee.org>
parents: 19040
diff changeset
828 %! x = [-1e-3, -1e-12, 0, 1e-12, 1e-3];
068a3e51b7b8 ellipj: Fix continuity of dn output when cn is near zero (bug #43344)
Mike Miller <mtmiller@ieee.org>
parents: 19040
diff changeset
829 %! [~, ~, dn] = ellipj (u + x, m);
068a3e51b7b8 ellipj: Fix continuity of dn output when cn is near zero (bug #43344)
Mike Miller <mtmiller@ieee.org>
parents: 19040
diff changeset
830 %! D = 1/sqrt (2) * ones (size (x));
068a3e51b7b8 ellipj: Fix continuity of dn output when cn is near zero (bug #43344)
Mike Miller <mtmiller@ieee.org>
parents: 19040
diff changeset
831 %! assert (dn, D, 1e-6);
068a3e51b7b8 ellipj: Fix continuity of dn output when cn is near zero (bug #43344)
Mike Miller <mtmiller@ieee.org>
parents: 19040
diff changeset
832
16585
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
833 %!error ellipj ()
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
834 %!error ellipj (1)
1a3bfb14b5da Add and fix tests for ellipj, ellipke, and expint
Mike Miller <mtmiller@ieee.org>
parents: 16584
diff changeset
835 %!error ellipj (1,2,3,4)
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
836 %!warning <required value 0 <= M <= 1> ellipj (1,2);
21581
6fab85c1538f maint: Follow Octave conventions for use of semicolon in BIST tests.
Rik <rik@octave.org>
parents: 21301
diff changeset
837 ## FIXME: errors commented out until lasterr() truly returns the last error.
20711
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
838 %!#error <M must be a scalar or matrix> ellipj (1, "1")
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
839 %!#error <U must be a scalar or matrix> ellipj ("1", 1)
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
840 %!#error <U must be a scalar or matrix> ellipj ({1}, 1)
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
841 %!#error <U must be a scalar or matrix> ellipj ({1, 2}, 1)
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
842 %!#error <M must be a scalar or matrix> ellipj (1, {1, 2})
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
843 %!#error <U must be a scalar or matrix> ellipj ("1", [1, 2])
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
844 %!#error <U must be a scalar or matrix> ellipj ({1}, [1, 2])
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
845 %!#error <U must be a scalar or matrix> ellipj ({1}, [1, 2])
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
846 %!#error <U must be a scalar or matrix> ellipj ("1,2", [1, 2])
7b608fadc663 Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents: 20704
diff changeset
847 %!#error <U must be a scalar or matrix> ellipj ({1, 2}, [1, 2])
17374
991c7c812e38 Overhaul ellipj function to support NDArrays (bug #38874).
Rik <rik@octave.org>
parents: 17370
diff changeset
848 %!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
849 %!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
850
16584
2f766ceeb03e Add ellipj, ellipke, and expint functions from Octave Forge
Mike Miller <mtmiller@ieee.org>
parents:
diff changeset
851 */
29958
32c3a5805893 move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 29359
diff changeset
852
31605
e88a07dec498 maint: Use macros to begin/end C++ namespaces.
Rik <rik@octave.org>
parents: 30564
diff changeset
853 OCTAVE_END_NAMESPACE(octave)