annotate general/funutils/@function_handle/ctranspose.m @ 61:eff6bddf82e3
tip
Finally implemented perceptual brightness thing.
author |
samer |
date |
Sun, 11 Oct 2015 10:20:42 +0100 |
parents |
c388f1c70669 |
children |
|
rev |
line source |
samer@39
|
1 % ctranspose - flip first two function arguments
|
samer@39
|
2 %
|
samer@39
|
3 % ctranspose :: (A,B,C{:}=>D{:}) -> (B,A,C{:}=>D{:}).
|
samer@38
|
4 function h=ctranspose(f,nin,nout)
|
samer@38
|
5 fns = { @q21, @q2n; @qn1, @qnn };
|
samer@38
|
6 if nargin<3, nout=nargout(f); end
|
samer@38
|
7 if nargin<2, nin=nargin(f); end
|
samer@38
|
8 h=fns{acount(nin,2)-1,acount(nout,1)};
|
samer@38
|
9 function y=q21(x,y), y=f(y,x); end
|
samer@38
|
10 function y=qn1(x,y,varargin), y=f(y,x,varargin{:}); end
|
samer@38
|
11 function varargout=q2n(x,y), [varargout{1:nargout}]=f(y,x); end
|
samer@38
|
12 function varargout=qnn(x,y,varargin), [varargout{1:nargout}]=f(y,x,varargin{:}); end
|
samer@38
|
13 end
|