Mercurial > octave-nkf
annotate scripts/miscellaneous/cast.m @ 19631:db92e7e28e1f
strip trailing whitespace from most source files
* NEWS, doc/interpreter/contributors.in, doc/interpreter/func.txi,
doc/interpreter/genpropdoc.m, doc/interpreter/octave_logo.eps,
doc/interpreter/plot.txi, doc/interpreter/stmt.txi,
examples/data/Makefile.am, libinterp/corefcn/data.cc,
libinterp/corefcn/debug.cc, libinterp/corefcn/error.cc,
libinterp/corefcn/file-io.cc, libinterp/corefcn/gl-render.cc,
libinterp/corefcn/graphics.cc, libinterp/corefcn/graphics.in.h,
libinterp/corefcn/load-path.cc, libinterp/corefcn/pr-output.cc,
libinterp/corefcn/pt-jit.cc, libinterp/corefcn/strfind.cc,
libinterp/corefcn/toplev.cc, libinterp/corefcn/toplev.h,
libinterp/corefcn/urlwrite.cc, libinterp/corefcn/variables.cc,
libinterp/octave-value/ov-classdef.cc,
libinterp/octave-value/ov-classdef.h, libinterp/octave.cc,
libinterp/parse-tree/lex.h, libinterp/parse-tree/oct-parse.in.yy,
libinterp/parse-tree/pt-classdef.h, liboctave/system/file-ops.cc,
liboctave/system/oct-env.cc, m4/acinclude.m4,
scripts/deprecated/finite.m, scripts/deprecated/fmod.m,
scripts/deprecated/fnmatch.m, scripts/deprecated/luinc.m,
scripts/deprecated/octave_tmp_file_name.m, scripts/deprecated/syl.m,
scripts/deprecated/usage.m, scripts/general/inputParser.m,
scripts/general/interp1.m, scripts/general/interp2.m,
scripts/general/interp3.m, scripts/general/isequal.m,
scripts/general/private/__isequal__.m, scripts/geometry/voronoi.m,
scripts/image/image.m, scripts/image/imshow.m,
scripts/image/ind2rgb.m, scripts/linear-algebra/bandwidth.m,
scripts/linear-algebra/isbanded.m, scripts/miscellaneous/bzip2.m,
scripts/miscellaneous/cast.m, scripts/miscellaneous/copyfile.m,
scripts/miscellaneous/delete.m, scripts/miscellaneous/fullfile.m,
scripts/miscellaneous/getappdata.m, scripts/miscellaneous/gunzip.m,
scripts/miscellaneous/isappdata.m, scripts/miscellaneous/ls.m,
scripts/miscellaneous/mex.m, scripts/miscellaneous/movefile.m,
scripts/miscellaneous/orderfields.m, scripts/miscellaneous/recycle.m,
scripts/miscellaneous/rmappdata.m, scripts/miscellaneous/setfield.m,
scripts/miscellaneous/symvar.m, scripts/miscellaneous/tar.m,
scripts/miscellaneous/tmpnam.m, scripts/miscellaneous/unpack.m,
scripts/miscellaneous/ver.m, scripts/miscellaneous/what.m,
scripts/miscellaneous/xor.m, scripts/miscellaneous/zip.m,
scripts/optimization/fminbnd.m, scripts/optimization/sqp.m,
scripts/path/private/getsavepath.m, scripts/path/savepath.m,
scripts/pkg/pkg.m, scripts/pkg/private/installed_packages.m,
scripts/plot/draw/plotyy.m, scripts/plot/draw/polar.m,
scripts/plot/draw/private/__quiver__.m,
scripts/plot/draw/private/__scatter__.m,
scripts/plot/draw/private/__stem__.m, scripts/plot/draw/surface.m,
scripts/plot/draw/surfnorm.m, scripts/plot/util/copyobj.m,
scripts/plot/util/hgload.m, scripts/plot/util/hgsave.m,
scripts/plot/util/isprop.m, scripts/plot/util/linkprop.m,
scripts/plot/util/private/__go_draw_axes__.m, scripts/set/setdiff.m,
scripts/set/union.m, scripts/signal/periodogram.m,
scripts/sparse/eigs.m, scripts/sparse/ilu.m, scripts/sparse/qmr.m,
scripts/sparse/sprand.m, scripts/sparse/sprandn.m,
scripts/specfun/beta.m, scripts/specfun/ellipke.m,
scripts/specfun/isprime.m, scripts/statistics/base/lscov.m,
scripts/testfun/__run_test_suite__.m, scripts/testfun/test.m:
Strip trailing whitespace.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 20 Jan 2015 10:29:54 -0500 |
parents | 3d24778a8b12 |
children | 4197fc428c7d |
rev | line source |
---|---|
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
17338
diff
changeset
|
1 ## Copyright (C) 2007-2013 John W. Eaton |
6403 | 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. | |
6403 | 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/>. | |
6403 | 18 |
19 ## -*- texinfo -*- | |
19207 | 20 ## @deftypefn {Function File} {} cast (@var{val}, "@var{type}") |
6403 | 21 ## Convert @var{val} to data type @var{type}. |
18291 | 22 ## |
19207 | 23 ## @var{val} must be one of the numeric classes: |
19631
db92e7e28e1f
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19207
diff
changeset
|
24 ## |
19207 | 25 ## @example |
26 ## @group | |
27 ## "double" | |
28 ## "single" | |
29 ## "logical" | |
30 ## "char" | |
31 ## "int8" | |
32 ## "int16" | |
33 ## "int32" | |
34 ## "int64" | |
35 ## "uint8" | |
36 ## "uint16" | |
37 ## "uint32" | |
38 ## "uint64" | |
39 ## @end group | |
40 ## @end example | |
41 ## | |
18291 | 42 ## The value @var{val} may be modified to fit within the range of the new type. |
43 ## | |
44 ## Examples: | |
45 ## | |
46 ## @example | |
47 ## @group | |
48 ## cast (-5, "uint8") | |
49 ## @result{} 0 | |
50 ## cast (300, "int8") | |
51 ## @result{} 127 | |
52 ## @end group | |
53 ## @end example | |
54 ## | |
19207 | 55 ## @seealso{typecast, int8, uint8, int16, uint16, int32, uint32, int64, uint64, double, single, logical, char, class, typeinfo} |
6403 | 56 ## @end deftypefn |
57 | |
58 ## Author: jwe | |
59 | |
19207 | 60 function retval = cast (val, type) |
6403 | 61 |
18291 | 62 if (nargin != 2) |
63 print_usage (); | |
64 endif | |
65 | |
19207 | 66 if (! ischar (type)) |
67 error ("cast: TYPE must be a string"); | |
68 elseif (! any (strcmp (type, {"int8"; "uint8"; "int16"; "uint16"; | |
69 "int32"; "uint32"; "int64"; "uint64"; | |
70 "double"; "single"; "logical"; "char"}))) | |
71 error ("cast: TYPE '%s' is not a built-in type", type); | |
6403 | 72 endif |
19631
db92e7e28e1f
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19207
diff
changeset
|
73 |
19207 | 74 retval = feval (type, val); |
6403 | 75 |
76 endfunction | |
17338
1c89599167a6
maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents:
15466
diff
changeset
|
77 |
19207 | 78 |
79 %!assert (cast (single (2.5), "double"), 2.5) | |
80 %!assert (cast (2.5, "single"), single (2.5)) | |
81 %!assert (cast ([5 0 -5], "logical"), [true false true]) | |
82 %!assert (cast ([65 66 67], "char"), "ABC") | |
83 %!assert (cast ([-2.5 1.1 2.5], "int8"), int8 ([-3 1 3])) | |
84 %!assert (cast ([-2.5 1.1 2.5], "uint8"), uint8 ([0 1 3])) | |
85 %!assert (cast ([-2.5 1.1 2.5], "int16"), int16 ([-3 1 3])) | |
86 %!assert (cast ([-2.5 1.1 2.5], "uint16"), uint16 ([0 1 3])) | |
87 %!assert (cast ([-2.5 1.1 2.5], "int32"), int32 ([-3 1 3])) | |
88 %!assert (cast ([-2.5 1.1 2.5], "uint32"), uint32 ([0 1 3])) | |
89 %!assert (cast ([-2.5 1.1 2.5], "int64"), int64 ([-3 1 3])) | |
90 %!assert (cast ([-2.5 1.1 2.5], "uint64"), uint64 ([0 1 3])) | |
91 | |
92 ## Test input validation | |
93 %!error cast () | |
94 %!error cast (1) | |
95 %!error cast (1,2,3) | |
96 %!error <TYPE 'foobar' is not a built-in type> cast (1, "foobar") | |
97 %!error <TYPE must be a string> cast (1, {"foobar"}) | |
98 |