How to detect ~ in output argument list, so as to avoid memory allocation inside called function

2 views (last 30 days)
We need a mechanism to detect ~ in the output argument list from inside the called function. I have a very real use case where such detection inside the called function would avoid unnecessary memory allocation of a significant amount.
After all, we do have inputname(), why do we not have outputname()?
In caller scope:
[~,~,c] = myFunction(stuff);
Definition of myFunction:
function [a,b,c] = myFunction(varargin)
if weHaveATildaInOutputArgument(1)
% avoid allocating a huge amount of memory for parameter, a.
else
% allocate memory for output parameter, a.
etc.
end
return

Answers (1)

Sean de Wolski
Sean de Wolski on 23 Mar 2015
Pass in an extra input parameter as a flag that the function can use to dictate the expected behavior.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!