LAPACK  3.10.1 LAPACK: Linear Algebra PACKage
Go to the documentation of this file.
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
11 *> [TGZ]</a>
13 *> [ZIP]</a>
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 ..
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 *