iexciting-0.9.224
[exciting.git] / src / LAPACK / dlaisnan.f
blob96350a276028c3893c9d3e3a7603344f97371f6a
1 LOGICAL FUNCTION DLAISNAN(DIN1,DIN2)
3 * -- LAPACK auxiliary routine (version 3.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * November 2006
7 * .. Scalar Arguments ..
8 DOUBLE PRECISION DIN1,DIN2
9 * ..
11 * Purpose
12 * =======
14 * This routine is not for general use. It exists solely to avoid
15 * over-optimization in DISNAN.
17 * DLAISNAN checks for NaNs by comparing its two arguments for
18 * inequality. NaN is the only floating-point value where NaN != NaN
19 * returns .TRUE. To check for NaNs, pass the same variable as both
20 * arguments.
22 * Strictly speaking, Fortran does not allow aliasing of function
23 * arguments. So a compiler must assume that the two arguments are
24 * not the same variable, and the test will not be optimized away.
25 * Interprocedural or whole-program optimization may delete this
26 * test. The ISNAN functions will be replaced by the correct
27 * Fortran 03 intrinsic once the intrinsic is widely available.
29 * Arguments
30 * =========
32 * DIN1 (input) DOUBLE PRECISION
33 * DIN2 (input) DOUBLE PRECISION
34 * Two numbers to compare for inequality.
36 * =====================================================================
38 * .. Executable Statements ..
39 DLAISNAN = (DIN1.NE.DIN2)
40 RETURN
41 END