samer@0: % aparallel - Parallel application of arrows to multiple inputs samer@0: % samer@0: % aparallel :: samer@27: % arrow( A1@typelist(N1), B1@typelist(M1), C1) ~'arrow with N1 inputs, M1 outputs', samer@27: % arrow( A2@typelist(N2), B2@typelist(M2), C2) ~'arrow with N2 inputs, M2 outputs', samer@0: % -> arrow( [A1,A2], [B1,B2],cell {C1,C2}) ~'arrow with N1+N2 ins, M1+M2 outs'. samer@0: % samer@0: % The list of inputs of the second arrow is concatenated to those samer@0: % of the first. Ditto the ouputs. State is cell array pair of samer@0: % states of the two component arrows. samer@0: samer@0: function o=aparallel(a1,a2) samer@0: s.a1=a1; samer@0: s.a2=a2; samer@0: o=class(s,'aparallel',arrow(nargin(a1)+nargin(a2),nargout(a1)+nargout(a2))); samer@0: end