Mercurial > hg > octave-nkf
annotate scripts/specfun/pow2.m @ 8517:81d6ab3ac93c
Allow documentation tobe built for other formats than tex and info
author | sh@sh-laptop |
---|---|
date | Wed, 14 Jan 2009 20:44:25 -0500 |
parents | 95ecf219a582 |
children | eb63fbe60fab |
rev | line source |
---|---|
7017 | 1 ## Copyright (C) 1995, 1996, 1999, 2000, 2002, 2004, 2005, 2006, 2007 |
2 ## Kurt Hornik | |
3426 | 3 ## |
3922 | 4 ## This file is part of Octave. |
5 ## | |
6 ## Octave is free software; you can redistribute it and/or modify it | |
7 ## under the terms of the GNU General Public License as published by | |
7016 | 8 ## the Free Software Foundation; either version 3 of the License, or (at |
9 ## your option) any later version. | |
3426 | 10 ## |
3922 | 11 ## Octave is distributed in the hope that it will be useful, but |
2537 | 12 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
3426 | 14 ## General Public License for more details. |
15 ## | |
2537 | 16 ## You should have received a copy of the GNU General Public License |
7016 | 17 ## along with Octave; see the file COPYING. If not, see |
18 ## <http://www.gnu.org/licenses/>. | |
2537 | 19 |
3321 | 20 ## -*- texinfo -*- |
21 ## @deftypefn {Mapping Function} {} pow2 (@var{x}) | |
22 ## @deftypefnx {Mapping Function} {} pow2 (@var{f}, @var{e}) | |
23 ## With one argument, computes | |
24 ## @iftex | |
25 ## @tex | |
26 ## $2^x$ | |
27 ## @end tex | |
28 ## @end iftex | |
8517
81d6ab3ac93c
Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents:
7742
diff
changeset
|
29 ## @ifnottex |
3321 | 30 ## 2 .^ x |
8517
81d6ab3ac93c
Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents:
7742
diff
changeset
|
31 ## @end ifnottex |
3321 | 32 ## for each element of @var{x}. With two arguments, returns |
33 ## @iftex | |
34 ## @tex | |
35 ## $f \cdot 2^e$. | |
36 ## @end tex | |
37 ## @end iftex | |
8517
81d6ab3ac93c
Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents:
7742
diff
changeset
|
38 ## @ifnottex |
3321 | 39 ## f .* (2 .^ e). |
8517
81d6ab3ac93c
Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents:
7742
diff
changeset
|
40 ## @end ifnottex |
5642 | 41 ## @seealso{nextpow2} |
3321 | 42 ## @end deftypefn |
2537 | 43 |
44 ## Author: AW <Andreas.Weingessel@ci.tuwien.ac.at> | |
45 ## Created: 17 October 1994 | |
46 ## Adapted-By: jwe | |
47 | |
48 function y = pow2 (f, e) | |
3426 | 49 |
2537 | 50 if (nargin == 1) |
51 y = 2 .^ f; | |
52 elseif (nargin == 2) | |
53 y = f .* (2 .^ e); | |
54 else | |
6046 | 55 print_usage (); |
2537 | 56 endif |
57 | |
58 endfunction | |
7385 | 59 |
60 %!test | |
61 %! x = [3, 0, -3]; | |
62 %! v = [8, 1, .125]; | |
63 %! assert(all (abs (pow2 (x) - v) < sqrt (eps))); | |
64 | |
65 %!test | |
66 %! x = [3, 0, -3, 4, 0, -4, 5, 0, -5]; | |
67 %! y = [-2, -2, -2, 1, 1, 1, 3, 3, 3]; | |
68 %! z = x .* (2 .^ y); | |
7742 | 69 %! assert(all (abs (pow2 (x,y) - z) < sqrt (eps))); |
7385 | 70 |
71 %!error pow2(); | |
72 |