Mercurial > hg > octave-nkf
annotate scripts/elfun/tand.m @ 20830:b65888ec820e draft default tip gccjit
dmalcom gcc jit import
author | Stefan Mahr <dac922@gmx.de> |
---|---|
date | Fri, 27 Feb 2015 16:59:36 +0100 |
parents | 7503499a252b |
children |
rev | line source |
---|---|
19898
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19309
diff
changeset
|
1 ## Copyright (C) 2006-2015 David Bateman |
6239 | 2 ## |
6440 | 3 ## This file is part of Octave. |
6239 | 4 ## |
6440 | 5 ## Octave is free software; you can redistribute it and/or modify it |
6 ## under the terms of the GNU General Public License as published by | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
6440 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
6239 | 14 ## |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
6239 | 18 |
19 ## -*- texinfo -*- | |
20 ## @deftypefn {Function File} {} tand (@var{x}) | |
20368
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
21 ## Compute the tangent for each element of @var{x} in degrees. |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
22 ## |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
23 ## Returns zero for elements where @code{@var{x}/180} is an integer and |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
24 ## @code{Inf} for elements where @code{(@var{x}-90)/180} is an integer. |
9155
ad20b967e1c9
Update section 17.3 (Trigonometry) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents:
7017
diff
changeset
|
25 ## @seealso{atand, tan} |
6239 | 26 ## @end deftypefn |
27 | |
7017 | 28 ## Author: David Bateman <dbateman@free.fr> |
29 | |
6239 | 30 function y = tand (x) |
14220
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
31 |
6239 | 32 if (nargin != 1) |
33 print_usage (); | |
34 endif | |
14220
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
35 |
6239 | 36 I0 = x / 180; |
37 I90 = (x-90) / 180; | |
38 y = tan (I0 .* pi); | |
19309
a4c226a963c5
Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
39 y(I0 == fix (I0) & isfinite (I0)) = 0; |
a4c226a963c5
Deprecate finite in favor of isfinite.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
40 y(I90 == fix (I90) & isfinite (I90)) = Inf; |
14220
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
41 |
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
42 endfunction |
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
43 |
6239 | 44 |
14220
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
45 %!assert (tand (10:10:80), tan (pi*[10:10:80]/180), -10*eps) |
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
46 %!assert (tand ([0, 180, 360]) == 0) |
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
47 %!assert (tand ([90, 270]) == Inf) |
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
48 |
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
49 %!error tand () |
5a13a75c2457
Use Octave spacing conventions for scripts in elfun/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
50 %!error tand (1, 2) |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14220
diff
changeset
|
51 |