From 6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26 Mon Sep 17 00:00:00 2001 From: Siddhesh Wani Date: Mon, 25 May 2015 14:46:31 +0530 Subject: Original Version --- 2.3-1/src/fortran/lapack/dlaisnan.f | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 2.3-1/src/fortran/lapack/dlaisnan.f (limited to '2.3-1/src/fortran/lapack/dlaisnan.f') diff --git a/2.3-1/src/fortran/lapack/dlaisnan.f b/2.3-1/src/fortran/lapack/dlaisnan.f new file mode 100644 index 00000000..96350a27 --- /dev/null +++ b/2.3-1/src/fortran/lapack/dlaisnan.f @@ -0,0 +1,41 @@ + LOGICAL FUNCTION DLAISNAN(DIN1,DIN2) +* +* -- LAPACK auxiliary routine (version 3.1) -- +* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. +* November 2006 +* +* .. Scalar Arguments .. + DOUBLE PRECISION DIN1,DIN2 +* .. +* +* Purpose +* ======= +* +* This routine is not for general use. It exists solely to avoid +* over-optimization in DISNAN. +* +* DLAISNAN checks for NaNs by comparing its two arguments for +* inequality. NaN is the only floating-point value where NaN != NaN +* returns .TRUE. To check for NaNs, pass the same variable as both +* arguments. +* +* Strictly speaking, Fortran does not allow aliasing of function +* arguments. So a compiler must assume that the two arguments are +* not the same variable, and the test will not be optimized away. +* Interprocedural or whole-program optimization may delete this +* test. The ISNAN functions will be replaced by the correct +* Fortran 03 intrinsic once the intrinsic is widely available. +* +* Arguments +* ========= +* +* DIN1 (input) DOUBLE PRECISION +* DIN2 (input) DOUBLE PRECISION +* Two numbers to compare for inequality. +* +* ===================================================================== +* +* .. Executable Statements .. + DLAISNAN = (DIN1.NE.DIN2) + RETURN + END -- cgit