annotate scripts/general/issquare.m @ 17314:09543e9c8f40

Use explicit form of end (endif, endfor, etc.) in core m-files. * scripts/general/interp1.m, scripts/image/rgb2ind.m, scripts/plot/__gnuplot_drawnow__.m, scripts/plot/private/__ezplot__.m, scripts/plot/private/__go_draw_axes__.m, scripts/special-matrix/gallery.m, scripts/strings/strjoin.m, scripts/testfun/assert.m, scripts/ui/questdlg.m: Use explicit form of end (endif, endfor, etc.) in core m-files.
author Rik <rik@octave.org>
date Wed, 21 Aug 2013 16:42:13 -0700
parents f3d52523cde1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 12604
diff changeset
1 ## Copyright (C) 1996-2012 John W. Eaton
4026
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
2 ##
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
3 ## This file is part of Octave.
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
4 ##
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
8cb8eff3f44c [project @ 2002-08-09 06:54:46 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: 6046
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: 6046
diff changeset
8 ## your option) any later version.
4026
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
9 ##
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
13 ## General Public License for more details.
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
14 ##
8cb8eff3f44c [project @ 2002-08-09 06:54:46 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: 6046
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: 6046
diff changeset
17 ## <http://www.gnu.org/licenses/>.
4026
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
18
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
19 ## -*- texinfo -*-
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
20 ## @deftypefn {Function File} {} issquare (@var{x})
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 10023
diff changeset
21 ## Return true if @var{x} is a square matrix.
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 10023
diff changeset
22 ## @seealso{isscalar, isvector, ismatrix, size}
4026
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
23 ## @end deftypefn
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
24
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
25 ## Author: A. S. Hodel <scotte@eng.auburn.edu>
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
26 ## Created: August 1993
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
27 ## Adapted-By: jwe
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
28
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
29 function retval = issquare (x)
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
30
12604
132c89bb44e3 maint: Refactor general/isXXX.m scripts to put input validation first.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
31 if (nargin != 1)
132c89bb44e3 maint: Refactor general/isXXX.m scripts to put input validation first.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
32 print_usage ();
132c89bb44e3 maint: Refactor general/isXXX.m scripts to put input validation first.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
33 endif
132c89bb44e3 maint: Refactor general/isXXX.m scripts to put input validation first.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
34
132c89bb44e3 maint: Refactor general/isXXX.m scripts to put input validation first.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
35 if (ndims (x) == 2)
132c89bb44e3 maint: Refactor general/isXXX.m scripts to put input validation first.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
36 [r, c] = size (x);
132c89bb44e3 maint: Refactor general/isXXX.m scripts to put input validation first.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
37 retval = r == c;
4026
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
38 else
12604
132c89bb44e3 maint: Refactor general/isXXX.m scripts to put input validation first.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
39 retval = false;
4026
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
40 endif
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
41
8cb8eff3f44c [project @ 2002-08-09 06:54:46 by jwe]
jwe
parents:
diff changeset
42 endfunction
7411
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
43
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
44
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
45 %!assert (issquare ([]))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
46 %!assert (issquare (1))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
47 %!assert (! issquare ([1, 2]))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
48 %!assert (issquare ([1, 2; 3, 4]))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
49 %!assert (! issquare ([1, 2; 3, 4; 5, 6]))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
50 %!assert (! issquare (ones (3,3,3)))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
51 %!assert (issquare ("t"))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
52 %!assert (! issquare ("test"))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
53 %!assert (issquare (["test"; "ing"; "1"; "2"]))
7411
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
54 %!test
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
55 %! s.a = 1;
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
56 %! assert (issquare (s));
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
57 %!assert (issquare ({1, 2; 3, 4}))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
58 %!assert (sparse (([1, 2; 3, 4])))
7411
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
59
12604
132c89bb44e3 maint: Refactor general/isXXX.m scripts to put input validation first.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
60 %% Test input validation
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
61 %!error issquare ()
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
62 %!error issquare ([1, 2; 3, 4], 2)
7411
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
63