function [xsol, delta] = eqdeg2( a, b, c )
% funzione per equazioni di secondo grado
%
%	a *x^2 + b *x + c = 0
%

if nargin < 3 || isempty(c)
	c = 0;
end
if nargin < 2 || isempty(b)
	b = -1;
end
if nargin < 1 || isempty(a)
	a = 1;
end

% calcolo discriminante

delta = b^2 - 4*a*c;

%if abs(delta) < 4*eps  % stima del valore 0 numerico
%    delta = 0;
%end

% segno di delta
sgndlt = sign(delta)

switch sgndlt

case 1 
fprintf('\n L''equazione presenta due soluzioni reali e distinte.\n')
x1 = (-b + sqrt(delta) ) / (2*a);
x2 = (-b - sqrt(delta) ) / (2*a);
xsol = [ x1 x2 ];

case -1 
fprintf('\nL''equazione presenta due soluzioni complesse coniugate.\n')
x1 = (-b + sqrt(delta) ) / (2*a);
x2 = (-b - sqrt(delta) ) / (2*a);
xsol = [ x1 x2 ];
% oppure: xsol = [];
% senza calcolare nulla

% equivalentemente: otherwise
case 0
fprintf('\nL''equazione presenta due soluzioni reali e coincidenti\n')
xsol = - b / (2*a);

end


