00001 LOGICAL FUNCTION SLAISNAN( SIN1, SIN2 ) 00002 * 00003 * -- LAPACK auxiliary routine (version 3.2.2) -- 00004 * -- LAPACK is a software package provided by Univ. of Tennessee, -- 00005 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 00006 * June 2010 00007 * 00008 * .. Scalar Arguments .. 00009 REAL SIN1, SIN2 00010 * .. 00011 * 00012 * Purpose 00013 * ======= 00014 * 00015 * This routine is not for general use. It exists solely to avoid 00016 * over-optimization in SISNAN. 00017 * 00018 * SLAISNAN checks for NaNs by comparing its two arguments for 00019 * inequality. NaN is the only floating-point value where NaN != NaN 00020 * returns .TRUE. To check for NaNs, pass the same variable as both 00021 * arguments. 00022 * 00023 * A compiler must assume that the two arguments are 00024 * not the same variable, and the test will not be optimized away. 00025 * Interprocedural or whole-program optimization may delete this 00026 * test. The ISNAN functions will be replaced by the correct 00027 * Fortran 03 intrinsic once the intrinsic is widely available. 00028 * 00029 * Arguments 00030 * ========= 00031 * 00032 * SIN1 (input) REAL 00033 * 00034 * SIN2 (input) REAL 00035 * Two numbers to compare for inequality. 00036 * 00037 * ===================================================================== 00038 * 00039 * .. Executable Statements .. 00040 SLAISNAN = (SIN1.NE.SIN2) 00041 RETURN 00042 END