annotate libinterp/corefcn/mappers.cc @ 19275:653ed3a6ba83

Use gammaln in preference to lgamma in core Octave code. * mappers.cc (Flgamma): Use gammaln in BIST tests. * betapdf.m: Replace calls to lgamma with calls to gammaln. *test/build-sparse-tests.sh: Replace calls to lgamma with calls to gammaln.
author Rik <rik@octave.org>
date Tue, 21 Oct 2014 09:39:03 -0700
parents ba7e42dea4b2
children 06e7ad9b5154
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1 /*
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
2
17744
d63878346099 maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents: 17708
diff changeset
3 Copyright (C) 1993-2013 John W. Eaton
11523
fd0a3ac60b0e update copyright notices
John W. Eaton <jwe@octave.org>
parents: 11431
diff changeset
4 Copyright (C) 2009-2010 VZLU Prague
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
5
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
6 This file is part of Octave.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
7
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
8 Octave is free software; you can redistribute it and/or modify it
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
9 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6969
diff changeset
10 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6969
diff changeset
11 option) any later version.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
12
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
13 Octave is distributed in the hope that it will be useful, but WITHOUT
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
16 for more details.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
17
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6969
diff changeset
19 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6969
diff changeset
20 <http://www.gnu.org/licenses/>.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
21
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
22 */
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
23
240
a99f28f5e351 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents: 164
diff changeset
24 #ifdef HAVE_CONFIG_H
1192
b6360f2d4fa6 [project @ 1995-03-30 21:38:35 by jwe]
jwe
parents: 1173
diff changeset
25 #include <config.h>
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
26 #endif
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
27
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
28 #include <cctype>
3010
1aeb8869e464 [project @ 1997-06-01 19:24:02 by jwe]
jwe
parents: 2970
diff changeset
29 #include <cfloat>
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
30
4524
fd95dc5e6f28 [project @ 2003-10-02 03:14:48 by jwe]
jwe
parents: 4268
diff changeset
31 #include "lo-ieee.h"
3156
a494f93e60ff [project @ 1998-02-20 07:47:48 by jwe]
jwe
parents: 3010
diff changeset
32 #include "lo-specfun.h"
2889
8aa189b811d0 [project @ 1997-04-28 01:35:18 by jwe]
jwe
parents: 2847
diff changeset
33 #include "lo-mappers.h"
8aa189b811d0 [project @ 1997-04-28 01:35:18 by jwe]
jwe
parents: 2847
diff changeset
34
1352
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1343
diff changeset
35 #include "defun.h"
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1343
diff changeset
36 #include "error.h"
2955
dfffbf305468 [project @ 1997-05-09 15:15:18 by jwe]
jwe
parents: 2909
diff changeset
37 #include "variables.h"
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
38
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
39 DEFUN (abs, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
40 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
41 @deftypefn {Mapping Function} {} abs (@var{z})\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
42 Compute the magnitude of @var{z}, defined as\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
43 @tex\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
44 $|z| = \\sqrt{x^2 + y^2}$.\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
45 @end tex\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
46 @ifnottex\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
47 |@var{z}| = @code{sqrt (x^2 + y^2)}.\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
48 @end ifnottex\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
49 \n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
50 For example:\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
51 \n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
52 @example\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
53 @group\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
54 abs (3 + 4i)\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
55 @result{} 5\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
56 @end group\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
57 @end example\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
58 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
59 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
60 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
61 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
62 retval = args(0).abs ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
63 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
64 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
65
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
66 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
67 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
68
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
69 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
70 %!assert (abs (1), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
71 %!assert (abs (-3.5), 3.5)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
72 %!assert (abs (3+4i), 5)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
73 %!assert (abs (3-4i), 5)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
74 %!assert (abs ([1.1, 3i; 3+4i, -3-4i]), [1.1, 3; 5, 5])
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
75
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
76 %!assert (abs (single (1)), single (1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
77 %!assert (abs (single (-3.5)), single (3.5))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
78 %!assert (abs (single (3+4i)), single (5))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
79 %!assert (abs (single (3-4i)), single (5))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
80 %!assert (abs (single ([1.1, 3i; 3+4i, -3-4i])), single ([1.1, 3; 5, 5]))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
81
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
82 %!error abs ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
83 %!error abs (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
84 */
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
85
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
86 DEFUN (acos, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
87 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
88 @deftypefn {Mapping Function} {} acos (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
89 Compute the inverse cosine in radians for each element of @var{x}.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
90 @seealso{cos, acosd}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
91 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
92 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
93 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
94 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
95 retval = args(0).acos ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
96 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
97 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
98
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
99 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
100 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
101
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
102 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
103 %!shared rt2, rt3
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
104 %! rt2 = sqrt (2);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
105 %! rt3 = sqrt (3);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
106
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
107 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
108 %! x = [1, rt3/2, rt2/2, 1/2, 0, -1/2, -rt2/2, -rt3/2, -1];
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
109 %! v = [0, pi/6, pi/4, pi/3, pi/2, 2*pi/3, 3*pi/4, 5*pi/6, pi];
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
110 %! assert (acos (x), v, sqrt (eps));
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
111
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
112 %!test
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
113 %! x = single ([1, rt3/2, rt2/2, 1/2, 0, -1/2, -rt2/2, -rt3/2, -1]);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
114 %! v = single ([0, pi/6, pi/4, pi/3, pi/2, 2*pi/3, 3*pi/4, 5*pi/6, pi]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
115 %! assert (acos (x), v, sqrt (eps ("single")));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
116
19242
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
117 ## Test values on either side of branch cut
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
118 %!test
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
119 %! rval = 0;
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
120 %! ival = 1.31695789692481635;
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
121 %! obs = acos ([2, 2-i*eps, 2+i*eps]);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
122 %! exp = [rval + ival*i, rval + ival*i, rval - ival*i];
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
123 %! assert (obs, exp, 2*eps);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
124 %! rval = pi;
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
125 %! obs = acos ([-2, -2-i*eps, -2+i*eps]);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
126 %! exp = [rval - ival*i, rval + ival*i, rval - ival*i];
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
127 %! assert (obs, exp, 2*eps);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
128 %! assert (acos ([2 0]), [ival*i, pi/2], 2*eps);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
129 %! assert (acos ([2 0i]), [ival*i, pi/2], 2*eps);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
130
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
131 %!error acos ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
132 %!error acos (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
133 */
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
134
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
135 DEFUN (acosh, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
136 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
137 @deftypefn {Mapping Function} {} acosh (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
138 Compute the inverse hyperbolic cosine for each element of @var{x}.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
139 @seealso{cosh}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
140 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
141 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
142 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
143 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
144 retval = args(0).acosh ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
145 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
146 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
147
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
148 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
149 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
150
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
151 /*
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
152 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
153 %! x = [1, 0, -1, 0];
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
154 %! v = [0, pi/2*i, pi*i, pi/2*i];
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
155 %! assert (acosh (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
156
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
157 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
158 %! x = single ([1, 0, -1, 0]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
159 %! v = single ([0, pi/2*i, pi*i, pi/2*i]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
160 %! assert (acosh (x), v, sqrt (eps ("single")));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
161
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
162 %!error acosh ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
163 %!error acosh (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
164 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
165
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
166 DEFUN (angle, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
167 "-*- texinfo -*-\n\
3458
d25bc039237b [project @ 2000-01-19 09:36:14 by jwe]
jwe
parents: 3446
diff changeset
168 @deftypefn {Mapping Function} {} angle (@var{z})\n\
d25bc039237b [project @ 2000-01-19 09:36:14 by jwe]
jwe
parents: 3446
diff changeset
169 See arg.\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
170 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
171 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
172 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
173 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
174 retval = args(0).arg ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
175 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
176 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
177
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
178 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
179 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
180
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
181 DEFUN (arg, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
182 "-*- texinfo -*-\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
183 @deftypefn {Mapping Function} {} arg (@var{z})\n\
3458
d25bc039237b [project @ 2000-01-19 09:36:14 by jwe]
jwe
parents: 3446
diff changeset
184 @deftypefnx {Mapping Function} {} angle (@var{z})\n\
9154
761fc0d3d980 Update section 17.2 (Complex Arithmetic) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9153
diff changeset
185 Compute the argument of @var{z}, defined as,\n\
761fc0d3d980 Update section 17.2 (Complex Arithmetic) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9153
diff changeset
186 @tex\n\
761fc0d3d980 Update section 17.2 (Complex Arithmetic) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9153
diff changeset
187 $\\theta = atan2 (y, x),$\n\
761fc0d3d980 Update section 17.2 (Complex Arithmetic) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9153
diff changeset
188 @end tex\n\
761fc0d3d980 Update section 17.2 (Complex Arithmetic) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9153
diff changeset
189 @ifnottex\n\
761fc0d3d980 Update section 17.2 (Complex Arithmetic) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9153
diff changeset
190 @var{theta} = @code{atan2 (@var{y}, @var{x})},\n\
761fc0d3d980 Update section 17.2 (Complex Arithmetic) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9153
diff changeset
191 @end ifnottex\n\
761fc0d3d980 Update section 17.2 (Complex Arithmetic) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9153
diff changeset
192 in radians.\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
193 \n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
194 For example:\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
195 \n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
196 @example\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
197 @group\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
198 arg (3 + 4i)\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
199 @result{} 0.92730\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
200 @end group\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
201 @end example\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
202 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
203 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
204 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
205 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
206 retval = args(0).arg ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
207 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
208 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
209
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
210 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
211 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
212
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
213 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
214 %!assert (arg (1), 0)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
215 %!assert (arg (i), pi/2)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
216 %!assert (arg (-1), pi)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
217 %!assert (arg (-i), -pi/2)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
218 %!assert (arg ([1, i; -1, -i]), [0, pi/2; pi, -pi/2])
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
219
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
220 %!assert (arg (single (1)), single (0))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
221 %!assert (arg (single (i)), single (pi/2))
13093
1a21c4c5eeeb Fix tolerance for mappers.cc test on MacOS.
Ben Abbott <bpabbott@mac.com>
parents: 12894
diff changeset
222 %!test
1a21c4c5eeeb Fix tolerance for mappers.cc test on MacOS.
Ben Abbott <bpabbott@mac.com>
parents: 12894
diff changeset
223 %! if (ismac ())
1a21c4c5eeeb Fix tolerance for mappers.cc test on MacOS.
Ben Abbott <bpabbott@mac.com>
parents: 12894
diff changeset
224 %! ## Avoid failing for a MacOS feature
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
225 %! assert (arg (single (-1)), single (pi), 2*eps (single (1)));
13093
1a21c4c5eeeb Fix tolerance for mappers.cc test on MacOS.
Ben Abbott <bpabbott@mac.com>
parents: 12894
diff changeset
226 %! else
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
227 %! assert (arg (single (-1)), single (pi));
13093
1a21c4c5eeeb Fix tolerance for mappers.cc test on MacOS.
Ben Abbott <bpabbott@mac.com>
parents: 12894
diff changeset
228 %! endif
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
229 %!assert (arg (single (-i)), single (-pi/2))
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
230 %!assert (arg (single ([1, i; -1, -i])), single ([0, pi/2; pi, -pi/2]), 2e1*eps ("single"))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
231
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
232 %!error arg ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
233 %!error arg (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
234 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
235
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
236 DEFUN (asin, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
237 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
238 @deftypefn {Mapping Function} {} asin (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
239 Compute the inverse sine in radians for each element of @var{x}.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
240 @seealso{sin, asind}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
241 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
242 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
243 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
244 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
245 retval = args(0).asin ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
246 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
247 print_usage ();
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
248
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
249 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
250 }
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
251
7385
8b7b4f58199f [project @ 2008-01-15 20:49:09 by jwe]
jwe
parents: 7017
diff changeset
252 /*
19242
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
253 %!shared rt2, rt3
7385
8b7b4f58199f [project @ 2008-01-15 20:49:09 by jwe]
jwe
parents: 7017
diff changeset
254 %! rt2 = sqrt (2);
8b7b4f58199f [project @ 2008-01-15 20:49:09 by jwe]
jwe
parents: 7017
diff changeset
255 %! rt3 = sqrt (3);
19242
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
256
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
257 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
258 %! x = [0, 1/2, rt2/2, rt3/2, 1, rt3/2, rt2/2, 1/2, 0];
7385
8b7b4f58199f [project @ 2008-01-15 20:49:09 by jwe]
jwe
parents: 7017
diff changeset
259 %! v = [0, pi/6, pi/4, pi/3, pi/2, pi/3, pi/4, pi/6, 0];
19242
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
260 %! assert (asin (x), v, sqrt (eps));
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
261
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
262 %!test
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
263 %! x = single ([0, 1/2, rt2/2, rt3/2, 1, rt3/2, rt2/2, 1/2, 0]);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
264 %! v = single ([0, pi/6, pi/4, pi/3, pi/2, pi/3, pi/4, pi/6, 0]);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
265 %! assert (asin (x), v, sqrt (eps ("single")));
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
266
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
267 ## Test values on either side of branch cut
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
268 %!test
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
269 %! rval = pi/2;
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
270 %! ival = 1.31695789692481635;
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
271 %! obs = asin ([2, 2-i*eps, 2+i*eps]);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
272 %! exp = [rval - ival*i, rval - ival*i, rval + ival*i];
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
273 %! assert (obs, exp, 2*eps);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
274 %! obs = asin ([-2, -2-i*eps, -2+i*eps]);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
275 %! exp = [-rval + ival*i, -rval - ival*i, -rval + ival*i];
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
276 %! assert (obs, exp, 2*eps);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
277 %! assert (asin ([2 0]), [rval - ival*i, 0], 2*eps);
ba7e42dea4b2 Fix returned phase of asin, acos outside principal branch (bug #43349).
Rik <rik@octave.org>
parents: 19151
diff changeset
278 %! assert (asin ([2 0i]), [rval - ival*i, 0], 2*eps);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
279
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
280 %!error asin ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
281 %!error asin (1, 2)
7385
8b7b4f58199f [project @ 2008-01-15 20:49:09 by jwe]
jwe
parents: 7017
diff changeset
282 */
8b7b4f58199f [project @ 2008-01-15 20:49:09 by jwe]
jwe
parents: 7017
diff changeset
283
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
284 DEFUN (asinh, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
285 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
286 @deftypefn {Mapping Function} {} asinh (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
287 Compute the inverse hyperbolic sine for each element of @var{x}.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
288 @seealso{sinh}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
289 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
290 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
291 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
292 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
293 retval = args(0).asinh ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
294 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
295 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
296
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
297 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
298 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
299
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
300 /*
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
301 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
302 %! v = [0, pi/2*i, 0, -pi/2*i];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
303 %! x = [0, i, 0, -i];
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
304 %! assert (asinh (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
305
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
306 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
307 %! v = single ([0, pi/2*i, 0, -pi/2*i]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
308 %! x = single ([0, i, 0, -i]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
309 %! assert (asinh (x), v, sqrt (eps ("single")));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
310
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
311 %!error asinh ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
312 %!error asinh (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
313 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
314
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
315 DEFUN (atan, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
316 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
317 @deftypefn {Mapping Function} {} atan (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
318 Compute the inverse tangent in radians for each element of @var{x}.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
319 @seealso{tan, atand}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
320 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
321 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
322 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
323 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
324 retval = args(0).atan ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
325 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
326 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
327
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
328 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
329 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
330
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
331 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
332 %!shared rt2, rt3
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
333 %! rt2 = sqrt (2);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
334 %! rt3 = sqrt (3);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
335
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
336 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
337 %! v = [0, pi/6, pi/4, pi/3, -pi/3, -pi/4, -pi/6, 0];
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
338 %! x = [0, rt3/3, 1, rt3, -rt3, -1, -rt3/3, 0];
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
339 %! assert (atan (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
340
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
341 %!test
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
342 %! v = single ([0, pi/6, pi/4, pi/3, -pi/3, -pi/4, -pi/6, 0]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
343 %! x = single ([0, rt3/3, 1, rt3, -rt3, -1, -rt3/3, 0]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
344 %! assert (atan (x), v, sqrt (eps ("single")));
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
345
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
346 %!error atan ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
347 %!error atan (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
348 */
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
349
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
350 DEFUN (atanh, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
351 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
352 @deftypefn {Mapping Function} {} atanh (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
353 Compute the inverse hyperbolic tangent for each element of @var{x}.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
354 @seealso{tanh}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
355 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
356 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
357 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
358 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
359 retval = args(0).atanh ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
360 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
361 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
362
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
363 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
364 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
365
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
366 /*
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
367 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
368 %! v = [0, 0];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
369 %! x = [0, 0];
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
370 %! assert (atanh (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
371
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
372 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
373 %! v = single ([0, 0]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
374 %! x = single ([0, 0]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
375 %! assert (atanh (x), v, sqrt (eps ("single")));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
376
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
377 %!error atanh ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
378 %!error atanh (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
379 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
380
10414
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
381 DEFUN (cbrt, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
382 "-*- texinfo -*-\n\
10414
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
383 @deftypefn {Mapping Function} {} cbrt (@var{x})\n\
11532
34bb8d38f19f Add undocumented function cbrt to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11529
diff changeset
384 Compute the real cube root of each element of @var{x}.\n\
34bb8d38f19f Add undocumented function cbrt to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11529
diff changeset
385 Unlike @code{@var{x}^(1/3)}, the result will be negative if @var{x} is\n\
34bb8d38f19f Add undocumented function cbrt to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11529
diff changeset
386 negative.\n\
34bb8d38f19f Add undocumented function cbrt to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11529
diff changeset
387 @seealso{nthroot}\n\
10414
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
388 @end deftypefn")
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
389 {
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
390 octave_value retval;
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
391 if (args.length () == 1)
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
392 retval = args(0).cbrt ();
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
393 else
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
394 print_usage ();
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
395
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
396 return retval;
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
397 }
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
398
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
399 /*
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
400 %!assert (cbrt (64), 4)
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
401 %!assert (cbrt (-125), -5)
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
402 %!assert (cbrt (0), 0)
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
403 %!assert (cbrt (Inf), Inf)
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
404 %!assert (cbrt (-Inf), -Inf)
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
405 %!assert (cbrt (NaN), NaN)
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
406 %!assert (cbrt (2^300), 2^100)
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
407 %!assert (cbrt (125*2^300), 5*2^100)
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
408
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
409 %!error cbrt ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
410 %!error cbrt (1, 2)
10414
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
411 */
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
412
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
413 DEFUN (ceil, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
414 "-*- texinfo -*-\n\
3373
36405da8e173 [project @ 1999-11-23 20:54:17 by jwe]
jwe
parents: 3369
diff changeset
415 @deftypefn {Mapping Function} {} ceil (@var{x})\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
416 Return the smallest integer not less than @var{x}. This is equivalent to\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
417 rounding towards positive infinity. If @var{x} is\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
418 complex, return @code{ceil (real (@var{x})) + ceil (imag (@var{x})) * I}.\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
419 \n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
420 @example\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
421 @group\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
422 ceil ([-2.7, 2.7])\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
423 @result{} -2 3\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
424 @end group\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
425 @end example\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
426 @seealso{floor, round, fix}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
427 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
428 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
429 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
430 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
431 retval = args(0).ceil ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
432 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
433 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
434
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
435 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
436 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
437
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
438 /*
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
439 ## double precision
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
440 %!assert (ceil ([2, 1.1, -1.1, -1]), [2, 2, -1, -1])
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
441
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
442 ## complex double precison
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
443 %!assert (ceil ([2+2i, 1.1+1.1i, -1.1-1.1i, -1-i]), [2+2i, 2+2i, -1-i, -1-i])
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
444
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
445 ## single precision
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
446 %!assert (ceil (single ([2, 1.1, -1.1, -1])), single ([2, 2, -1, -1]))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
447
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
448 ## complex single precision
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
449 %!assert (ceil (single ([2+2i, 1.1+1.1i, -1.1-1.1i, -1-i])), single ([2+2i, 2+2i, -1-i, -1-i]))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
450
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
451 %!error ceil ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
452 %!error ceil (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
453 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
454
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
455 DEFUN (conj, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
456 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
457 @deftypefn {Mapping Function} {} conj (@var{z})\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
458 Return the complex conjugate of @var{z}, defined as\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
459 @tex\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
460 $\\bar{z} = x - iy$.\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
461 @end tex\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
462 @ifnottex\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
463 @code{conj (@var{z})} = @var{x} - @var{i}@var{y}.\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
464 @end ifnottex\n\
5642
2618a0750ae6 [project @ 2006-03-06 21:26:48 by jwe]
jwe
parents: 5518
diff changeset
465 @seealso{real, imag}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
466 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
467 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
468 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
469 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
470 retval = args(0).conj ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
471 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
472 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
473
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
474 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
475 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
476
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
477 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
478 %!assert (conj (1), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
479 %!assert (conj (i), -i)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
480 %!assert (conj (1+i), 1-i)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
481 %!assert (conj (1-i), 1+i)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
482 %!assert (conj ([-1, -i; -1+i, -1-i]), [-1, i; -1-i, -1+i])
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
483
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
484 %!assert (conj (single (1)), single (1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
485 %!assert (conj (single (i)), single (-i))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
486 %!assert (conj (single (1+i)), single (1-i))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
487 %!assert (conj (single (1-i)), single (1+i))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
488 %!assert (conj (single ([-1, -i; -1+i, -1-i])), single ([-1, i; -1-i, -1+i]))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
489
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
490 %!error conj ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
491 %!error conj (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
492 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
493
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
494 DEFUN (cos, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
495 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
496 @deftypefn {Mapping Function} {} cos (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
497 Compute the cosine for each element of @var{x} in radians.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
498 @seealso{acos, cosd, cosh}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
499 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
500 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
501 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
502 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
503 retval = args(0).cos ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
504 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
505 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
506
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
507 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
508 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
509
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
510 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
511 %!shared rt2, rt3
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
512 %! rt2 = sqrt (2);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
513 %! rt3 = sqrt (3);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
514
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
515 %!test
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
516 %! x = [0, pi/6, pi/4, pi/3, pi/2, 2*pi/3, 3*pi/4, 5*pi/6, pi];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
517 %! v = [1, rt3/2, rt2/2, 1/2, 0, -1/2, -rt2/2, -rt3/2, -1];
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
518 %! assert (cos (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
519
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
520 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
521 %! rt2 = sqrt (2);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
522 %! rt3 = sqrt (3);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
523 %! x = single ([0, pi/6, pi/4, pi/3, pi/2, 2*pi/3, 3*pi/4, 5*pi/6, pi]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
524 %! v = single ([1, rt3/2, rt2/2, 1/2, 0, -1/2, -rt2/2, -rt3/2, -1]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
525 %! assert (cos (x), v, sqrt (eps ("single")));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
526
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
527 %!error cos ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
528 %!error cos (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
529 */
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
530
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
531 DEFUN (cosh, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
532 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
533 @deftypefn {Mapping Function} {} cosh (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
534 Compute the hyperbolic cosine for each element of @var{x}.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
535 @seealso{acosh, sinh, tanh}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
536 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
537 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
538 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
539 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
540 retval = args(0).cosh ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
541 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
542 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
543
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
544 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
545 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
546
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
547 /*
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
548 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
549 %! x = [0, pi/2*i, pi*i, 3*pi/2*i];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
550 %! v = [1, 0, -1, 0];
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
551 %! assert (cosh (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
552
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
553 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
554 %! x = single ([0, pi/2*i, pi*i, 3*pi/2*i]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
555 %! v = single ([1, 0, -1, 0]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
556 %! assert (cosh (x), v, sqrt (eps ("single")));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
557
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
558 %!error cosh ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
559 %!error cosh (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
560 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
561
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
562 DEFUN (erf, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
563 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
564 @deftypefn {Mapping Function} {} erf (@var{z})\n\
11572
7d6d8c1e471f Grammarcheck Texinfo for files in src directory.
Rik <octave@nomad.inbox5.com>
parents: 11532
diff changeset
565 Compute the error function,\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
566 @tex\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
567 $$\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
568 {\\rm erf} (z) = {2 \\over \\sqrt{\\pi}}\\int_0^z e^{-t^2} dt\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
569 $$\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
570 @end tex\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
571 @ifnottex\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
572 \n\
9153
5247e89688e1 Eliminate most overfull errors when running texi2pdf for generating pdf documentation
Rik <rdrider0-list@yahoo.com>
parents: 9141
diff changeset
573 @example\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
574 @group\n\
14437
62a2ef6c09a4 doc: Correct spacing of integrals in Info version of docstrings.
Rik <octave@nomad.inbox5.com>
parents: 14429
diff changeset
575 z\n\
62a2ef6c09a4 doc: Correct spacing of integrals in Info version of docstrings.
Rik <octave@nomad.inbox5.com>
parents: 14429
diff changeset
576 2 /\n\
62a2ef6c09a4 doc: Correct spacing of integrals in Info version of docstrings.
Rik <octave@nomad.inbox5.com>
parents: 14429
diff changeset
577 erf (z) = --------- * | e^(-t^2) dt\n\
62a2ef6c09a4 doc: Correct spacing of integrals in Info version of docstrings.
Rik <octave@nomad.inbox5.com>
parents: 14429
diff changeset
578 sqrt (pi) /\n\
62a2ef6c09a4 doc: Correct spacing of integrals in Info version of docstrings.
Rik <octave@nomad.inbox5.com>
parents: 14429
diff changeset
579 t=0\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
580 @end group\n\
9153
5247e89688e1 Eliminate most overfull errors when running texi2pdf for generating pdf documentation
Rik <rdrider0-list@yahoo.com>
parents: 9141
diff changeset
581 @end example\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
582 \n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
583 @end ifnottex\n\
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
584 @seealso{erfc, erfcx, erfi, dawson, erfinv, erfcinv}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
585 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
586 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
587 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
588 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
589 retval = args(0).erf ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
590 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
591 print_usage ();
624
1a7dea6fa26b [project @ 1994-08-17 16:19:40 by jwe]
jwe
parents: 529
diff changeset
592
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
593 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
594 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
595
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
596 /*
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
597 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
598 %! a = -1i*sqrt (-1/(6.4187*6.4187));
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
599 %! assert (erf (a), erf (real (a)));
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
600
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
601 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
602 %! x = [0,.5,1];
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
603 %! v = [0, .520499877813047, .842700792949715];
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
604 %! assert (erf (x), v, 1.e-10);
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
605 %! assert (erf (-x), -v, 1.e-10);
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
606 %! assert (erfc (x), 1-v, 1.e-10);
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
607 %! assert (erfinv (v), x, 1.e-10);
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
608
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
609 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
610 %! a = -1i*sqrt (single (-1/(6.4187*6.4187)));
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
611 %! assert (erf (a), erf (real (a)));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
612
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
613 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
614 %! x = single ([0,.5,1]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
615 %! v = single ([0, .520499877813047, .842700792949715]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
616 %! assert (erf (x), v, 1.e-6);
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
617 %! assert (erf (-x), -v, 1.e-6);
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
618 %! assert (erfc (x), 1-v, 1.e-6);
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
619 %! assert (erfinv (v), x, 1.e-6);
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
620
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
621 %!test
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
622 %! x = [1+2i,-1+2i,1e-6+2e-6i,0+2i];
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
623 %! v = [-0.53664356577857-5.04914370344703i, 0.536643565778565-5.04914370344703i, 0.112837916709965e-5+0.225675833419178e-5i, 18.5648024145755526i];
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
624 %! assert (erf (x), v, -1.e-10);
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
625 %! assert (erf (-x), -v, -1.e-10);
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
626 %! assert (erfc (x), 1-v, -1.e-10);
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
627
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
628 %!error erf ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
629 %!error erf (1, 2)
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
630 */
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
631
9835
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
632 DEFUN (erfinv, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
633 "-*- texinfo -*-\n\
9835
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
634 @deftypefn {Mapping Function} {} erfinv (@var{x})\n\
11572
7d6d8c1e471f Grammarcheck Texinfo for files in src directory.
Rik <octave@nomad.inbox5.com>
parents: 11532
diff changeset
635 Compute the inverse error function, i.e., @var{y} such that\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
636 \n\
9835
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
637 @example\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
638 erf (@var{y}) == @var{x}\n\
9835
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
639 @end example\n\
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
640 @seealso{erf, erfc, erfcx, erfi, dawson, erfcinv}\n\
9835
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
641 @end deftypefn")
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
642 {
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
643 octave_value retval;
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
644 if (args.length () == 1)
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
645 retval = args(0).erfinv ();
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
646 else
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
647 print_usage ();
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
648
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
649 return retval;
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
650 }
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
651
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
652 /*
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
653 ## middle region
10049
44e889c67abe mappers.cc: Change test tolerance from 1e-16 to eps.
Ben Abbott <bpabbott@mac.com>
parents: 9835
diff changeset
654 %!assert (erf (erfinv ([-0.9 -0.3 0 0.4 0.8])), [-0.9 -0.3 0 0.4 0.8], eps)
14771
10ed11922f19 maint: code cleanup for new erfcinv function.
Rik <octave@nomad.inbox5.com>
parents: 14770
diff changeset
655 %!assert (erf (erfinv (single ([-0.9 -0.3 0 0.4 0.8]))), single ([-0.9 -0.3 0 0.4 0.8]), eps ("single"))
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
656 ## tail region
10049
44e889c67abe mappers.cc: Change test tolerance from 1e-16 to eps.
Ben Abbott <bpabbott@mac.com>
parents: 9835
diff changeset
657 %!assert (erf (erfinv ([-0.999 -0.99 0.9999 0.99999])), [-0.999 -0.99 0.9999 0.99999], eps)
14771
10ed11922f19 maint: code cleanup for new erfcinv function.
Rik <octave@nomad.inbox5.com>
parents: 14770
diff changeset
658 %!assert (erf (erfinv (single ([-0.999 -0.99 0.9999 0.99999]))), single ([-0.999 -0.99 0.9999 0.99999]), eps ("single"))
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
659 ## backward - loss of accuracy
9835
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
660 %!assert (erfinv (erf ([-3 -1 -0.4 0.7 1.3 2.8])), [-3 -1 -0.4 0.7 1.3 2.8], -1e-12)
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
661 %!assert (erfinv (erf (single ([-3 -1 -0.4 0.7 1.3 2.8]))), single ([-3 -1 -0.4 0.7 1.3 2.8]), -1e-4)
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
662 ## exceptional
9835
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
663 %!assert (erfinv ([-1, 1, 1.1, -2.1]), [-Inf, Inf, NaN, NaN])
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
664 %!error erfinv (1+2i)
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
665
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
666 %!error erfinv ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
667 %!error erfinv (1, 2)
9835
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
668 */
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
669
14770
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
670 DEFUN (erfcinv, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
671 "-*- texinfo -*-\n\
14770
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
672 @deftypefn {Mapping Function} {} erfcinv (@var{x})\n\
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
673 Compute the inverse complementary error function, i.e., @var{y} such that\n\
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
674 \n\
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
675 @example\n\
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
676 erfc (@var{y}) == @var{x}\n\
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
677 @end example\n\
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
678 @seealso{erfc, erf, erfcx, erfi, dawson, erfinv}\n\
14770
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
679 @end deftypefn")
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
680 {
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
681 octave_value retval;
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
682 if (args.length () == 1)
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
683 retval = args(0).erfcinv ();
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
684 else
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
685 print_usage ();
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
686
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
687 return retval;
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
688 }
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
689
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
690 /*
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
691 ## middle region
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
692 %!assert (erfc (erfcinv ([1.9 1.3 1 0.6 0.2])), [1.9 1.3 1 0.6 0.2], eps)
14771
10ed11922f19 maint: code cleanup for new erfcinv function.
Rik <octave@nomad.inbox5.com>
parents: 14770
diff changeset
693 %!assert (erfc (erfcinv (single ([1.9 1.3 1 0.6 0.2]))), single ([1.9 1.3 1 0.6 0.2]), eps ("single"))
14770
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
694 ## tail region
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
695 %!assert (erfc (erfcinv ([0.001 0.01 1.9999 1.99999])), [0.001 0.01 1.9999 1.99999], eps)
14771
10ed11922f19 maint: code cleanup for new erfcinv function.
Rik <octave@nomad.inbox5.com>
parents: 14770
diff changeset
696 %!assert (erfc (erfcinv (single ([0.001 0.01 1.9999 1.99999]))), single ([0.001 0.01 1.9999 1.99999]), eps ("single"))
14770
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
697 ## backward - loss of accuracy
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
698 %!assert (erfcinv (erfc ([-3 -1 -0.4 0.7 1.3 2.8])), [-3 -1 -0.4 0.7 1.3 2.8], -1e-12)
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
699 %!assert (erfcinv (erfc (single ([-3 -1 -0.4 0.7 1.3 2.8]))), single ([-3 -1 -0.4 0.7 1.3 2.8]), -1e-4)
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
700 ## exceptional
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
701 %!assert (erfcinv ([2, 0, -0.1, 2.1]), [-Inf, Inf, NaN, NaN])
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
702 %!error erfcinv (1+2i)
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
703
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
704 %!error erfcinv ()
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
705 %!error erfcinv (1, 2)
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
706 */
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14437
diff changeset
707
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
708 DEFUN (erfc, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
709 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
710 @deftypefn {Mapping Function} {} erfc (@var{z})\n\
11572
7d6d8c1e471f Grammarcheck Texinfo for files in src directory.
Rik <octave@nomad.inbox5.com>
parents: 11532
diff changeset
711 Compute the complementary error function,\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
712 @tex\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
713 $1 - {\\rm erf} (z)$.\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
714 @end tex\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
715 @ifnottex\n\
12654
20e64dab6896 doc: Correct spacing in erf and gamma documentation in INFO mode.
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
716 @w{@code{1 - erf (@var{z})}}.\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
717 @end ifnottex\n\
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
718 @seealso{erfcinv, erfcx, erfi, dawson, erf, erfinv}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
719 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
720 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
721 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
722 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
723 retval = args(0).erfc ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
724 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
725 print_usage ();
624
1a7dea6fa26b [project @ 1994-08-17 16:19:40 by jwe]
jwe
parents: 529
diff changeset
726
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
727 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
728 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
729
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
730 /*
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
731 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
732 %! a = -1i*sqrt (-1/(6.4187*6.4187));
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
733 %! assert (erfc (a), erfc (real (a)));
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
734
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
735 %!error erfc ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
736 %!error erfc (1, 2)
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
737 */
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
738
10391
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
739 DEFUN (erfcx, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
740 "-*- texinfo -*-\n\
10391
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
741 @deftypefn {Mapping Function} {} erfcx (@var{z})\n\
11572
7d6d8c1e471f Grammarcheck Texinfo for files in src directory.
Rik <octave@nomad.inbox5.com>
parents: 11532
diff changeset
742 Compute the scaled complementary error function,\n\
10391
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
743 @tex\n\
12660
eae41900ca01 Use correct definition of erfcx in documentation.
Rik <octave@nomad.inbox5.com>
parents: 12654
diff changeset
744 $$\n\
eae41900ca01 Use correct definition of erfcx in documentation.
Rik <octave@nomad.inbox5.com>
parents: 12654
diff changeset
745 e^{z^2} {\\rm erfc} (z) \\equiv e^{z^2} (1 - {\\rm erf} (z))\n\
eae41900ca01 Use correct definition of erfcx in documentation.
Rik <octave@nomad.inbox5.com>
parents: 12654
diff changeset
746 $$\n\
10391
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
747 @end tex\n\
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
748 @ifnottex\n\
12660
eae41900ca01 Use correct definition of erfcx in documentation.
Rik <octave@nomad.inbox5.com>
parents: 12654
diff changeset
749 \n\
eae41900ca01 Use correct definition of erfcx in documentation.
Rik <octave@nomad.inbox5.com>
parents: 12654
diff changeset
750 @example\n\
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
751 exp (z^2) * erfc (z)\n\
12660
eae41900ca01 Use correct definition of erfcx in documentation.
Rik <octave@nomad.inbox5.com>
parents: 12654
diff changeset
752 @end example\n\
eae41900ca01 Use correct definition of erfcx in documentation.
Rik <octave@nomad.inbox5.com>
parents: 12654
diff changeset
753 \n\
10391
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
754 @end ifnottex\n\
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
755 @seealso{erfc, erf, erfi, dawson, erfinv, erfcinv}\n\
10391
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
756 @end deftypefn")
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
757 {
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
758 octave_value retval;
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
759 if (args.length () == 1)
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
760 retval = args(0).erfcx ();
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
761 else
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
762 print_usage ();
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
763
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
764 return retval;
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
765 }
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10160
diff changeset
766
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
767 /*
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
768
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
769 %!test
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
770 %! x = [1+2i,-1+2i,1e-6+2e-6i,0+2i];
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
771 %! assert (erfcx (x), exp (x.^2) .* erfc(x), -1.e-10);
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
772
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
773 %!test
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
774 %! x = [100, 100+20i];
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
775 %! v = [0.0056416137829894329, 0.0054246791754558-0.00108483153786434i];
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
776 %! assert (erfcx (x), v, -1.e-10);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
777
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
778 %!error erfcx ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
779 %!error erfcx (1, 2)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
780 */
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
781
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
782 DEFUN (erfi, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
783 "-*- texinfo -*-\n\
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
784 @deftypefn {Mapping Function} {} erfi (@var{z})\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
785 Compute the imaginary error function,\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
786 @tex\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
787 $$\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
788 -i {\\rm erf} (iz) \n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
789 $$\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
790 @end tex\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
791 @ifnottex\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
792 \n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
793 @example\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
794 -i * erf (i*z)\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
795 @end example\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
796 \n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
797 @end ifnottex\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
798 @seealso{erfc, erf, erfcx, dawson, erfinv, erfcinv}\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
799 @end deftypefn")
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
800 {
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
801 octave_value retval;
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
802 if (args.length () == 1)
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
803 retval = args(0).erfi ();
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
804 else
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
805 print_usage ();
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
806
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
807 return retval;
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
808 }
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
809
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
810 /*
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
811
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
812 %!test
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
813 %! x = [-0.1, 0.1, 1, 1+2i,-1+2i,1e-6+2e-6i,0+2i];
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
814 %! assert (erfi (x), -i * erf(i*x), -1.e-10);
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
815
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
816 %!error erfi ()
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
817 %!error erfi (1, 2)
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
818 */
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
819
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
820 DEFUN (dawson, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
821 "-*- texinfo -*-\n\
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
822 @deftypefn {Mapping Function} {} dawson (@var{z})\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
823 Compute the Dawson (scaled imaginary error) function,\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
824 @tex\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
825 $$\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
826 {\\sqrt{\\pi} \\over 2} e^{-z^2} {\\rm erfi} (z) \\equiv -i {\\sqrt{\\pi} \\over 2} e^{-z^2} {\\rm erf} (iz)\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
827 $$\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
828 @end tex\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
829 @ifnottex\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
830 \n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
831 @example\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
832 (sqrt (pi) / 2) * exp (-z^2) * erfi (z)\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
833 @end example\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
834 \n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
835 @end ifnottex\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
836 @seealso{erfc, erf, erfcx, erfi, erfinv, erfcinv}\n\
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
837 @end deftypefn")
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
838 {
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
839 octave_value retval;
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
840 if (args.length () == 1)
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
841 retval = args(0).dawson ();
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
842 else
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
843 print_usage ();
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
844
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
845 return retval;
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
846 }
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
847
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
848 /*
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
849
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
850 %!test
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
851 %! x = [0.1, 1, 1+2i,-1+2i,1e-4+2e-4i,0+2i];
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
852 %! v = [0.099335992397852861, 0.53807950691, -13.38892731648-11.828715104i, 13.38892731648-11.828715104i, 0.0001000000073333+0.000200000001333i, 48.160012114291i];
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
853 %! assert (dawson (x), v, -1.e-10);
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
854 %! assert (dawson (-x), -v, -1.e-10);
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
855
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
856 %!error dawson ()
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
857 %!error dawson (1, 2)
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
858 */
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15500
diff changeset
859
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
860 DEFUN (exp, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
861 "-*- texinfo -*-\n\
3373
36405da8e173 [project @ 1999-11-23 20:54:17 by jwe]
jwe
parents: 3369
diff changeset
862 @deftypefn {Mapping Function} {} exp (@var{x})\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
863 Compute\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
864 @tex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
865 $e^{x}$\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
866 @end tex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
867 @ifnottex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
868 @code{e^x}\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
869 @end ifnottex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
870 for each element of @var{x}. To compute the matrix\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
871 exponential, see @ref{Linear Algebra}.\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
872 @seealso{log}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
873 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
874 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
875 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
876 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
877 retval = args(0).exp ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
878 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
879 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
880
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
881 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
882 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
883
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
884 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
885 %!assert (exp ([0, 1, -1, -1000]), [1, e, 1/e, 0], sqrt (eps))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
886 %!assert (exp (1+i), e * (cos (1) + sin (1) * i), sqrt (eps))
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
887 %!assert (exp (single ([0, 1, -1, -1000])), single ([1, e, 1/e, 0]), sqrt (eps ("single")))
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
888 %!assert (exp (single (1+i)), single (e * (cos (1) + sin (1) * i)), sqrt (eps ("single")))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
889
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
890 %!assert (exp ([Inf, -Inf, NaN]), [Inf 0 NaN])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
891 %!assert (exp (single ([Inf, -Inf, NaN])), single ([Inf 0 NaN]))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
892
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
893 %!error exp ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
894 %!error exp (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
895 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
896
7638
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
897 DEFUN (expm1, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
898 "-*- texinfo -*-\n\
7638
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
899 @deftypefn {Mapping Function} {} expm1 (@var{x})\n\
9167
1231b1762a9a Simplify TeXinfo and eliminate use of @iftex in arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9165
diff changeset
900 Compute\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
901 @tex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
902 $ e^{x} - 1 $\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
903 @end tex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
904 @ifnottex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
905 @code{exp (@var{x}) - 1}\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
906 @end ifnottex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
907 accurately in the neighborhood of zero.\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
908 @seealso{exp}\n\
7638
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
909 @end deftypefn")
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
910 {
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
911 octave_value retval;
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
912 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
913 retval = args(0).expm1 ();
7638
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
914 else
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
915 print_usage ();
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
916
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
917 return retval;
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
918 }
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
919
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
920 /*
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
921 %!assert (expm1 (2*eps), 2*eps, 1e-29)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
922
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
923 %!assert (expm1 ([Inf, -Inf, NaN]), [Inf -1 NaN])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
924 %!assert (expm1 (single ([Inf, -Inf, NaN])), single ([Inf -1 NaN]))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
925
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
926 %!error expm1 ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
927 %!error expm1 (1, 2)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
928 */
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
929
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
930 DEFUN (isfinite, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
931 "-*- texinfo -*-\n\
19117
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
932 @deftypefn {Mapping Function} {} isfinite (@var{x})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
933 Return a logical array which is true where the elements of @var{x} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
934 finite values and false where they are not.\n\
19117
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
935 \n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
936 For example:\n\
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
937 \n\
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
938 @example\n\
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
939 @group\n\
19117
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
940 isfinite ([13, Inf, NA, NaN])\n\
5016
bdbee5282954 [project @ 2004-09-22 02:50:35 by jwe]
jwe
parents: 4968
diff changeset
941 @result{} [ 1, 0, 0, 0 ]\n\
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
942 @end group\n\
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
943 @end example\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
944 @seealso{isinf, isnan, isna}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
945 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
946 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
947 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
948 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
949 retval = args(0).finite ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
950 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
951 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
952
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
953 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
954 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
955
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
956 /*
19117
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
957 %!assert (!isfinite (Inf))
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
958 %!assert (!isfinite (NaN))
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
959 %!assert (isfinite (rand (1,10)))
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
960
19117
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
961 %!assert (!isfinite (single (Inf)))
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
962 %!assert (!isfinite (single (NaN)))
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
963 %!assert (isfinite (single (rand (1,10))))
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
964
19117
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
965 %!error isfinite ()
a4c226a963c5 Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents: 18812
diff changeset
966 %!error isfinite (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
967 */
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
968
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
969 DEFUN (fix, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
970 "-*- texinfo -*-\n\
3373
36405da8e173 [project @ 1999-11-23 20:54:17 by jwe]
jwe
parents: 3369
diff changeset
971 @deftypefn {Mapping Function} {} fix (@var{x})\n\
9165
8c71a86c4bf4 Update section 17.5 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9155
diff changeset
972 Truncate fractional portion of @var{x} and return the integer portion. This\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
973 is equivalent to rounding towards zero. If @var{x} is complex, return\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
974 @code{fix (real (@var{x})) + fix (imag (@var{x})) * I}.\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
975 \n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
976 @example\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
977 @group\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
978 fix ([-2.7, 2.7])\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
979 @result{} -2 2\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
980 @end group\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
981 @end example\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
982 @seealso{ceil, floor, round}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
983 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
984 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
985 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
986 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
987 retval = args(0).fix ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
988 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
989 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
990
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
991 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
992 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
993
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
994 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
995 %!assert (fix ([1.1, 1, -1.1, -1]), [1, 1, -1, -1])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
996 %!assert (fix ([1.1+1.1i, 1+i, -1.1-1.1i, -1-i]), [1+i, 1+i, -1-i, -1-i])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
997 %!assert (fix (single ([1.1, 1, -1.1, -1])), single ([1, 1, -1, -1]))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
998 %!assert (fix (single ([1.1+1.1i, 1+i, -1.1-1.1i, -1-i])), single ([1+i, 1+i, -1-i, -1-i]))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
999
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1000 %!error fix ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1001 %!error fix (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1002 */
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1003
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1004 DEFUN (floor, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1005 "-*- texinfo -*-\n\
3373
36405da8e173 [project @ 1999-11-23 20:54:17 by jwe]
jwe
parents: 3369
diff changeset
1006 @deftypefn {Mapping Function} {} floor (@var{x})\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1007 Return the largest integer not greater than @var{x}. This is equivalent to\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1008 rounding towards negative infinity. If @var{x} is\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1009 complex, return @code{floor (real (@var{x})) + floor (imag (@var{x})) * I}.\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
1010 \n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1011 @example\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1012 @group\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1013 floor ([-2.7, 2.7])\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
1014 @result{} -3 2\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1015 @end group\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1016 @end example\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1017 @seealso{ceil, round, fix}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1018 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1019 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1020 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1021 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1022 retval = args(0).floor ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1023 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1024 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1025
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1026 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1027 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1028
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1029 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1030 %!assert (floor ([2, 1.1, -1.1, -1]), [2, 1, -2, -1])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1031 %!assert (floor ([2+2i, 1.1+1.1i, -1.1-1.1i, -1-i]), [2+2i, 1+i, -2-2i, -1-i])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1032 %!assert (floor (single ([2, 1.1, -1.1, -1])), single ([2, 1, -2, -1]))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1033 %!assert (floor (single ([2+2i, 1.1+1.1i, -1.1-1.1i, -1-i])), single ([2+2i, 1+i, -2-2i, -1-i]))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1034
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1035 %!error floor ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1036 %!error floor (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1037 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1038
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1039 DEFUN (gamma, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1040 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1041 @deftypefn {Mapping Function} {} gamma (@var{z})\n\
11572
7d6d8c1e471f Grammarcheck Texinfo for files in src directory.
Rik <octave@nomad.inbox5.com>
parents: 11532
diff changeset
1042 Compute the Gamma function,\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1043 @tex\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1044 $$\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1045 \\Gamma (z) = \\int_0^\\infty t^{z-1} e^{-t} dt.\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1046 $$\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1047 @end tex\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
1048 @ifnottex\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1049 \n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1050 @example\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 9041
diff changeset
1051 @group\n\
14437
62a2ef6c09a4 doc: Correct spacing of integrals in Info version of docstrings.
Rik <octave@nomad.inbox5.com>
parents: 14429
diff changeset
1052 infinity\n\
62a2ef6c09a4 doc: Correct spacing of integrals in Info version of docstrings.
Rik <octave@nomad.inbox5.com>
parents: 14429
diff changeset
1053 /\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1054 gamma (z) = | t^(z-1) exp (-t) dt.\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
1055 /\n\
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
1056 t=0\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 9041
diff changeset
1057 @end group\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1058 @end example\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
1059 \n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
1060 @end ifnottex\n\
19151
e09318118fd6 doc: Add note to gamma docstring about using gammaln when input is large.
Rik <rik@octave.org>
parents: 19117
diff changeset
1061 \n\
e09318118fd6 doc: Add note to gamma docstring about using gammaln when input is large.
Rik <rik@octave.org>
parents: 19117
diff changeset
1062 Programming Note: The gamma function can grow quite large even for small\n\
e09318118fd6 doc: Add note to gamma docstring about using gammaln when input is large.
Rik <rik@octave.org>
parents: 19117
diff changeset
1063 input values. In many cases it may be preferable to use the natural\n\
e09318118fd6 doc: Add note to gamma docstring about using gammaln when input is large.
Rik <rik@octave.org>
parents: 19117
diff changeset
1064 logarithm of the gamma function (@code{gammaln}) in calculations to minimize\n\
e09318118fd6 doc: Add note to gamma docstring about using gammaln when input is large.
Rik <rik@octave.org>
parents: 19117
diff changeset
1065 loss of precision. The final result is then\n\
e09318118fd6 doc: Add note to gamma docstring about using gammaln when input is large.
Rik <rik@octave.org>
parents: 19117
diff changeset
1066 @code{exp (@var{result_using_gammaln}).}\n\
e09318118fd6 doc: Add note to gamma docstring about using gammaln when input is large.
Rik <rik@octave.org>
parents: 19117
diff changeset
1067 @seealso{gammainc, gammaln, factorial}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1068 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1069 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1070 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1071 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1072 retval = args(0).gamma ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1073 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1074 print_usage ();
624
1a7dea6fa26b [project @ 1994-08-17 16:19:40 by jwe]
jwe
parents: 529
diff changeset
1075
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1076 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1077 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1078
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1079 /*
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1080 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1081 %! a = -1i*sqrt (-1/(6.4187*6.4187));
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1082 %! assert (gamma (a), gamma (real (a)));
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1083
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1084 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1085 %! x = [.5, 1, 1.5, 2, 3, 4, 5];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1086 %! v = [sqrt(pi), 1, .5*sqrt(pi), 1, 2, 6, 24];
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1087 %! assert (gamma (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1088
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1089 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1090 %! a = single (-1i*sqrt (-1/(6.4187*6.4187)));
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1091 %! assert (gamma (a), gamma (real (a)));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1092
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1093 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1094 %! x = single ([.5, 1, 1.5, 2, 3, 4, 5]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1095 %! v = single ([sqrt(pi), 1, .5*sqrt(pi), 1, 2, 6, 24]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1096 %! assert (gamma (x), v, sqrt (eps ("single")));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1097
10903
9f0f1a89c704 Add new %!tests for negative integer arguments to gamma, lgamma.
Rik <octave@nomad.inbox5.com>
parents: 10840
diff changeset
1098 %!test
17708
f10b7a578e2c Correct return values of gamma() (see Numerical, item 3 on Projects page).
Craig Hudson <c_hudson_phd@hotmail.com>
parents: 16816
diff changeset
1099 %! ## Test exceptional values
f10b7a578e2c Correct return values of gamma() (see Numerical, item 3 on Projects page).
Craig Hudson <c_hudson_phd@hotmail.com>
parents: 16816
diff changeset
1100 %! x = [-Inf, -1, -0, 0, 1, Inf, NaN];
f10b7a578e2c Correct return values of gamma() (see Numerical, item 3 on Projects page).
Craig Hudson <c_hudson_phd@hotmail.com>
parents: 16816
diff changeset
1101 %! v = [NaN, NaN, -Inf, Inf, 1, Inf, NaN];
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1102 %! assert (gamma (x), v);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1103 %! assert (gamma (single (x)), single (v));
10903
9f0f1a89c704 Add new %!tests for negative integer arguments to gamma, lgamma.
Rik <octave@nomad.inbox5.com>
parents: 10840
diff changeset
1104
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1105 %!error gamma ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1106 %!error gamma (1, 2)
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1107 */
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1108
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1109 DEFUN (imag, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1110 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1111 @deftypefn {Mapping Function} {} imag (@var{z})\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1112 Return the imaginary part of @var{z} as a real number.\n\
5642
2618a0750ae6 [project @ 2006-03-06 21:26:48 by jwe]
jwe
parents: 5518
diff changeset
1113 @seealso{real, conj}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1114 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1115 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1116 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1117 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1118 retval = args(0).imag ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1119 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1120 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1121
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1122 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1123 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1124
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1125 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1126 %!assert (imag (1), 0)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1127 %!assert (imag (i), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1128 %!assert (imag (1+i), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1129 %!assert (imag ([i, 1; 1, i]), full (eye (2)))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1130
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1131 %!assert (imag (single (1)), single (0))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1132 %!assert (imag (single (i)), single (1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1133 %!assert (imag (single (1+i)), single (1))
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1134 %!assert (imag (single ([i, 1; 1, i])), full (eye (2,"single")))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1135
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1136 %!error imag ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1137 %!error imag (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1138 */
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1139
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1140 DEFUNX ("isalnum", Fisalnum, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1141 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1142 @deftypefn {Mapping Function} {} isalnum (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1143 Return a logical array which is true where the elements of @var{s} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1144 letters or digits and false where they are not. This is equivalent to\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1145 (@code{isalpha (@var{s}) | isdigit (@var{s})}).\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1146 @seealso{isalpha, isdigit, ispunct, isspace, iscntrl}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1147 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1148 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1149 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1150 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1151 retval = args(0).xisalnum ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1152 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1153 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1154
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1155 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1156 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1157
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1158 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1159 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1160 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1161 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1162 %! result(toascii ("A":"Z") + 1) = true;
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1163 %! result(toascii ("0":"9") + 1) = true;
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1164 %! result(toascii ("a":"z") + 1) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1165 %! assert (isalnum (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1166
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1167 %!error isalnum ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1168 %!error isalnum (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1169 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1170
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1171 DEFUNX ("isalpha", Fisalpha, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1172 "-*- texinfo -*-\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1173 @deftypefn {Mapping Function} {} isalpha (@var{s})\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1174 Return a logical array which is true where the elements of @var{s} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1175 letters and false where they are not. This is equivalent to\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1176 (@code{islower (@var{s}) | isupper (@var{s})}).\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1177 @seealso{isdigit, ispunct, isspace, iscntrl, isalnum, islower, isupper}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1178 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1179 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1180 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1181 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1182 retval = args(0).xisalpha ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1183 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1184 print_usage ();
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1185
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1186 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1187 }
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1188
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1189 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1190 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1191 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1192 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1193 %! result(toascii ("A":"Z") + 1) = true;
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1194 %! result(toascii ("a":"z") + 1) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1195 %! assert (isalpha (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1196
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1197 %!error isalpha ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1198 %!error isalpha (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1199 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1200
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1201 DEFUNX ("isascii", Fisascii, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1202 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1203 @deftypefn {Mapping Function} {} isascii (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1204 Return a logical array which is true where the elements of @var{s} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1205 ASCII characters (in the range 0 to 127 decimal) and false where they are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1206 not.\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1207 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1208 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1209 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1210 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1211 retval = args(0).xisascii ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1212 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1213 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1214
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1215 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1216 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1217
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1218 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1219 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1220 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1221 %! result = true (1, 128);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1222 %! assert (isascii (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1223
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1224 %!error isascii ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1225 %!error isascii (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1226 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1227
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1228 DEFUNX ("iscntrl", Fiscntrl, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1229 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1230 @deftypefn {Mapping Function} {} iscntrl (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1231 Return a logical array which is true where the elements of @var{s} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1232 control characters and false where they are not.\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1233 @seealso{ispunct, isspace, isalpha, isdigit}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1234 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1235 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1236 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1237 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1238 retval = args(0).xiscntrl ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1239 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1240 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1241
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1242 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1243 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1244
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1245 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1246 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1247 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1248 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1249 %! result(1:32) = true;
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1250 %! result(128) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1251 %! assert (iscntrl (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1252
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1253 %!error iscntrl ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1254 %!error iscntrl (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1255 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1256
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1257 DEFUNX ("isdigit", Fisdigit, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1258 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1259 @deftypefn {Mapping Function} {} isdigit (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1260 Return a logical array which is true where the elements of @var{s} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1261 decimal digits (0-9) and false where they are not.\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1262 @seealso{isxdigit, isalpha, isletter, ispunct, isspace, iscntrl}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1263 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1264 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1265 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1266 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1267 retval = args(0).xisdigit ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1268 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1269 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1270
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1271 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1272 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1273
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1274 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1275 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1276 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1277 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1278 %! result(toascii ("0":"9") + 1) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1279 %! assert (isdigit (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1280
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1281 %!error isdigit ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1282 %!error isdigit (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1283 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1284
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1285 DEFUN (isinf, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1286 "-*- texinfo -*-\n\
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1287 @deftypefn {Mapping Function} {} isinf (@var{x})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1288 Return a logical array which is true where the elements of @var{x} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1289 are infinite and false where they are not.\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1290 For example:\n\
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1291 \n\
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1292 @example\n\
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1293 @group\n\
4025
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1294 isinf ([13, Inf, NA, NaN])\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
1295 @result{} [ 0, 1, 0, 0 ]\n\
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1296 @end group\n\
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1297 @end example\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1298 @seealso{isfinite, isnan, isna}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1299 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1300 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1301 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1302 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1303 retval = args(0).isinf ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1304 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1305 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1306
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1307 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1308 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1309
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
1310 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1311 %!assert (isinf (Inf))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1312 %!assert (!isinf (NaN))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1313 %!assert (!isinf (NA))
14861
f7afecdd87ef maint: Use Octave coding conventions for cuddling parentheses in src/ directory
Rik <octave@nomad.inbox5.com>
parents: 14817
diff changeset
1314 %!assert (isinf (rand (1,10)), false (1,10))
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1315 %!assert (isinf ([NaN -Inf -1 0 1 Inf NA]), [false, true, false, false, false, true, false])
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
1316
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1317 %!assert (isinf (single (Inf)))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1318 %!assert (!isinf (single (NaN)))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1319 %!assert (!isinf (single (NA)))
14861
f7afecdd87ef maint: Use Octave coding conventions for cuddling parentheses in src/ directory
Rik <octave@nomad.inbox5.com>
parents: 14817
diff changeset
1320 %!assert (isinf (single (rand (1,10))), false (1,10))
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1321 %!assert (isinf (single ([NaN -Inf -1 0 1 Inf NA])), [false, true, false, false, false, true, false])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1322
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1323 %!error isinf ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1324 %!error isinf (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1325 */
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
1326
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1327 DEFUNX ("isgraph", Fisgraph, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1328 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1329 @deftypefn {Mapping Function} {} isgraph (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1330 Return a logical array which is true where the elements of @var{s} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1331 printable characters (but not the space character) and false where they are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1332 not.\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1333 @seealso{isprint}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1334 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1335 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1336 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1337 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1338 retval = args(0).xisgraph ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1339 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1340 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1341
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1342 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1343 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1344
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1345 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1346 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1347 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1348 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1349 %! result(34:127) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1350 %! assert (isgraph (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1351
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1352 %!error isgraph ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1353 %!error isgraph (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1354 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1355
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1356 DEFUNX ("islower", Fislower, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1357 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1358 @deftypefn {Mapping Function} {} islower (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1359 Return a logical array which is true where the elements of @var{s} are\n\
12642
f96b9b9f141b doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents: 12636
diff changeset
1360 lowercase letters and false where they are not.\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1361 @seealso{isupper, isalpha, isletter, isalnum}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1362 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1363 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1364 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1365 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1366 retval = args(0).xislower ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1367 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1368 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1369
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1370 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1371 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1372
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1373 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1374 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1375 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1376 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1377 %! result(toascii ("a":"z") + 1) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1378 %! assert (islower (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1379
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1380 %!error islower ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1381 %!error islower (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1382 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1383
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1384 DEFUN (isna, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1385 "-*- texinfo -*-\n\
4025
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1386 @deftypefn {Mapping Function} {} isna (@var{x})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1387 Return a logical array which is true where the elements of @var{x} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1388 NA (missing) values and false where they are not.\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1389 For example:\n\
4025
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1390 \n\
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1391 @example\n\
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1392 @group\n\
6218
c1b66b74937d [project @ 2006-12-27 17:43:50 by jwe]
jwe
parents: 6206
diff changeset
1393 isna ([13, Inf, NA, NaN])\n\
4025
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1394 @result{} [ 0, 0, 1, 0 ]\n\
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1395 @end group\n\
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1396 @end example\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1397 @seealso{isnan, isinf, isfinite}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1398 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1399 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1400 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1401 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1402 retval = args(0).isna ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1403 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1404 print_usage ();
4025
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1405
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1406 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1407 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1408
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
1409 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1410 %!assert (!isna (Inf))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1411 %!assert (!isna (NaN))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1412 %!assert (isna (NA))
14861
f7afecdd87ef maint: Use Octave coding conventions for cuddling parentheses in src/ directory
Rik <octave@nomad.inbox5.com>
parents: 14817
diff changeset
1413 %!assert (isna (rand (1,10)), false (1,10))
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1414 %!assert (isna ([NaN -Inf -1 0 1 Inf NA]), [false, false, false, false, false, false, true])
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
1415
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1416 %!assert (!isna (single (Inf)))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1417 %!assert (!isna (single (NaN)))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1418 %!assert (isna (single (NA)))
14861
f7afecdd87ef maint: Use Octave coding conventions for cuddling parentheses in src/ directory
Rik <octave@nomad.inbox5.com>
parents: 14817
diff changeset
1419 %!assert (isna (single (rand (1,10))), false (1,10))
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1420 %!assert (isna (single ([NaN -Inf -1 0 1 Inf NA])), [false, false, false, false, false, false, true])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1421
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1422 %!error isna ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1423 %!error isna (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1424 */
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
1425
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1426 DEFUN (isnan, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1427 "-*- texinfo -*-\n\
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1428 @deftypefn {Mapping Function} {} isnan (@var{x})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1429 Return a logical array which is true where the elements of @var{x} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1430 NaN values and false where they are not.\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1431 NA values are also considered NaN values. For example:\n\
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1432 \n\
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1433 @example\n\
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1434 @group\n\
4025
cfb762dc9259 [project @ 2002-08-09 06:32:15 by jwe]
jwe
parents: 3775
diff changeset
1435 isnan ([13, Inf, NA, NaN])\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
1436 @result{} [ 0, 0, 1, 1 ]\n\
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1437 @end group\n\
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3368
diff changeset
1438 @end example\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1439 @seealso{isna, isinf, isfinite}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1440 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1441 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1442 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1443 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1444 retval = args(0).isnan ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1445 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1446 print_usage ();
624
1a7dea6fa26b [project @ 1994-08-17 16:19:40 by jwe]
jwe
parents: 529
diff changeset
1447
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1448 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1449 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1450
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
1451 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1452 %!assert (!isnan (Inf))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1453 %!assert (isnan (NaN))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1454 %!assert (isnan (NA))
14861
f7afecdd87ef maint: Use Octave coding conventions for cuddling parentheses in src/ directory
Rik <octave@nomad.inbox5.com>
parents: 14817
diff changeset
1455 %!assert (isnan (rand (1,10)), false (1,10))
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1456 %!assert (isnan ([NaN -Inf -1 0 1 Inf NA]), [true, false, false, false, false, false, true])
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
1457
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1458 %!assert (!isnan (single (Inf)))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1459 %!assert (isnan (single (NaN)))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1460 %!assert (isnan (single (NA)))
14861
f7afecdd87ef maint: Use Octave coding conventions for cuddling parentheses in src/ directory
Rik <octave@nomad.inbox5.com>
parents: 14817
diff changeset
1461 %!assert (isnan (single (rand (1,10))), false (1,10))
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1462 %!assert (isnan (single ([NaN -Inf -1 0 1 Inf NA])), [true, false, false, false, false, false, true])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1463
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1464 %!error isnan ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1465 %!error isnan (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1466 */
7814
87865ed7405f Second set of single precision test code and fix of resulting bugs
David Bateman <dbateman@free.fr>
parents: 7667
diff changeset
1467
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1468 DEFUNX ("isprint", Fisprint, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1469 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1470 @deftypefn {Mapping Function} {} isprint (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1471 Return a logical array which is true where the elements of @var{s} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1472 printable characters (including the space character) and false where they\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1473 are not.\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1474 @seealso{isgraph}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1475 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1476 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1477 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1478 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1479 retval = args(0).xisprint ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1480 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1481 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1482
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1483 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1484 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1485
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1486 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1487 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1488 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1489 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1490 %! result(33:127) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1491 %! assert (isprint (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1492
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1493 %!error isprint ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1494 %!error isprint (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1495 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1496
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1497 DEFUNX ("ispunct", Fispunct, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1498 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1499 @deftypefn {Mapping Function} {} ispunct (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1500 Return a logical array which is true where the elements of @var{s} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1501 punctuation characters and false where they are not.\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1502 @seealso{isalpha, isdigit, isspace, iscntrl}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1503 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1504 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1505 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1506 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1507 retval = args(0).xispunct ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1508 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1509 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1510
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1511 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1512 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1513
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1514 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1515 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1516 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1517 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1518 %! result(34:48) = true;
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1519 %! result(59:65) = true;
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1520 %! result(92:97) = true;
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1521 %! result(124:127) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1522 %! assert (ispunct (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1523
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1524 %!error ispunct ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1525 %!error ispunct (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1526 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1527
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1528 DEFUNX ("isspace", Fisspace, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1529 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1530 @deftypefn {Mapping Function} {} isspace (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1531 Return a logical array which is true where the elements of @var{s} are\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1532 whitespace characters (space, formfeed, newline, carriage return, tab, and\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1533 vertical tab) and false where they are not.\n\
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1534 @seealso{iscntrl, ispunct, isalpha, isdigit}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1535 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1536 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1537 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1538 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1539 retval = args(0).xisspace ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1540 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1541 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1542
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1543 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1544 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1545
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1546 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1547 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1548 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1549 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1550 %! result(toascii (" \f\n\r\t\v") + 1) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1551 %! assert (isspace (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1552
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1553 %!error isspace ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1554 %!error isspace (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1555 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1556
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1557 DEFUNX ("isupper", Fisupper, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1558 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1559 @deftypefn {Mapping Function} {} isupper (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1560 Return a logical array which is true where the elements of @var{s} are\n\
12642
f96b9b9f141b doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents: 12636
diff changeset
1561 uppercase letters and false where they are not.\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1562 @seealso{islower, isalpha, isletter, isalnum}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1563 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1564 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1565 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1566 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1567 retval = args(0).xisupper ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1568 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1569 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1570
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1571 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1572 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1573
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1574 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1575 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1576 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1577 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1578 %! result(toascii ("A":"Z") + 1) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1579 %! assert (isupper (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1580
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1581 %!error isupper ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1582 %!error isupper (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1583 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1584
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
1585 DEFUNX ("isxdigit", Fisxdigit, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1586 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
1587 @deftypefn {Mapping Function} {} isxdigit (@var{s})\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1588 Return a logical array which is true where the elements of @var{s} are\n\
11591
1d13679b587e Use @nospell macro on certain words in docstrings.
Rik <octave@nomad.inbox5.com>
parents: 11586
diff changeset
1589 hexadecimal digits (0-9 and @nospell{a-fA-F}).\n\
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 11327
diff changeset
1590 @seealso{isdigit}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1591 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1592 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1593 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1594 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1595 retval = args(0).xisxdigit ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1596 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1597 print_usage ();
2089
4dcc8b77e84a [project @ 1996-04-26 07:55:54 by jwe]
jwe
parents: 1996
diff changeset
1598
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1599 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1600 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1601
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1602 /*
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1603 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
1604 %! charset = char (0:127);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1605 %! result = false (1, 128);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1606 %! result(toascii ("A":"F") + 1) = true;
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1607 %! result(toascii ("0":"9") + 1) = true;
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1608 %! result(toascii ("a":"f") + 1) = true;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1609 %! assert (isxdigit (charset), result);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1610
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1611 %!error isxdigit ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1612 %!error isxdigit (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1613 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1614
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1615 DEFUN (lgamma, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1616 "-*- texinfo -*-\n\
19151
e09318118fd6 doc: Add note to gamma docstring about using gammaln when input is large.
Rik <rik@octave.org>
parents: 19117
diff changeset
1617 @deftypefn {Mapping Function} {} gammaln (@var{x})\n\
e09318118fd6 doc: Add note to gamma docstring about using gammaln when input is large.
Rik <rik@octave.org>
parents: 19117
diff changeset
1618 @deftypefnx {Mapping Function} {} lgamma (@var{x})\n\
7601
8a939b217863 Treat negative values to lgamma and beta correctly
David Bateman <dbateman@free.fr>
parents: 7528
diff changeset
1619 Return the natural logarithm of the gamma function of @var{x}.\n\
8286
6f2d95255911 fix @seealso references to point to existing anchors
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8084
diff changeset
1620 @seealso{gamma, gammainc}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1621 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1622 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1623 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1624 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1625 retval = args(0).lgamma ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1626 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1627 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1628
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1629 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1630 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1631
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1632 /*
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1633 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1634 %! a = -1i*sqrt (-1/(6.4187*6.4187));
19275
653ed3a6ba83 Use gammaln in preference to lgamma in core Octave code.
Rik <rik@octave.org>
parents: 19242
diff changeset
1635 %! assert (gammaln (a), gammaln (real (a)));
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1636
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1637 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1638 %! x = [.5, 1, 1.5, 2, 3, 4, 5];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1639 %! v = [sqrt(pi), 1, .5*sqrt(pi), 1, 2, 6, 24];
19275
653ed3a6ba83 Use gammaln in preference to lgamma in core Octave code.
Rik <rik@octave.org>
parents: 19242
diff changeset
1640 %! assert (gammaln (x), log (v), sqrt (eps))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1641
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1642 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1643 %! a = single (-1i*sqrt (-1/(6.4187*6.4187)));
19275
653ed3a6ba83 Use gammaln in preference to lgamma in core Octave code.
Rik <rik@octave.org>
parents: 19242
diff changeset
1644 %! assert (gammaln (a), gammaln (real (a)));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1645
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1646 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1647 %! x = single ([.5, 1, 1.5, 2, 3, 4, 5]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1648 %! v = single ([sqrt(pi), 1, .5*sqrt(pi), 1, 2, 6, 24]);
19275
653ed3a6ba83 Use gammaln in preference to lgamma in core Octave code.
Rik <rik@octave.org>
parents: 19242
diff changeset
1649 %! assert (gammaln (x), log (v), sqrt (eps ("single")))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1650
10903
9f0f1a89c704 Add new %!tests for negative integer arguments to gamma, lgamma.
Rik <octave@nomad.inbox5.com>
parents: 10840
diff changeset
1651 %!test
9f0f1a89c704 Add new %!tests for negative integer arguments to gamma, lgamma.
Rik <octave@nomad.inbox5.com>
parents: 10840
diff changeset
1652 %! x = [-1, 0, 1, Inf];
9f0f1a89c704 Add new %!tests for negative integer arguments to gamma, lgamma.
Rik <octave@nomad.inbox5.com>
parents: 10840
diff changeset
1653 %! v = [Inf, Inf, 0, Inf];
19275
653ed3a6ba83 Use gammaln in preference to lgamma in core Octave code.
Rik <rik@octave.org>
parents: 19242
diff changeset
1654 %! assert (gammaln (x), v);
653ed3a6ba83 Use gammaln in preference to lgamma in core Octave code.
Rik <rik@octave.org>
parents: 19242
diff changeset
1655 %! assert (gammaln (single (x)), single (v));
10903
9f0f1a89c704 Add new %!tests for negative integer arguments to gamma, lgamma.
Rik <octave@nomad.inbox5.com>
parents: 10840
diff changeset
1656
19275
653ed3a6ba83 Use gammaln in preference to lgamma in core Octave code.
Rik <rik@octave.org>
parents: 19242
diff changeset
1657 %!error gammaln ()
653ed3a6ba83 Use gammaln in preference to lgamma in core Octave code.
Rik <rik@octave.org>
parents: 19242
diff changeset
1658 %!error gammaln (1,2)
7667
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1659 */
fb3a6c53c2b2 Allow negative zero imaginary part to be treated as zero for erf, erfc, gamma and lgamma mapper function
David Bateman <dbateman@free.fr>
parents: 7638
diff changeset
1660
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1661 DEFUN (log, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1662 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1663 @deftypefn {Mapping Function} {} log (@var{x})\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1664 Compute the natural logarithm,\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1665 @tex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1666 $\\ln{(x)},$\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1667 @end tex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1668 @ifnottex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1669 @code{ln (@var{x})},\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1670 @end ifnottex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1671 for each element of @var{x}. To compute the\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1672 matrix logarithm, see @ref{Linear Algebra}.\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1673 @seealso{exp, log1p, log2, log10, logspace}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1674 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1675 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1676 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1677 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1678 retval = args(0).log ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1679 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1680 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1681
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1682 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1683 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1684
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1685 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1686 %!assert (log ([1, e, e^2]), [0, 1, 2], sqrt (eps))
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1687 %!assert (log ([-0.5, -1.5, -2.5]), log ([0.5, 1.5, 2.5]) + pi*1i, sqrt (eps))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1688
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1689 %!assert (log (single ([1, e, e^2])), single ([0, 1, 2]), sqrt (eps ("single")))
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1690 %!assert (log (single ([-0.5, -1.5, -2.5])), single (log ([0.5, 1.5, 2.5]) + pi*1i), 4*eps ("single"))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1691
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1692 %!error log ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1693 %!error log (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
1694 */
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1695
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1696 DEFUN (log10, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1697 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1698 @deftypefn {Mapping Function} {} log10 (@var{x})\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1699 Compute the base-10 logarithm of each element of @var{x}.\n\
5642
2618a0750ae6 [project @ 2006-03-06 21:26:48 by jwe]
jwe
parents: 5518
diff changeset
1700 @seealso{log, log2, logspace, exp}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1701 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1702 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1703 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1704 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1705 retval = args(0).log10 ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1706 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1707 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1708
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1709 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1710 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1711
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1712 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1713 %!assert (log10 ([0.01, 0.1, 1, 10, 100]), [-2, -1, 0, 1, 2], sqrt (eps))
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1714 %!assert (log10 (single ([0.01, 0.1, 1, 10, 100])), single ([-2, -1, 0, 1, 2]), sqrt (eps ("single")))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1715
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1716 %!error log10 ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1717 %!error log10 (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1718 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1719
7638
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1720 DEFUN (log1p, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1721 "-*- texinfo -*-\n\
7638
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1722 @deftypefn {Mapping Function} {} log1p (@var{x})\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1723 Compute\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1724 @tex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1725 $\\ln{(1 + x)}$\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1726 @end tex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1727 @ifnottex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1728 @code{log (1 + @var{x})}\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1729 @end ifnottex\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1730 accurately in the neighborhood of zero.\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1731 @seealso{log, exp, expm1}\n\
7638
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1732 @end deftypefn")
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1733 {
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1734 octave_value retval;
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1735 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1736 retval = args(0).log1p ();
7638
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1737 else
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1738 print_usage ();
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1739
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1740 return retval;
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1741 }
2df457529cfa implement expm1 and log1p functions
Jaroslav Hajek <highegg@gmail.com>
parents: 7636
diff changeset
1742
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1743 /*
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1744 %!assert (log1p ([0, 2*eps, -2*eps]), [0, 2*eps, -2*eps], 1e-29)
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1745 %!assert (log1p (single ([0, 2*eps, -2*eps])), single ([0, 2*eps, -2*eps]), 1e-29)
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1746
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1747 %!error log1p ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1748 %!error log1p (1, 2)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1749 */
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1750
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1751 DEFUN (real, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1752 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1753 @deftypefn {Mapping Function} {} real (@var{z})\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1754 Return the real part of @var{z}.\n\
5642
2618a0750ae6 [project @ 2006-03-06 21:26:48 by jwe]
jwe
parents: 5518
diff changeset
1755 @seealso{imag, conj}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1756 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1757 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1758 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1759 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1760 retval = args(0).real ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1761 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1762 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1763
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1764 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1765 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1766
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1767 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1768 %!assert (real (1), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1769 %!assert (real (i), 0)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1770 %!assert (real (1+i), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1771 %!assert (real ([1, i; i, 1]), full (eye (2)))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1772
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1773 %!assert (real (single (1)), single (1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1774 %!assert (real (single (i)), single (0))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1775 %!assert (real (single (1+i)), single (1))
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1776 %!assert (real (single ([1, i; i, 1])), full (eye (2,"single")))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1777
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1778 %!error real ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1779 %!error real (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1780 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1781
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1782 DEFUN (round, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1783 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1784 @deftypefn {Mapping Function} {} round (@var{x})\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1785 Return the integer nearest to @var{x}. If @var{x} is complex, return\n\
13929
9cae456085c2 Grammarcheck of documentation before 3.6.0 release.
Rik <octave@nomad.inbox5.com>
parents: 13915
diff changeset
1786 @code{round (real (@var{x})) + round (imag (@var{x})) * I}. If there\n\
13138
5a3983cb9912 Mention roundb in round's docstring
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12894
diff changeset
1787 are two nearest integers, return the one further away from zero.\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
1788 \n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1789 @example\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1790 @group\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1791 round ([-2.7, 2.7])\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
1792 @result{} -3 3\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1793 @end group\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1794 @end example\n\
13138
5a3983cb9912 Mention roundb in round's docstring
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12894
diff changeset
1795 @seealso{ceil, floor, fix, roundb}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1796 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1797 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1798 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1799 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1800 retval = args(0).round ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1801 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1802 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1803
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1804 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1805 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1806
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1807 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1808 %!assert (round (1), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1809 %!assert (round (1.1), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1810 %!assert (round (5.5), 6)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1811 %!assert (round (i), i)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1812 %!assert (round (2.5+3.5i), 3+4i)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1813 %!assert (round (-2.6), -3)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1814 %!assert (round ([1.1, -2.4; -3.7, 7.1]), [1, -2; -4, 7])
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1815
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1816 %!assert (round (single (1)), single (1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1817 %!assert (round (single (1.1)), single (1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1818 %!assert (round (single (5.5)), single (6))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1819 %!assert (round (single (i)), single (i))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1820 %!assert (round (single (2.5+3.5i)), single (3+4i))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1821 %!assert (round (single (-2.6)), single (-3))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1822 %!assert (round (single ([1.1, -2.4; -3.7, 7.1])), single ([1, -2; -4, 7]))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1823
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1824 %!error round ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1825 %!error round (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1826 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1827
7636
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1828 DEFUN (roundb, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1829 "-*- texinfo -*-\n\
7636
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1830 @deftypefn {Mapping Function} {} roundb (@var{x})\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 9041
diff changeset
1831 Return the integer nearest to @var{x}. If there are two nearest\n\
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 9041
diff changeset
1832 integers, return the even one (banker's rounding). If @var{x} is complex,\n\
7636
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1833 return @code{roundb (real (@var{x})) + roundb (imag (@var{x})) * I}.\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
1834 @seealso{round}\n\
7636
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1835 @end deftypefn")
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1836 {
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1837 octave_value retval;
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1838 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1839 retval = args(0).roundb ();
7636
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1840 else
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1841 print_usage ();
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1842
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1843 return retval;
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1844 }
99c410f7f0b0 implement mapper function for banker's rounding
Jaroslav Hajek <highegg@gmail.com>
parents: 7601
diff changeset
1845
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1846 /*
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1847 %!assert (roundb (1), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1848 %!assert (roundb (1.1), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1849 %!assert (roundb (1.5), 2)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1850 %!assert (roundb (4.5), 4)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1851 %!assert (roundb (i), i)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1852 %!assert (roundb (2.5+3.5i), 2+4i)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1853 %!assert (roundb (-2.6), -3)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1854 %!assert (roundb ([1.1, -2.4; -3.7, 7.1]), [1, -2; -4, 7])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1855
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1856 %!assert (roundb (single (1)), single (1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1857 %!assert (roundb (single (1.1)), single (1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1858 %!assert (roundb (single (1.5)), single (2))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1859 %!assert (roundb (single (4.5)), single (4))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1860 %!assert (roundb (single (i)), single (i))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1861 %!assert (roundb (single (2.5+3.5i)), single (2+4i))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1862 %!assert (roundb (single (-2.6)), single (-3))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1863 %!assert (roundb (single ([1.1, -2.4; -3.7, 7.1])), single ([1, -2; -4, 7]))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1864
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1865 %!error roundb ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1866 %!error roundb (1, 2)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1867 */
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1868
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1869 DEFUN (sign, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1870 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1871 @deftypefn {Mapping Function} {} sign (@var{x})\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1872 Compute the @dfn{signum} function, which is defined as\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1873 @tex\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1874 $$\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1875 {\\rm sign} (@var{x}) = \\cases{1,&$x>0$;\\cr 0,&$x=0$;\\cr -1,&$x<0$.\\cr}\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1876 $$\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1877 @end tex\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
1878 @ifnottex\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1879 \n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1880 @example\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 9041
diff changeset
1881 @group\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1882 -1, x < 0;\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1883 sign (x) = 0, x = 0;\n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1884 1, x > 0.\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 9041
diff changeset
1885 @end group\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1886 @end example\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
1887 \n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 8459
diff changeset
1888 @end ifnottex\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1889 \n\
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
1890 For complex arguments, @code{sign} returns @code{x ./ abs (@var{x})}.\n\
15488
481417a57a2d improve sign and signbit docs
John W. Eaton <jwe@octave.org>
parents: 15487
diff changeset
1891 \n\
15500
96b7343b8a41 Fix typo in docstring for 'sign'.
Carlo de Falco <cdf@users.sourceforge.net>
parents: 15488
diff changeset
1892 Note that @code{sign (-0.0)} is 0.\n\
96b7343b8a41 Fix typo in docstring for 'sign'.
Carlo de Falco <cdf@users.sourceforge.net>
parents: 15488
diff changeset
1893 Although IEEE 754 floating point\n\
15488
481417a57a2d improve sign and signbit docs
John W. Eaton <jwe@octave.org>
parents: 15487
diff changeset
1894 allows zero to be signed, 0.0 and -0.0 compare equal. If you must test\n\
481417a57a2d improve sign and signbit docs
John W. Eaton <jwe@octave.org>
parents: 15487
diff changeset
1895 whether zero is signed, use the @code{signbit} function.\n\
481417a57a2d improve sign and signbit docs
John W. Eaton <jwe@octave.org>
parents: 15487
diff changeset
1896 @seealso{signbit}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1897 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1898 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1899 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1900 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1901 retval = args(0).signum ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1902 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1903 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1904
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1905 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1906 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1907
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1908 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1909 %!assert (sign (-2) , -1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1910 %!assert (sign (0), 0)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1911 %!assert (sign (3), 1)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1912 %!assert (sign ([1, -pi; e, 0]), [1, -1; 1, 0])
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1913
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1914 %!assert (sign (single (-2)) , single (-1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1915 %!assert (sign (single (0)), single (0))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1916 %!assert (sign (single (3)), single (1))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1917 %!assert (sign (single ([1, -pi; e, 0])), single ([1, -1; 1, 0]))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1918
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1919 %!error sign ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1920 %!error sign (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1921 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1922
15487
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1923 DEFUNX ("signbit", Fsignbit, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1924 "-*- texinfo -*-\n\
15487
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1925 @deftypefn {Mapping Function} {} signbit (@var{x})\n\
16075
7cfb186592de Make signbit return logical 0 or 1 (bug #38291)
Michael Godfrey <michaeldgodfrey@gmail.com>
parents: 15696
diff changeset
1926 Return logical true if the value of @var{x} has its sign bit set.\n\
7cfb186592de Make signbit return logical 0 or 1 (bug #38291)
Michael Godfrey <michaeldgodfrey@gmail.com>
parents: 15696
diff changeset
1927 Otherwise return logical false. This behavior is consistent with the other\n\
16816
12005245b645 doc: Periodic grammarcheck of documentation.
Rik <rik@octave.org>
parents: 16075
diff changeset
1928 logical functions. See@ref{Logical Values}. The behavior differs from the\n\
18812
9ac2357f19bc doc: Replace "non-zero" with "nonzero" to match existing usage.
Rik <rik@octave.org>
parents: 18196
diff changeset
1929 C language function which returns nonzero if the sign bit is set.\n\
15487
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1930 \n\
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1931 This is not the same as @code{x < 0.0}, because IEEE 754 floating point\n\
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1932 allows zero to be signed. The comparison @code{-0.0 < 0.0} is false,\n\
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1933 but @code{signbit (-0.0)} will return a nonzero value.\n\
15488
481417a57a2d improve sign and signbit docs
John W. Eaton <jwe@octave.org>
parents: 15487
diff changeset
1934 @seealso{sign}\n\
15487
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1935 @end deftypefn")
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1936 {
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1937 octave_value retval;
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1938 if (args.length () == 1)
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1939 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1940 retval = args(0).xsignbit ();
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1941 retval = (retval != 0);
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1942 }
15487
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1943 else
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1944 print_usage ();
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1945
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1946 return retval;
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1947 }
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1948
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1949 /*
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1950 %!assert (signbit (1) == 0)
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1951 %!assert (signbit (-2) != 0)
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1952 %!assert (signbit (0) == 0)
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1953 %!assert (signbit (-0) != 0)
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1954
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1955 %!assert (signbit (single (1)) == 0)
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1956 %!assert (signbit (single (-2)) != 0)
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1957 %!assert (signbit (single (0)) == 0)
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1958 %!assert (signbit (single (-0)) != 0)
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1959
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1960 %!error sign ()
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1961 %!error sign (1, 2)
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1962 */
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
1963
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1964 DEFUN (sin, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1965 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
1966 @deftypefn {Mapping Function} {} sin (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
1967 Compute the sine for each element of @var{x} in radians.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
1968 @seealso{asin, sind, sinh}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1969 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1970 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1971 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1972 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1973 retval = args(0).sin ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1974 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1975 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
1976
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1977 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1978 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1979
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1980 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1981 %!shared rt2, rt3
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1982 %! rt2 = sqrt (2);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1983 %! rt3 = sqrt (3);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1984
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1985 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1986 %! x = [0, pi/6, pi/4, pi/3, pi/2, 2*pi/3, 3*pi/4, 5*pi/6, pi];
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1987 %! v = [0, 1/2, rt2/2, rt3/2, 1, rt3/2, rt2/2, 1/2, 0];
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1988 %! assert (sin (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1989
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1990 %!test
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1991 %! x = single ([0, pi/6, pi/4, pi/3, pi/2, 2*pi/3, 3*pi/4, 5*pi/6, pi]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1992 %! v = single ([0, 1/2, rt2/2, rt3/2, 1, rt3/2, rt2/2, 1/2, 0]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
1993 %! assert (sin (x), v, sqrt (eps ("single")));
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1994
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1995 %!error sin ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
1996 %!error sin (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1997 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
1998
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
1999 DEFUN (sinh, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
2000 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
2001 @deftypefn {Mapping Function} {} sinh (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
2002 Compute the hyperbolic sine for each element of @var{x}.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
2003 @seealso{asinh, cosh, tanh}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2004 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2005 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2006 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2007 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
2008 retval = args(0).sinh ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2009 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2010 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
2011
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2012 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2013 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2014
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2015 /*
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2016 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2017 %! x = [0, pi/2*i, pi*i, 3*pi/2*i];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2018 %! v = [0, i, 0, -i];
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2019 %! assert (sinh (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2020
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2021 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2022 %! x = single ([0, pi/2*i, pi*i, 3*pi/2*i]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2023 %! v = single ([0, i, 0, -i]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2024 %! assert (sinh (x), v, sqrt (eps ("single")));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2025
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2026 %!error sinh ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2027 %!error sinh (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
2028 */
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2029
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2030 DEFUN (sqrt, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
2031 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
2032 @deftypefn {Mapping Function} {} sqrt (@var{x})\n\
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
2033 Compute the square root of each element of @var{x}. If @var{x} is negative,\n\
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9065
diff changeset
2034 a complex result is returned. To compute the matrix square root, see\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
2035 @ref{Linear Algebra}.\n\
11532
34bb8d38f19f Add undocumented function cbrt to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11529
diff changeset
2036 @seealso{realsqrt, nthroot}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2037 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2038 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2039 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2040 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
2041 retval = args(0).sqrt ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2042 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2043 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
2044
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2045 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2046 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2047
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2048 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2049 %!assert (sqrt (4), 2)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2050 %!assert (sqrt (-1), i)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2051 %!assert (sqrt (1+i), exp (0.5 * log (1+i)), sqrt (eps))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2052 %!assert (sqrt ([4, -4; i, 1-i]), [2, 2i; exp(0.5 * log (i)), exp(0.5 * log (1-i))], sqrt (eps))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2053
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2054 %!assert (sqrt (single (4)), single (2))
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2055 %!assert (sqrt (single (-1)), single (i))
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2056 %!assert (sqrt (single (1+i)), single (exp (0.5 * log (1+i))), sqrt (eps ("single")))
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2057 %!assert (sqrt (single ([4, -4; i, 1-i])), single ([2, 2i; exp(0.5 * log (i)), exp(0.5 * log (1-i))]), sqrt (eps ("single")))
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2058
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2059 %!error sqrt ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2060 %!error sqrt (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2061 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2062
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2063 DEFUN (tan, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
2064 "-*- texinfo -*-\n\
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
2065 @deftypefn {Mapping Function} {} tan (@var{z})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
2066 Compute the tangent for each element of @var{x} in radians.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
2067 @seealso{atan, tand, tanh}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2068 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2069 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2070 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2071 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
2072 retval = args(0).tan ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2073 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2074 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 331
diff changeset
2075
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2076 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2077 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2078
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2079 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2080 %!shared rt2, rt3
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2081 %! rt2 = sqrt (2);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2082 %! rt3 = sqrt (3);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2083
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2084 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2085 %! x = [0, pi/6, pi/4, pi/3, 2*pi/3, 3*pi/4, 5*pi/6, pi];
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2086 %! v = [0, rt3/3, 1, rt3, -rt3, -1, -rt3/3, 0];
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2087 %! assert (tan (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2088
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2089 %!test
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2090 %! x = single ([0, pi/6, pi/4, pi/3, 2*pi/3, 3*pi/4, 5*pi/6, pi]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2091 %! v = single ([0, rt3/3, 1, rt3, -rt3, -1, -rt3/3, 0]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2092 %! assert (tan (x), v, sqrt (eps ("single")));
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2093
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2094 %!error tan ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2095 %!error tan (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2096 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2097
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2098 DEFUN (tanh, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
2099 "-*- texinfo -*-\n\
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3411
diff changeset
2100 @deftypefn {Mapping Function} {} tanh (@var{x})\n\
9155
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
2101 Compute hyperbolic tangent for each element of @var{x}.\n\
ad20b967e1c9 Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9154
diff changeset
2102 @seealso{atanh, sinh, cosh}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2103 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2104 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2105 octave_value retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2106 if (args.length () == 1)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
2107 retval = args(0).tanh ();
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2108 else
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2109 print_usage ();
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2110
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2111 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2112 }
1562
1cff14ab83a4 [project @ 1995-10-12 11:02:40 by jwe]
jwe
parents: 1384
diff changeset
2113
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2114 /*
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2115 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2116 %! x = [0, pi*i];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2117 %! v = [0, 0];
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2118 %! assert (tanh (x), v, sqrt (eps));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2119
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2120 %!test
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2121 %! x = single ([0, pi*i]);
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2122 %! v = single ([0, 0]);
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2123 %! assert (tanh (x), v, sqrt (eps ("single")));
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2124
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2125 %!error tanh ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2126 %!error tanh (1, 2)
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2127 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7814
diff changeset
2128
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
2129 DEFUNX ("toascii", Ftoascii, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
2130 "-*- texinfo -*-\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2131 @deftypefn {Mapping Function} {} toascii (@var{s})\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
2132 Return ASCII representation of @var{s} in a matrix. For example:\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2133 \n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2134 @example\n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2135 @group\n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2136 toascii (\"ASCII\")\n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2137 @result{} [ 65, 83, 67, 73, 73 ]\n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2138 @end group\n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2139 \n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2140 @end example\n\
8442
502e58a0d44f Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8387
diff changeset
2141 @seealso{char}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2142 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2143 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2144 octave_value retval;
12894
ef5ebbf2a657 maint: Rollback changeset 67bf9b30f3f9.
Rik <octave@nomad.inbox5.com>
parents: 12892
diff changeset
2145 if (args.length () == 1)
ef5ebbf2a657 maint: Rollback changeset 67bf9b30f3f9.
Rik <octave@nomad.inbox5.com>
parents: 12892
diff changeset
2146 retval = args(0).xtoascii ();
ef5ebbf2a657 maint: Rollback changeset 67bf9b30f3f9.
Rik <octave@nomad.inbox5.com>
parents: 12892
diff changeset
2147 else
12892
67bf9b30f3f9 Error when given non-string input to tolower, toupper, toascii (Bug #33537).
Rik <octave@nomad.inbox5.com>
parents: 12683
diff changeset
2148 print_usage ();
2267
4028b7c79927 [project @ 1996-05-24 00:39:30 by jwe]
jwe
parents: 2190
diff changeset
2149
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2150 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2151 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2152
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
2153 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2154 %!assert (toascii (char (0:127)), 0:127)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2155 %!assert (toascii (" ":"@"), 32:64)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2156 %!assert (toascii ("A":"Z"), 65:90)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2157 %!assert (toascii ("[":"`"), 91:96)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2158 %!assert (toascii ("a":"z"), 97:122)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2159 %!assert (toascii ("{":"~"), 123:126)
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2160
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2161 %!error toascii ()
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2162 %!error toascii (1, 2)
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
2163 */
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
2164
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
2165 DEFUNX ("tolower", Ftolower, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
2166 "-*- texinfo -*-\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
2167 @deftypefn {Mapping Function} {} tolower (@var{s})\n\
8387
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2168 @deftypefnx {Mapping Function} {} lower (@var{s})\n\
12642
f96b9b9f141b doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents: 12636
diff changeset
2169 Return a copy of the string or cell string @var{s}, with each uppercase\n\
f96b9b9f141b doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents: 12636
diff changeset
2170 character replaced by the corresponding lowercase one; non-alphabetic\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
2171 characters are left unchanged. For example:\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2172 \n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2173 @example\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 9041
diff changeset
2174 @group\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2175 tolower (\"MiXeD cAsE 123\")\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
2176 @result{} \"mixed case 123\"\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 9041
diff changeset
2177 @end group\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2178 @end example\n\
8442
502e58a0d44f Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8387
diff changeset
2179 @seealso{toupper}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2180 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2181 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2182 octave_value retval;
12894
ef5ebbf2a657 maint: Rollback changeset 67bf9b30f3f9.
Rik <octave@nomad.inbox5.com>
parents: 12892
diff changeset
2183 if (args.length () == 1)
ef5ebbf2a657 maint: Rollback changeset 67bf9b30f3f9.
Rik <octave@nomad.inbox5.com>
parents: 12892
diff changeset
2184 retval = args(0).xtolower ();
ef5ebbf2a657 maint: Rollback changeset 67bf9b30f3f9.
Rik <octave@nomad.inbox5.com>
parents: 12892
diff changeset
2185 else
12892
67bf9b30f3f9 Error when given non-string input to tolower, toupper, toascii (Bug #33537).
Rik <octave@nomad.inbox5.com>
parents: 12683
diff changeset
2186 print_usage ();
2267
4028b7c79927 [project @ 1996-05-24 00:39:30 by jwe]
jwe
parents: 2190
diff changeset
2187
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2188 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2189 }
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2190
8387
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2191 DEFALIAS (lower, tolower);
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2192
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2193 /*
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2194 %!assert (tolower ("OCTAVE"), "octave")
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2195 %!assert (tolower ("123OCTave!_&"), "123octave!_&")
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2196 %!assert (tolower ({"ABC", "DEF", {"GHI", {"JKL"}}}), {"abc", "def", {"ghi", {"jkl"}}})
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2197 %!assert (tolower (["ABC"; "DEF"]), ["abc"; "def"])
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2198 %!assert (tolower ({["ABC"; "DEF"]}), {["abc";"def"]})
18196
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2199 %!assert (tolower (68), 68)
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2200 %!assert (tolower ({[68, 68; 68, 68]}), {[68, 68; 68, 68]})
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2201 %!test
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2202 %! classes = {@char, @double, @single, ...
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2203 %! @int8, @int16, @int32, @int64, ...
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2204 %! @uint8, @uint16, @uint32, @uint64};
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2205 %! for i = 1:numel (classes)
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2206 %! cls = classes{i};
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2207 %! assert (class (tolower (cls (97))), class (cls (97)));
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2208 %! assert (class (tolower (cls ([98, 99]))), class (cls ([98, 99])));
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2209 %! endfor
8387
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2210 %!test
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2211 %! a(3,3,3,3) = "D";
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2212 %! assert (tolower (a)(3,3,3,3), "d");
8387
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2213
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
2214 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
2215 %! charset = char (0:127);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
2216 %! result = charset;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2217 %! result (toascii ("A":"Z") + 1) = result (toascii ("a":"z") + 1);
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2218 %! assert (tolower (charset), result);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2219
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2220 %!error <Invalid call to tolower> lower ()
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2221 %!error <Invalid call to tolower> tolower ()
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2222 %!error tolower (1, 2)
8387
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2223 */
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2224
7528
26d8a92644de try to avoid ctype macro problems
John W. Eaton <jwe@octave.org>
parents: 7503
diff changeset
2225 DEFUNX ("toupper", Ftoupper, args, ,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
2226 "-*- texinfo -*-\n\
12683
486c9aea34d3 doc: Correctly refer to toupper() as a Mapping Function.
Rik <octave@nomad.inbox5.com>
parents: 12660
diff changeset
2227 @deftypefn {Mapping Function} {} toupper (@var{s})\n\
486c9aea34d3 doc: Correctly refer to toupper() as a Mapping Function.
Rik <octave@nomad.inbox5.com>
parents: 12660
diff changeset
2228 @deftypefnx {Mapping Function} {} upper (@var{s})\n\
12642
f96b9b9f141b doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents: 12636
diff changeset
2229 Return a copy of the string or cell string @var{s}, with each lowercase\n\
f96b9b9f141b doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents: 12636
diff changeset
2230 character replaced by the corresponding uppercase one; non-alphabetic\n\
10840
89f4d7e294cc Grammarcheck .cc files
Rik <octave@nomad.inbox5.com>
parents: 10711
diff changeset
2231 characters are left unchanged. For example:\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2232 \n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2233 @example\n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2234 @group\n\
3552
41daa489833a [project @ 2000-02-03 03:05:28 by jwe]
jwe
parents: 3458
diff changeset
2235 toupper (\"MiXeD cAsE 123\")\n\
14360
97883071e8e4 doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
2236 @result{} \"MIXED CASE 123\"\n\
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2237 @end group\n\
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3322
diff changeset
2238 @end example\n\
8442
502e58a0d44f Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8387
diff changeset
2239 @seealso{tolower}\n\
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2240 @end deftypefn")
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2241 {
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2242 octave_value retval;
12894
ef5ebbf2a657 maint: Rollback changeset 67bf9b30f3f9.
Rik <octave@nomad.inbox5.com>
parents: 12892
diff changeset
2243 if (args.length () == 1)
ef5ebbf2a657 maint: Rollback changeset 67bf9b30f3f9.
Rik <octave@nomad.inbox5.com>
parents: 12892
diff changeset
2244 retval = args(0).xtoupper ();
ef5ebbf2a657 maint: Rollback changeset 67bf9b30f3f9.
Rik <octave@nomad.inbox5.com>
parents: 12892
diff changeset
2245 else
12892
67bf9b30f3f9 Error when given non-string input to tolower, toupper, toascii (Bug #33537).
Rik <octave@nomad.inbox5.com>
parents: 12683
diff changeset
2246 print_usage ();
3206
d0d2b69dc6c2 [project @ 1998-11-03 02:43:31 by jwe]
jwe
parents: 3156
diff changeset
2247
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2248 return retval;
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2249 }
3321
6923abb04e16 [project @ 1999-10-26 18:15:30 by jwe]
jwe
parents: 3249
diff changeset
2250
8387
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2251 DEFALIAS (upper, toupper);
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2252
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2253 /*
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2254 %!assert (toupper ("octave"), "OCTAVE")
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2255 %!assert (toupper ("123OCTave!_&"), "123OCTAVE!_&")
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2256 %!assert (toupper ({"abc", "def", {"ghi", {"jkl"}}}), {"ABC", "DEF", {"GHI", {"JKL"}}})
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2257 %!assert (toupper (["abc"; "def"]), ["ABC"; "DEF"])
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2258 %!assert (toupper ({["abc"; "def"]}), {["ABC";"DEF"]})
18196
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2259 %!assert (toupper (100), 100)
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2260 %!assert (toupper ({[100, 100; 100, 100]}), {[100, 100; 100, 100]})
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2261 %!test
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2262 %! classes = {@char, @double, @single, ...
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2263 %! @int8, @int16, @int32, @int64, ...
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2264 %! @uint8, @uint16, @uint32, @uint64};
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2265 %! for i = 1:numel (classes)
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2266 %! cls = classes{i};
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2267 %! assert (class (toupper (cls (97))), class (cls (97)));
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2268 %! assert (class (toupper (cls ([98, 99]))), class (cls ([98, 99])));
1b6db9303933 allow toupper and tolower to handle numeric values (bug #33537)
John W. Eaton <jwe@octave.org>
parents: 17787
diff changeset
2269 %! endfor
8387
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2270 %!test
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2271 %! a(3,3,3,3) = "d";
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2272 %! assert (toupper (a)(3,3,3,3), "D");
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
2273 %!test
13964
12fa52c6e886 Use char() instead of deprecated setstr() in %!test code.
Rik <octave@nomad.inbox5.com>
parents: 13929
diff changeset
2274 %! charset = char (0:127);
13140
98d23b0f16e1 maint: move test_string.m tests to source files
John W. Eaton <jwe@octave.org>
parents: 13093
diff changeset
2275 %! result = charset;
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2276 %! result (toascii ("a":"z") + 1) = result (toascii ("A":"Z") + 1);
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2277 %! assert (toupper (charset), result);
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2278
14429
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2279 %!error <Invalid call to toupper> toupper ()
eff4a5933e28 Update %!tests in src/ directory with Octave coding conventions.
Rik <octave@nomad.inbox5.com>
parents: 14360
diff changeset
2280 %!error <Invalid call to toupper> upper ()
13972
09432c6f23e7 mappers.cc: Update %!tests to modern coding standards
Rik <octave@nomad.inbox5.com>
parents: 13966
diff changeset
2281 %!error toupper (1, 2)
8387
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2282 */
1567db1e166c make upper and lower aliases of toupper and tolower respectively
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8366
diff changeset
2283
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2284 DEFALIAS (gammaln, lgamma);
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7385
diff changeset
2285