Skip to content

Commit 57807af

Browse files
authored
Merge pull request #104 from tristangdwl/kern_shift_ops
Added shifted_eval support to kernel.plus
2 parents 4845da1 + f595ea0 commit 57807af

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

chunkie/@kernel/plus.m

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,28 @@
88
assert(f.opdims(1) == g.opdims(1) && f.opdims(2) == g.opdims(2), ...
99
'kernel dimensions must agree to add');
1010
f.name = ['custom ',f.name,' ',g.name];
11+
12+
if(isa(f.shifted_eval, 'function_handle'))
13+
if(isa(g.shifted_eval, 'function_handle'))
14+
f.shifted_eval = @(varargin) f.shifted_eval(varargin{:})+g.shifted_eval(varargin{:});
15+
else
16+
f.shifted_eval = @(varargin) f.shifted_eval(varargin{:})+g.eval(varargin{1:2});
17+
end
18+
else
19+
if(isa(g.shifted_eval, 'function_handle'))
20+
f.shifted_eval = @(varargin) f.eval(varargin{1:2})+g.shifted_eval(varargin{:});
21+
else
22+
f.shifted_eval = [];
23+
end
24+
end
25+
1126
f.eval = @(varargin) g.eval(varargin{:}) + f.eval(varargin{:});
1227
if (isa(g.fmm,'function_handle') && isa(f.fmm,'function_handle'))
1328
f.fmm = @(varargin) g.fmm(varargin{:}) + f.fmm(varargin{:});
1429
else
1530
f.fmm = [];
1631
end
32+
1733
if or(f.isnan,g.isnan)
1834
f = kernel.nans(f.opdims(1),f.opdims(2));
1935
end

0 commit comments

Comments
 (0)