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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7017
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
1 ## Copyright (C) 2004, 2005, 2007 John W. Eaton
4950
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
2 ##
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
3 ## This file is part of Octave.
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
4 ##
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5307
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5307
diff changeset
8 ## your option) any later version.
4950
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
9 ##
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
13 ## General Public License for more details.
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
14 ##
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5307
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5307
diff changeset
17 ## <http://www.gnu.org/licenses/>.
4950
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
18
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
19 ## -*- texinfo -*-
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
20 ## @deftypefn {Function File} {} isa (@var{x}, @var{class})
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
21 ## Return true if @var{x} is a value from the class @var{class}.
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
22 ## @end deftypefn
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
23
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
24 ## Author: Paul Kienzle <pkienzle@users.sf.net>
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
25 ## Adapted-by: jwe
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
26
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
27 function retval = isa (x, cname)
7125
f084ba47812b [project @ 2007-11-08 02:29:23 by jwe]
jwe
parents: 7017
diff changeset
28
f084ba47812b [project @ 2007-11-08 02:29:23 by jwe]
jwe
parents: 7017
diff changeset
29 if (nargin != 2)
f084ba47812b [project @ 2007-11-08 02:29:23 by jwe]
jwe
parents: 7017
diff changeset
30 print_usage ();
f084ba47812b [project @ 2007-11-08 02:29:23 by jwe]
jwe
parents: 7017
diff changeset
31 endif
f084ba47812b [project @ 2007-11-08 02:29:23 by jwe]
jwe
parents: 7017
diff changeset
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
0896307b1b48 [project @ 2004-08-31 21:26:35 by jwe]
jwe
parents:
diff changeset
44 endfunction