samer@4: function g=flip(f) samer@4: % flip - Flip order of first two arguments to a function samer@4: % samer@4: % flip :: (A,B->C) -> (B,A->C). samer@12: % flip :: (A,B,D{1:N}->C) -> (B,A,D{1:N}->C). samer@4: samer@4: if isa(f,'func'), samer@4: g=perm(f,[2,1]); samer@4: else samer@4: if nargin(f)==2, f=@(a,b)f(b,a); samer@4: else f=@(a,b,varargin)f(b,a,varargin{:}); samer@4: end samer@4: end samer@4: