mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-07-18 14:50:50 +10:00
updated ui added new features
This commit is contained in:
Vendored
+119
@@ -0,0 +1,119 @@
|
||||
% autotest.m
|
||||
% David Rowe Mar 2015
|
||||
%
|
||||
% Helper functions to plot output of C version and difference between Octave and C versions
|
||||
|
||||
1;
|
||||
|
||||
function stem_sig_and_error(plotnum, subplotnum, sig, error, titlestr, axisvec)
|
||||
global no_plot_list;
|
||||
|
||||
if find(no_plot_list == plotnum)
|
||||
return;
|
||||
end
|
||||
|
||||
figure(plotnum)
|
||||
subplot(subplotnum)
|
||||
stem(sig,'g;Octave version;');
|
||||
hold on;
|
||||
stem(error,'r;Octave - C version (hopefully 0);');
|
||||
hold off;
|
||||
if nargin == 6
|
||||
axis(axisvec);
|
||||
end
|
||||
title(titlestr);
|
||||
endfunction
|
||||
|
||||
|
||||
function plot_sig_and_error(plotnum, subplotnum, sig, error, titlestr, axisvec)
|
||||
global no_plot_list;
|
||||
|
||||
if find(no_plot_list == plotnum)
|
||||
return;
|
||||
end
|
||||
|
||||
figure(plotnum)
|
||||
subplot(subplotnum)
|
||||
plot(sig,'g;Octave version;');
|
||||
hold on;
|
||||
plot(error,'r;Octave - C version (hopefully 0);');
|
||||
hold off;
|
||||
if nargin == 6
|
||||
axis(axisvec);
|
||||
end
|
||||
title(titlestr);
|
||||
endfunction
|
||||
|
||||
|
||||
function pass = check(a, b, test_name, tol, its_an_angle = 0)
|
||||
global passes;
|
||||
global fails;
|
||||
|
||||
if nargin == 3
|
||||
tol = 1E-3;
|
||||
end
|
||||
|
||||
[m n] = size(a);
|
||||
if m > n
|
||||
ll = m;
|
||||
else
|
||||
ll = n;
|
||||
end
|
||||
|
||||
printf("%s", test_name);
|
||||
for i=1:(25-length(test_name))
|
||||
printf(".");
|
||||
end
|
||||
printf(": ");
|
||||
|
||||
if its_an_angle
|
||||
% take into account pi is close to -pi for angles in rads
|
||||
e = sum(sum(abs(exp(j*a) - exp(j*b)))/ll);
|
||||
else
|
||||
e = sum(sum(abs(a - b))/ll);
|
||||
end
|
||||
|
||||
if e < tol
|
||||
printf("OK\n");
|
||||
pass = true;
|
||||
passes++;
|
||||
else
|
||||
printf("FAIL (%f)\n",e);
|
||||
pass = false;
|
||||
fails++;
|
||||
end
|
||||
endfunction
|
||||
|
||||
function pass = check_no_abs(a, b, test_name)
|
||||
global passes;
|
||||
global fails;
|
||||
|
||||
tol = 1E-3;
|
||||
|
||||
[m n] = size(a);
|
||||
if m > n
|
||||
ll = m;
|
||||
else
|
||||
ll = n;
|
||||
end
|
||||
|
||||
printf("%s", test_name);
|
||||
for i=1:(25-length(test_name))
|
||||
printf(".");
|
||||
end
|
||||
printf(": ");
|
||||
|
||||
e = sum(sum(a - b)/ll);
|
||||
|
||||
if e < tol
|
||||
pass = true;
|
||||
printf("OK\n");
|
||||
passes++;
|
||||
else
|
||||
pass = false;
|
||||
printf("FAIL (%f)\n",e);
|
||||
fails++;
|
||||
end
|
||||
endfunction
|
||||
|
||||
|
||||
Reference in New Issue
Block a user