#include "blaswrap.h" #include "f2c.h" logical slaisnan_(real *sin1, real *sin2) { /* -- LAPACK auxiliary routine (version 3.1) -- Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. November 2006 Purpose ======= This routine is not for general use. It exists solely to avoid over-optimization in SISNAN. SLAISNAN 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 ========= SIN1 (input) REAL SIN2 (input) REAL Two numbers to compare for inequality. ===================================================================== */ /* System generated locals */ logical ret_val; ret_val = *sin1 != *sin2; return ret_val; } /* slaisnan_ */