view m-toolbox/classes/@time/plus.m @ 37:a4b7ceae0403
database-connection-manager
Show backtrace on unit test errors
author |
Daniele Nicolodi <nicolodi@science.unitn.it> |
date |
Mon, 05 Dec 2011 16:20:06 +0100 (2011-12-05) |
parents |
f0afece42f48 |
children |
|
line source
% PLUS Implements addition operator for time objects.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% DESCRIPTION: Implements addtion operator for time objects. Numeric and string
% operands are transparently handled converting them to time objects. Vector
% operands are handled accordingly to MATLAB conventions.
%
% VERSION: $Id: plus.m,v 1.20 2011/05/05 12:29:34 hewitson Exp $
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function t = plus(t1, t2)
if isnumeric(t1)
d1 = t1*1000;
elseif ischar(t1)
d1 = time(t1).utc_epoch_milli;
elseif isa(t1, 'time')
d1 = t1.utc_epoch_milli;
else
error('LTPDA:TypeError', ...
'### unsupported operand classes for plus: ''%s'' and ''%s''', ...
class(t1), class(t2));
end
if isnumeric(t2)
d2 = t2*1000;
elseif ischar(t2)
d2 = time(t2).utc_epoch_milli;
elseif isa(t2, 'time')
d2 = t2.utc_epoch_milli;
else
error('LTPDA:TypeError', ...
'### unsupported operand classes for plus: ''%s'' and ''%s''', ...
class(t1), class(t2));
end
t = time((d1 + d2)/1000);
end