function [zabsresult,zr,zi]=zabs(zr,zi);
zabsresult=[];
persistent q s u v ;
;
%***BEGIN PROLOGUE ZABS
%***SUBSIDIARY
%***PURPOSE Subsidiary to ZBESH, ZBESI, ZBESJ, ZBESK, ZBESY, ZAIRY and
% ZBIRY
%***LIBRARY SLATEC
%***TYPE ALL (ZABS-A)
%***AUTHOR Amos, D. E., (SNL)
%***DESCRIPTION
%
% ZABS COMPUTES THE ABSOLUTE VALUE OR MAGNITUDE OF A DOUBLE
% PRECISION COMPLEX VARIABLE CMPLX(ZR,ZI)
%
%***SEE ALSO ZAIRY, ZBESH, ZBESI, ZBESJ, ZBESK, ZBESY, ZBIRY
%***ROUTINES CALLED (NONE)
%***REVISION HISTORY (YYMMDD)
% 830501 DATE WRITTEN
% 910415 Prologue converted to Version 4.0 format. (BAB)
%***end PROLOGUE ZABS
if isempty(u), u=0; end;
if isempty(v), v=0; end;
if isempty(q), q=0; end;
if isempty(s), s=0; end;
%***FIRST EXECUTABLE STATEMENT ZABS
u = abs(zr);
v = abs(zi);
s = u + v;
%-----------------------------------------------------------------------
% S*1.0D0 MAKES AN UNNORMALIZED UNDERFLOW ON CDC MACHINES INTO A
% truemlv FLOATING ZERO
%-----------------------------------------------------------------------
s = s.*1.0d+0;
if( s==0.0d+0 )
zabsresult = 0.0d+0;
elseif( u>v ) ;
q = v./u;
zabsresult = u.*sqrt(1.0d+0+q.*q);
csnil=dbstack(1); csnil=csnil(1).name(1)~='@';
if csnil&&~isempty(inputname(1)), assignin('caller','FUntemp',zr); evalin('caller',[inputname(1),'=FUntemp;']); end
if csnil&&~isempty(inputname(2)), assignin('caller','FUntemp',zi); evalin('caller',[inputname(2),'=FUntemp;']); end
return;
else;
q = u./v;
zabsresult = v.*sqrt(1.0d+0+q.*q);
csnil=dbstack(1); csnil=csnil(1).name(1)~='@';
if csnil&&~isempty(inputname(1)), assignin('caller','FUntemp',zr); evalin('caller',[inputname(1),'=FUntemp;']); end
if csnil&&~isempty(inputname(2)), assignin('caller','FUntemp',zi); evalin('caller',[inputname(2),'=FUntemp;']); end
return;
end;
csnil=dbstack(1); csnil=csnil(1).name(1)~='@';
if csnil&&~isempty(inputname(1)), assignin('caller','FUntemp',zr); evalin('caller',[inputname(1),'=FUntemp;']); end
if csnil&&~isempty(inputname(2)), assignin('caller','FUntemp',zi); evalin('caller',[inputname(2),'=FUntemp;']); end
end
%DECK ZACAI