01:       LOGICAL FUNCTION DLAISNAN(DIN1,DIN2)
02: *
03: *  -- LAPACK auxiliary routine (version 3.2) --
04: *     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
05: *     November 2006
06: *
07: *     .. Scalar Arguments ..
08:       DOUBLE PRECISION DIN1,DIN2
09: *     ..
10: *
11: *  Purpose
12: *  =======
13: *
14: *  This routine is not for general use.  It exists solely to avoid
15: *  over-optimization in DISNAN.
16: *
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.
21: *
22: *  A compiler must assume that the two arguments are
23: *  not the same variable, and the test will not be optimized away.
24: *  Interprocedural or whole-program optimization may delete this
25: *  test.  The ISNAN functions will be replaced by the correct
26: *  Fortran 03 intrinsic once the intrinsic is widely available.
27: *
28: *  Arguments
29: *  =========
30: *
31: *  DIN1     (input) DOUBLE PRECISION
32: *  DIN2     (input) DOUBLE PRECISION
33: *          Two numbers to compare for inequality.
34: *
35: *  =====================================================================
36: *
37: *  .. Executable Statements ..
38:       DLAISNAN = (DIN1.NE.DIN2)
39:       RETURN
40:       END
41: