3 logical dlaisnan_(doublereal *din1, doublereal *din2)
5 /* System generated locals */
9 /* -- LAPACK auxiliary routine (version 3.1) -- */
10 /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
13 /* .. Scalar Arguments .. */
19 /* This routine is not for general use. It exists solely to avoid */
20 /* over-optimization in DISNAN. */
22 /* DLAISNAN checks for NaNs by comparing its two arguments for */
23 /* inequality. NaN is the only floating-point value where NaN != NaN */
24 /* returns .TRUE. To check for NaNs, pass the same variable as both */
27 /* Strictly speaking, Fortran does not allow aliasing of function */
28 /* arguments. So a compiler must assume that the two arguments are */
29 /* not the same variable, and the test will not be optimized away. */
30 /* Interprocedural or whole-program optimization may delete this */
31 /* test. The ISNAN functions will be replaced by the correct */
32 /* Fortran 03 intrinsic once the intrinsic is widely available. */
37 /* DIN1 (input) DOUBLE PRECISION */
38 /* DIN2 (input) DOUBLE PRECISION */
39 /* Two numbers to compare for inequality. */
41 /* ===================================================================== */
43 /* .. Executable Statements .. */
44 ret_val = *din1 != *din2;