[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
isnan in fortran
From: |
c. |
Subject: |
isnan in fortran |
Date: |
Tue, 10 Apr 2012 12:44:07 +0200 |
I am regularly building Octave on OSX withg gcc/gfortran 4.2.1
since this changeset:
-----------------------------------
changeset: 14392:d17237256856
user: Michael Goffioul <address@hidden>
date: Thu Feb 23 09:12:47 2012 +0000
summary: Make SLATEC-FN atanh/erfc functions more tolerant about edge cases
like
-----------------------------------
I need to locally apply the following patch (which I keep in my hq patch
queue), as gfortran 4.2 does not have isnan:
-----------------------------------
# HG changeset patch
# User Carlo de Falco <address@hidden>
# Date 1334054116 -7200
# Node ID b0734d15d631064e8963ebb4fcb3be1ead97d635
# Parent b2bf5896ab51fdd40b899d557b971fcd0ee21994
[mq]: isnan
diff -r b2bf5896ab51 -r b0734d15d631 libcruft/slatec-fn/derfc.f
--- a/libcruft/slatec-fn/derfc.f Mon Apr 09 21:11:18 2012 +0200
+++ b/libcruft/slatec-fn/derfc.f Tue Apr 10 12:35:16 2012 +0200
@@ -191,7 +191,7 @@
ENDIF
FIRST = .FALSE.
C
- IF (ISNAN(X)) THEN
+ IF (.NOT.(X.EQ.X)) THEN
DERFC = X
RETURN
ENDIF
diff -r b2bf5896ab51 -r b0734d15d631 libcruft/slatec-fn/erfc.f
--- a/libcruft/slatec-fn/erfc.f Mon Apr 09 21:11:18 2012 +0200
+++ b/libcruft/slatec-fn/erfc.f Tue Apr 10 12:35:16 2012 +0200
@@ -121,7 +121,7 @@
ENDIF
FIRST = .FALSE.
C
- IF (ISNAN(X)) THEN
+ IF (.NOT.(X.EQ.X)) THEN
ERFC = X
RETURN
ENDIF
-----------------------------------
Does anyone know a cleaner and portable way how these functions could be made
to work with fortran compilers that do not have ISNAN?
c.
- isnan in fortran,
c. <=
- Re: isnan in fortran, Mike Miller, 2012/04/10
- Re: isnan in fortran, Jordi GutiƩrrez Hermoso, 2012/04/10
- Re: isnan in fortran, Michael Goffioul, 2012/04/10
- Re: isnan in fortran, Svante Signell, 2012/04/10
- Re: isnan in fortran, Mike Miller, 2012/04/10
- Re: isnan in fortran, John W. Eaton, 2012/04/10
- Re: isnan in fortran, Mike Miller, 2012/04/10
- Re: isnan in fortran, John W. Eaton, 2012/04/10