1*> \brief \b CLADIV performs complex division in real arithmetic, avoiding unnecessary overflow. 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8*> \htmlonly 9*> Download CLADIV + dependencies 10*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/cladiv.f"> 11*> [TGZ]</a> 12*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/cladiv.f"> 13*> [ZIP]</a> 14*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cladiv.f"> 15*> [TXT]</a> 16*> \endhtmlonly 17* 18* Definition: 19* =========== 20* 21* COMPLEX FUNCTION CLADIV( X, Y ) 22* 23* .. Scalar Arguments .. 24* COMPLEX X, Y 25* .. 26* 27* 28*> \par Purpose: 29* ============= 30*> 31*> \verbatim 32*> 33*> CLADIV := X / Y, where X and Y are complex. The computation of X / Y 34*> will not overflow on an intermediary step unless the results 35*> overflows. 36*> \endverbatim 37* 38* Arguments: 39* ========== 40* 41*> \param[in] X 42*> \verbatim 43*> X is COMPLEX 44*> \endverbatim 45*> 46*> \param[in] Y 47*> \verbatim 48*> Y is COMPLEX 49*> The complex scalars X and Y. 50*> \endverbatim 51* 52* Authors: 53* ======== 54* 55*> \author Univ. of Tennessee 56*> \author Univ. of California Berkeley 57*> \author Univ. of Colorado Denver 58*> \author NAG Ltd. 59* 60*> \ingroup complexOTHERauxiliary 61* 62* ===================================================================== 63 COMPLEX FUNCTION CLADIV( X, Y ) 64* 65* -- LAPACK auxiliary routine -- 66* -- LAPACK is a software package provided by Univ. of Tennessee, -- 67* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 68* 69* .. Scalar Arguments .. 70 COMPLEX X, Y 71* .. 72* 73* ===================================================================== 74* 75* .. Local Scalars .. 76 REAL ZI, ZR 77* .. 78* .. External Subroutines .. 79 EXTERNAL SLADIV 80* .. 81* .. Intrinsic Functions .. 82 INTRINSIC AIMAG, CMPLX, REAL 83* .. 84* .. Executable Statements .. 85* 86 CALL SLADIV( REAL( X ), AIMAG( X ), REAL( Y ), AIMAG( Y ), ZR, 87 $ ZI ) 88 CLADIV = CMPLX( ZR, ZI ) 89* 90 RETURN 91* 92* End of CLADIV 93* 94 END 95