#include "f2c.h" #include "blaswrap.h" logical slaisnan_(real *sin1, real *sin2) { /* System generated locals */ logical ret_val; /* -- LAPACK auxiliary routine (version 3.1) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* 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. */ /* ===================================================================== */ /* .. Executable Statements .. */ ret_val = *sin1 != *sin2; return ret_val; } /* slaisnan_ */