Update to 2.0.0 tree from current Fremantle build
[opencv] / 3rdparty / lapack / dlaisnan.c
1 #include "clapack.h"
2
3 logical dlaisnan_(doublereal *din1, doublereal *din2)
4 {
5     /* System generated locals */
6     logical ret_val;
7
8
9 /*  -- LAPACK auxiliary routine (version 3.1) -- */
10 /*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
11 /*     November 2006 */
12
13 /*     .. Scalar Arguments .. */
14 /*     .. */
15
16 /*  Purpose */
17 /*  ======= */
18
19 /*  This routine is not for general use.  It exists solely to avoid */
20 /*  over-optimization in DISNAN. */
21
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 */
25 /*  arguments. */
26
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. */
33
34 /*  Arguments */
35 /*  ========= */
36
37 /*  DIN1     (input) DOUBLE PRECISION */
38 /*  DIN2     (input) DOUBLE PRECISION */
39 /*          Two numbers to compare for inequality. */
40
41 /*  ===================================================================== */
42
43 /*  .. Executable Statements .. */
44     ret_val = *din1 != *din2;
45     return ret_val;
46 } /* dlaisnan_ */