Mercurial > hg > octave-image
changeset 655:00589f9456d2
iscolormap: importing from core
author | carandraug |
---|---|
date | Mon, 15 Oct 2012 13:03:52 +0000 |
parents | c4e8c359d0eb |
children | 9fe1487ddab7 |
files | inst/iscolormap.m |
diffstat | 1 files changed, 32 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/inst/iscolormap.m +++ b/inst/iscolormap.m @@ -1,40 +1,51 @@ -## Copyright (C) 2012 Carnë Draug <carandraug+dev@gmail.com> +## Copyright (C) 2012 Carnë Draug +## +## This file is part of Octave. ## -## This program is free software; you can redistribute it and/or modify it under -## the terms of the GNU General Public License as published by the Free Software -## Foundation; either version 3 of the License, or (at your option) any later -## version. +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. ## -## This program is distributed in the hope that it will be useful, but WITHOUT -## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -## details. +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. ## -## You should have received a copy of the GNU General Public License along with -## this program; if not, see <http://www.gnu.org/licenses/>. +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, see +## <http://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {Function File} {} iscolormap (@var{cm}) -## Return true if @var{cm} is a colormap. +## @deftypefn {Function File} {} iscolormap (@var{cmap}) +## Return true if @var{cmap} is a colormap. ## ## A colormap is an @var{n} row by 3 column matrix. The columns contain red, -## green, and blue intensities respectively. All entries should be between 0 +## green, and blue intensities respectively. All entries must be between 0 ## and 1 inclusive. ## ## @seealso{colormap, rgbplot} ## @end deftypefn -function bool = iscolormap (cm) +## Author: Carnë Draug <carandraug+dev@gmail.com> + +function retval = iscolormap (cmap) if (nargin != 1) print_usage; endif - bool = false; - if (ismatrix (cm) && isreal (cm) && isnumeric (cm) && columns(cm) == 3 && - ndims (cm) == 2 && strcmp (class (cm), "double") && - min (cm(:)) >= 0 && max (cm(:)) <= 1) - bool = true; - endif + retval = (isnumeric (cmap) && isreal (cmap) && + columns (cmap) == 3 && ndims (cmap) == 2 && isa (cmap, "double") && + min (cmap(:)) >= 0 && max (cmap(:)) <= 1); endfunction + +%!assert (iscolormap (jet (64))) +%!assert (iscolormap ({0 1 0}), false) +%!assert (iscolormap ([0 1i 0]), false) +%!assert (iscolormap (ones (3,4)), false) +%!assert (iscolormap (ones (3,3,3)), false) +%!assert (iscolormap (single (jet (64))), false) +%!assert (iscolormap ([0 0 -2]), false) +%!assert (iscolormap ([0 0 2]), false)