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