NAG FL Interface
a02abf (abs)

1 Purpose

a02abf returns the value of the modulus of the complex number x=xr,xi.

2 Specification

Fortran Interface
Function a02abf ( xr, xi)
Real (Kind=nag_wp) :: a02abf
Real (Kind=nag_wp), Intent (In) :: xr, xi
C Header Interface
#include <nag.h>
double  a02abf_ (const double *xr, const double *xi)
The routine may be called by the names a02abf or nagf_complex_abs.

3 Description

The function evaluates xr2+xi2 by using a1+ ba 2 where a is the larger of xr and xi, and b is the smaller of xr and xi. This ensures against unnecessary overflow and loss of accuracy when calculating xr2+xi2.

4 References

Wilkinson J H and Reinsch C (1971) Handbook for Automatic Computation II, Linear Algebra Springer–Verlag

5 Arguments

1: xr Real (Kind=nag_wp) Input
2: xi Real (Kind=nag_wp) Input
On entry: xr and xi, the real and imaginary parts of x, respectively.

6 Error Indicators and Warnings


7 Accuracy

The result should be correct to machine precision.

8 Parallelism and Performance

a02abf is not threaded in any implementation.

9 Further Comments


10 Example

This example finds the modulus of -1.7+2.6i.

10.1 Program Text

Program Text (a02abfe.f90)

10.2 Program Data

Program Data (a02abfe.d)

10.3 Program Results

Program Results (a02abfe.r)