comparison scripts/general/postpad.m @ 30875:5d3faba0342e

doc: Ensure documentation lists output argument when it exists for all m-files. For new users of Octave it is best to show explicit calling forms in the documentation and to show a return argument when it exists. * bp-table.cc, shift.m, accumarray.m, accumdim.m, bincoeff.m, bitcmp.m, bitget.m, bitset.m, blkdiag.m, celldisp.m, cplxpair.m, dblquad.m, flip.m, fliplr.m, flipud.m, idivide.m, int2str.m, interpft.m, logspace.m, num2str.m, polyarea.m, postpad.m, prepad.m, randi.m, repmat.m, rng.m, rot90.m, rotdim.m, structfun.m, triplequad.m, uibuttongroup.m, uicontrol.m, uipanel.m, uipushtool.m, uitoggletool.m, uitoolbar.m, waitforbuttonpress.m, help.m, __additional_help_message__.m, hsv.m, im2double.m, im2frame.m, javachk.m, usejava.m, argnames.m, char.m, formula.m, inline.m, __vectorize__.m, findstr.m, flipdim.m, strmatch.m, vectorize.m, commutation_matrix.m, cond.m, cross.m, duplication_matrix.m, expm.m, orth.m, rank.m, rref.m, trace.m, vech.m, cast.m, compare_versions.m, delete.m, dir.m, fileattrib.m, grabcode.m, gunzip.m, inputname.m, license.m, list_primes.m, ls.m, mexext.m, movefile.m, namelengthmax.m, nargoutchk.m, nthargout.m, substruct.m, swapbytes.m, ver.m, verLessThan.m, what.m, fminunc.m, fsolve.m, fzero.m, optimget.m, __fdjac__.m, matlabroot.m, savepath.m, campos.m, camroll.m, camtarget.m, camup.m, camva.m, camzoom.m, clabel.m, diffuse.m, legend.m, orient.m, rticks.m, specular.m, thetaticks.m, xlim.m, xtickangle.m, xticklabels.m, xticks.m, ylim.m, ytickangle.m, yticklabels.m, yticks.m, zlim.m, ztickangle.m, zticklabels.m, zticks.m, ellipsoid.m, isocolors.m, isonormals.m, stairs.m, surfnorm.m, __actual_axis_position__.m, __pltopt__.m, close.m, graphics_toolkit.m, pan.m, print.m, printd.m, __ghostscript__.m, __gnuplot_print__.m, __opengl_print__.m, rotate3d.m, subplot.m, zoom.m, compan.m, conv.m, poly.m, polyaffine.m, polyder.m, polyint.m, polyout.m, polyreduce.m, polyvalm.m, roots.m, prefdir.m, prefsfile.m, profexplore.m, profexport.m, profshow.m, powerset.m, unique.m, arch_rnd.m, arma_rnd.m, autoreg_matrix.m, bartlett.m, blackman.m, detrend.m, durbinlevinson.m, fftconv.m, fftfilt.m, fftshift.m, fractdiff.m, hamming.m, hanning.m, hurst.m, ifftshift.m, rectangle_lw.m, rectangle_sw.m, triangle_lw.m, sinc.m, sinetone.m, sinewave.m, spectral_adf.m, spectral_xdf.m, spencer.m, ilu.m, __sprand__.m, sprand.m, sprandn.m, sprandsym.m, treelayout.m, beta.m, betainc.m, betaincinv.m, betaln.m, cosint.m, expint.m, factorial.m, gammainc.m, gammaincinv.m, lcm.m, nthroot.m, perms.m, reallog.m, realpow.m, realsqrt.m, sinint.m, hadamard.m, hankel.m, hilb.m, invhilb.m, magic.m, pascal.m, rosser.m, toeplitz.m, vander.m, wilkinson.m, center.m, corr.m, cov.m, discrete_cdf.m, discrete_inv.m, discrete_pdf.m, discrete_rnd.m, empirical_cdf.m, empirical_inv.m, empirical_pdf.m, empirical_rnd.m, kendall.m, kurtosis.m, mad.m, mean.m, meansq.m, median.m, mode.m, moment.m, range.m, ranks.m, run_count.m, skewness.m, spearman.m, statistics.m, std.m, base2dec.m, bin2dec.m, blanks.m, cstrcat.m, deblank.m, dec2base.m, dec2bin.m, dec2hex.m, hex2dec.m, index.m, regexptranslate.m, rindex.m, strcat.m, strjust.m, strtrim.m, strtrunc.m, substr.m, untabify.m, __have_feature__.m, __prog_output_assert__.m, __run_test_suite__.m, example.m, fail.m, asctime.m, calendar.m, ctime.m, date.m, etime.m: Add return arguments to @deftypefn macros where they were missing. Rename variables in functions (particularly generic "retval") to match documentation. Rename some return variables for (hopefully) better clarity (e.g., 'ax' to 'hax' to indicate it is a graphics handle to an axes object).
author Rik <rik@octave.org>
date Wed, 30 Mar 2022 20:40:27 -0700
parents 796f54d4ddbf
children 597f3ee61a48
comparison
equal deleted inserted replaced
30874:2b07748dbae3 30875:5d3faba0342e
22 ## <https://www.gnu.org/licenses/>. 22 ## <https://www.gnu.org/licenses/>.
23 ## 23 ##
24 ######################################################################## 24 ########################################################################
25 25
26 ## -*- texinfo -*- 26 ## -*- texinfo -*-
27 ## @deftypefn {} {} postpad (@var{x}, @var{l}) 27 ## @deftypefn {} {@var{B} =} postpad (@var{A}, @var{l})
28 ## @deftypefnx {} {} postpad (@var{x}, @var{l}, @var{c}) 28 ## @deftypefnx {} {@var{B} =} postpad (@var{A}, @var{l}, @var{c})
29 ## @deftypefnx {} {} postpad (@var{x}, @var{l}, @var{c}, @var{dim}) 29 ## @deftypefnx {} {@var{B} =} postpad (@var{A}, @var{l}, @var{c}, @var{dim})
30 ## Append the scalar value @var{c} to the vector @var{x} until it is of length 30 ## Append the scalar value @var{c} to the vector @var{A} until it is of length
31 ## @var{l}. If @var{c} is not given, a value of 0 is used. 31 ## @var{l}. If @var{c} is not given, a value of 0 is used.
32 ## 32 ##
33 ## If @code{length (@var{x}) > @var{l}}, elements from the end of @var{x} are 33 ## If @code{length (@var{A}) > @var{l}}, elements from the end of @var{A} are
34 ## removed until a vector of length @var{l} is obtained. 34 ## removed until a vector of length @var{l} is obtained.
35 ## 35 ##
36 ## If @var{x} is a matrix, elements are appended or removed from each row. 36 ## If @var{A} is a matrix, elements are appended or removed from each row.
37 ## 37 ##
38 ## If the optional argument @var{dim} is given, operate along this dimension. 38 ## If the optional argument @var{dim} is given, operate along this dimension.
39 ## 39 ##
40 ## If @var{dim} is larger than the dimensions of @var{x}, the result will have 40 ## If @var{dim} is larger than the dimensions of @var{A}, the result will have
41 ## @var{dim} dimensions. 41 ## @var{dim} dimensions.
42 ## @seealso{prepad, cat, resize} 42 ## @seealso{prepad, cat, resize}
43 ## @end deftypefn 43 ## @end deftypefn
44 44
45 function y = postpad (x, l, c, dim) 45 function B = postpad (A, l, c, dim)
46 46
47 if (nargin < 2) 47 if (nargin < 2)
48 print_usage (); 48 print_usage ();
49 endif 49 endif
50 50
54 if (! isscalar (c)) 54 if (! isscalar (c))
55 error ("postpad: third argument must be empty or a scalar"); 55 error ("postpad: third argument must be empty or a scalar");
56 endif 56 endif
57 endif 57 endif
58 58
59 nd = ndims (x); 59 nd = ndims (A);
60 sz = size (x); 60 sz = size (A);
61 if (nargin < 4) 61 if (nargin < 4)
62 ## Find the first non-singleton dimension. 62 ## Find the first non-singleton dimension.
63 (dim = find (sz > 1, 1)) || (dim = 1); 63 (dim = find (sz > 1, 1)) || (dim = 1);
64 else 64 else
65 if (!(isscalar (dim) && dim == fix (dim) && dim >= 1)) 65 if (!(isscalar (dim) && dim == fix (dim) && dim >= 1))
82 ## the length between two vectors not knowing a priori is larger, and 82 ## the length between two vectors not knowing a priori is larger, and
83 ## allow for: 83 ## allow for:
84 ## ml = max (numel (v1), numel (v2)); 84 ## ml = max (numel (v1), numel (v2));
85 ## v1 = postpad (v1, ml); 85 ## v1 = postpad (v1, ml);
86 ## v2 = postpad (v2, ml); 86 ## v2 = postpad (v2, ml);
87 y = x; 87 B = A;
88 elseif (d >= l) 88 elseif (d >= l)
89 idx = repmat ({':'}, nd, 1); 89 idx = repmat ({':'}, nd, 1);
90 idx{dim} = 1:l; 90 idx{dim} = 1:l;
91 y = x(idx{:}); 91 B = A(idx{:});
92 else 92 else
93 sz(dim) = l - d; 93 sz(dim) = l - d;
94 y = cat (dim, x, c(ones (sz))); 94 B = cat (dim, A, c(ones (sz)));
95 endif 95 endif
96 96
97 endfunction 97 endfunction
98 98
99 99