1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
% test the funcs in mwrapfloat. Barnett & Gimbutas.
% *** should be made pass-fail. Need to check complex arrays correct by eye
format long g
format compact
fprintf('scalar real routines...\n')
x = 1/3; xf = single(x);
c = add(x,x), class(c)
try
c = add(xf,xf) % should error
catch ME
ME.message
disp('good')
end
try
c = addf(x,x), class(c) % should error
catch ME
ME.message
disp('good')
end
c = addf(xf,xf) % input as designed, should give single
fprintf('\narray real routines...\n')
x = x*ones(3,1); xf = xf*ones(3,1);
c = arradd(x,x), class(c) % double->double, as mwrap 0.33.3 designed for!
try
c = arradd(xf,xf) % should error
catch ME
ME.message
disp('good')
end
try
c = arraddf(x,x), class(c) % should error
catch ME
ME.message
disp('good')
end
c = arraddf(xf,xf) % input as designed, should give single
fprintf('\nscalar complex routines...\n')
z = (1+2i)/3; zf = single(z);
c = addz(z,z), class(c)
try
c = addz(zf,zf) % should error
catch ME
ME.message
disp('good')
end
try
c = addc(z,z), class(c) % should error
catch ME
ME.message
disp('good')
end
c = addc(zf,zf) % input as designed, should give single
fprintf('\narray complex routines...\n')
z = z*ones(3,1); zf = zf*ones(3,1);
try
c = arraddz(z,z), class(c) % input as designed, double
catch ME
ME.message
disp('****** bad')
end
try
c = arraddz(zf,zf) % should error
catch ME
ME.message
disp('good')
end
try
c = arraddc(z,z), class(c) % should error
catch ME
ME.message
disp('good')
end
try
c = arraddc(zf,zf) % input as designed, should give single
catch ME
ME.message
disp('****** bad')
end
|