X-Git-Url: http://git.maemo.org/git/?p=opencv;a=blobdiff_plain;f=3rdparty%2Flapack%2Fslaisnan.c;fp=3rdparty%2Flapack%2Fslaisnan.c;h=6a3cae9ce184303e9f812e2873bddfdbdc8bf4ce;hp=0000000000000000000000000000000000000000;hb=e4c14cdbdf2fe805e79cd96ded236f57e7b89060;hpb=454138ff8a20f6edb9b65a910101403d8b520643 diff --git a/3rdparty/lapack/slaisnan.c b/3rdparty/lapack/slaisnan.c new file mode 100644 index 0000000..6a3cae9 --- /dev/null +++ b/3rdparty/lapack/slaisnan.c @@ -0,0 +1,46 @@ +#include "clapack.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_ */