1 /* dlaisnan.f -- translated by f2c (version 20061008).
2 You must link the resulting object file with libf2c:
3 on Microsoft Windows system, link with libf2c.lib;
4 on Linux or Unix systems, link with .../path/to/libf2c.a -lm
5 or, if you install libf2c.a in a standard place, with -lf2c -lm
6 -- in that order, at the end of the command line, as in
7 cc *.o -lf2c -lm
8 Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
9
10 http://www.netlib.org/f2c/libf2c.zip
11 */
12
13 #include "f2c.h"
14 #include "blaswrap.h"
15
dlaisnan_(doublereal * din1,doublereal * din2)16 logical dlaisnan_(doublereal *din1, doublereal *din2)
17 {
18 /* System generated locals */
19 logical ret_val;
20
21
22 /* -- LAPACK auxiliary routine (version 3.2) -- */
23 /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
24 /* November 2006 */
25
26 /* .. Scalar Arguments .. */
27 /* .. */
28
29 /* Purpose */
30 /* ======= */
31
32 /* This routine is not for general use. It exists solely to avoid */
33 /* over-optimization in DISNAN. */
34
35 /* DLAISNAN checks for NaNs by comparing its two arguments for */
36 /* inequality. NaN is the only floating-point value where NaN != NaN */
37 /* returns .TRUE. To check for NaNs, pass the same variable as both */
38 /* arguments. */
39
40 /* A compiler must assume that the two arguments are */
41 /* not the same variable, and the test will not be optimized away. */
42 /* Interprocedural or whole-program optimization may delete this */
43 /* test. The ISNAN functions will be replaced by the correct */
44 /* Fortran 03 intrinsic once the intrinsic is widely available. */
45
46 /* Arguments */
47 /* ========= */
48
49 /* DIN1 (input) DOUBLE PRECISION */
50 /* DIN2 (input) DOUBLE PRECISION */
51 /* Two numbers to compare for inequality. */
52
53 /* ===================================================================== */
54
55 /* .. Executable Statements .. */
56 ret_val = *din1 != *din2;
57 return ret_val;
58 } /* dlaisnan_ */
59