Code covered by the BSD License  

Highlights from
inplace_

from inplace_ by Luca Citi
Matlab versions of the c/c++ operators +=, *= (plus circshift) working in-place and avoiding unneces

inplace_(x, y, operator)
function inplace_(x, y, operator)
% inplace_	performs matlab versions of the c/c++ operators +=, *= (plus circshift) working inplace and avoiding unnecessary memory allocation
%
% inplace_(x, y, operator);
%
% To date I implemented a few functions I needed, i.e. some C-like operators and circshift:
%   inplace(x, y, +=);
%   inplace(x, y, .*=);
%   inplace(x, ns, circshift);
% that do not allocate memory and compared to the matlab equivalent
%   x = x + y;
%   x = x .* y;
%   x = circshift(x, ns);
% are (when working with arrays above 300-400 MB) much faster (tenths of second instead of a few minutes) because the pc does not start swapping to the disk.
% The matlab equivalents are currently optimized (performed in-place) only in M-code, but not at the command line.
% See http://blogs.mathworks.com/loren/?p=36 for a discussion about it.
% IMPORTANT: this piece of code infringes the recommendation that mex files should not overwrite input data.
%

Contact us at files@mathworks.com