function Z=vecop(F,X,Y)
% vecop - apply binary function to different sized arrays
%
% vecop ::
%    ([[D]],[[D]]->[[D]])  ~'some function requiring equal size args',
%    [[DX]]                ~'first arg of size DX',
%    [[DY]]                ~'second arg of size DY'
% -> [[DZ]]                ~'result of size DZ' :- DZ=max(DX,DY).
%


DX=size(X); DY=size(Y); 
E=max(length(DX),length(DY));
DZ=max(pad1s(E,DX),pad1s(E,DY));
Z=feval(F,repmat_to(X,DZ),repmat_to(Y,DZ));

