Mercurial > hg > ishara
diff general/funutils/@function_handle/or.m @ 39:c388f1c70669
Updated documentation and fixed some bugs in function algebra
author | samer |
---|---|
date | Tue, 29 Jan 2013 17:02:00 +0000 |
parents | 9d24b616bb06 |
children |
line wrap: on
line diff
--- a/general/funutils/@function_handle/or.m Tue Jan 29 15:59:01 2013 +0000 +++ b/general/funutils/@function_handle/or.m Tue Jan 29 17:02:00 2013 +0000 @@ -6,9 +6,10 @@ % N:natural, ~'defaults to nargin(F)' % M:natural ~'defaults to nargout(F)' % -> (A{1:N} => B{1:M}, C{1:L}). -function h=and(f,g,nin,nout) +function h=or(f,g,nin,nout) if nargin<4, nout=nargout(f); end if nargin<3, nin=nargin(f); end + noutg=nargout(g); fns = { @q11, @q1n; @qn1, @qnn }; h=fns{acount(nin,1),max(acount(nargout(g),1),acount(nout,1))}; @@ -16,7 +17,7 @@ function [y,z]=qn1(varargin), y=f(varargin{:}); z=g(varargin{:}); end function varargout=q1n(x), [varargout{1:nout}]=f(x); [varargout{nout+1:nargout}]=g(x); end function varargout=qnn(varargin), - [varargin{1:nout}]=f(varargin{:}); - [varargout{1:nargout}]=g(varargin{:}); + [varargout{1:nout}]=f(varargin{:}); + [varargout{nout+(1:noutg)}]=g(varargin{:}); end end