Mercurial > hg > octave-nkf
annotate scripts/general/isa.m @ 7772:ff717f2f9feb
Treat numeric and float argument in the isa function.
author | David Bateman <dbateman@free.fr> |
---|---|
date | Mon, 12 May 2008 22:39:33 +0200 |
parents | f084ba47812b |
children | f83be206eca1 |
rev | line source |
---|---|
7017 | 1 ## Copyright (C) 2004, 2005, 2007 John W. Eaton |
4950 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
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. | |
4950 | 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. | |
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/>. | |
4950 | 18 |
19 ## -*- texinfo -*- | |
20 ## @deftypefn {Function File} {} isa (@var{x}, @var{class}) | |
21 ## Return true if @var{x} is a value from the class @var{class}. | |
22 ## @end deftypefn | |
23 | |
24 ## Author: Paul Kienzle <pkienzle@users.sf.net> | |
25 ## Adapted-by: jwe | |
26 | |
27 function retval = isa (x, cname) | |
7125 | 28 |
29 if (nargin != 2) | |
30 print_usage (); | |
31 endif | |
32 | |
7772
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
33 if (strcmp (cname, "float")) |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
34 retval = (strcmp (class (x), "double") || strcmp (class (x), "single")); |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
35 elseif (strcmp (cname, "fnumeric")) |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
36 retval = (strcmp (class (x), "double") || strcmp (class (x), "single") || |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
37 strcmp (class (x), "uint8") || strcmp (class (x), "uint16") || |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
38 strcmp (class (x), "uint32") || strcmp (class (x), "uint64") || |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
39 strcmp (class (x), "int8") || strcmp (class (x), "int16") || |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
40 strcmp (class (x), "int32") || strcmp (class (x), "int64")); |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
41 else |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
42 retval = strcmp (class (x), cname); |
ff717f2f9feb
Treat numeric and float argument in the isa function.
David Bateman <dbateman@free.fr>
parents:
7125
diff
changeset
|
43 endif |
4950 | 44 endfunction |