1 |
function r = and(p,q) |
2 |
%overloaded gcmfaces and function : |
3 |
% simply calls double and function for each face data |
4 |
% if any of the two arguments is a gcmfaces object |
5 |
|
6 |
if isa(p,'gcmfaces'); r=p; else; r=q; end; |
7 |
for iFace=1:r.nFaces; |
8 |
iF=num2str(iFace); |
9 |
if isa(p,'gcmfaces')&isa(q,'gcmfaces'); |
10 |
eval(['r.f' iF '=p.f' iF '&q.f' iF ';']); |
11 |
elseif isa(p,'gcmfaces')&isa(q,'double'); |
12 |
eval(['r.f' iF '=p.f' iF '&q;']); |
13 |
elseif isa(p,'double')&isa(q,'gcmfaces'); |
14 |
eval(['r.f' iF '=p&q.f' iF ';']); |
15 |
else; |
16 |
error('gcmfaces and: types are incompatible') |
17 |
end; |
18 |
end; |
19 |
|
20 |
|