/usr/share/octave/site/m/vlfeat/toolbox/xtest/vl_assert_almost_equal.m is in octave-vlfeat 0.9.17+dfsg0-6build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | function vl_assert_almost_equal(x, y, varargin)
epsilon = 1e-6 ;
if length(varargin) > 0
if isnumeric(varargin{1})
epsilon = varargin{1} ;
varargin(1) = [] ;
end
end
assert(isequal(class(x), class(y)), varargin{:}) ;
assert(isequal(size(x), size(y)), varargin{:}) ;
if isstruct(x)
fx = fieldnames(x) ;
fy = fieldnames(y) ;
assert(isequal(fx,fy), varargin{:}) ;
for i=1:numel(fx)
vl_assert_almost_equal(x.(fx{i}), y.(fy{i}), epsilon, varargin{:}) ;
end
else
i = isnan(x) ;
j = isnan(y) ;
assert(isequal(i,j), varargin{:}) ;
assert(max(abs(x(~i) - y(~i))) < epsilon, varargin{:}) ;
end
end
|