% Angewandte Numerik 1, SoSe 2014
% Uebungsblatt 01, Aufgabe 3: Gleitpunktdarstellung
%
% Testprogramm fuer Funktion [d, v, t] = flp(b, m, n, x)

close all;
clear all;
clc;



%% Testfall 1

k = 1;
x = 27.375;
[d,v,t] = flp(2,8,3,x);
if (max([d-[1 1 0 1 1 0 1 1],v-[1 0 1],t-1]) == 0)
   fprintf('Testfall %d: Bestanden.\n',k)  
else
   fprintf(2,'Testfall %d: Fehlgeschlagen.\n',k) 
end


%% Testfall 2

k = 2;
x = 27.375;
[d,v,t] = flp(8,8,3,x);
if (max([d-[3 3 3 0 0 0 0 0],v-[0 0 2],t-1]) == 0)
   fprintf('Testfall %d: Bestanden.\n',k)  
else
   fprintf(2,'Testfall %d: Fehlgeschlagen.\n',k) 
end


%% Testfall 3

k = 3;
x = 9.140625;
[d,v,t] = flp(2,10,3,x);
if (max([d-[1 0 0 1 0 0 1 0 0 1],v-[1 0 0],t-1]) == 0)
   fprintf('Testfall %d: Bestanden.\n',k)  
else
   fprintf(2,'Testfall %d: Fehlgeschlagen.\n',k) 
end


%% Testfall 4

k = 4;
x = 9.140625;
[d,v,t] = flp(8,5,3,x);
if (max([d-[1 1 1 1 0],v-[0 0 2],t-1]) == 0)
   fprintf('Testfall %d: Bestanden.\n',k)  
else
   fprintf(2,'Testfall %d: Fehlgeschlagen.\n',k) 
end


%% Testfall 5

k = 5;
x = 0.375;
[d,v,t] = flp(2,3,2,x);
if (max([d-[1 1 0],v-[0 1],t+1]) == 0)
   fprintf('Testfall %d: Bestanden.\n',k)  
else
   fprintf(2,'Testfall %d: Fehlgeschlagen.\n',k) 
end


%% Testfall 6

k = 6;
x = 0.0375;
[d,v,t] = flp(8,5,2,x);
if (max([d-[2 3 1 4 6],v-[0 1],t+1]) == 0)
   fprintf('Testfall %d: Bestanden.\n',k)  
else
   fprintf(2,'Testfall %d: Fehlgeschlagen.\n',k) 
end


%% Testfall 7

k = 7;
x = 0.0625;
[d,v,t] = flp(2,3,3,x);
if (max([d-[1 0 0],v-[0 1 1],t+1]) == 0)
   fprintf('Testfall %d: Bestanden.\n',k)  
else
   fprintf(2,'Testfall %d: Fehlgeschlagen.\n',k) 
end