<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic problem: linux ifort 64 bits returns NaN on Ubuntu 64 bits in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/problem-linux-ifort-64-bits-returns-NaN-on-Ubuntu-64-bits/m-p/747381#M4943</link>
    <description>(sorry my english. it isn't too good)&lt;BR /&gt;My OS is Ubuntu 7.10 64 bits and my CPU is a Intel Core 2 Duo (T5250).&lt;BR /&gt;I have installed ifort 64 bits (l_fc_p_10.1.012_intel64.tar.gz) on my PC.&lt;BR /&gt;&lt;BR /&gt;I compile a code *.f use the command.&lt;BR /&gt;$ ifort -o test *.f&lt;BR /&gt;&lt;BR /&gt;and run with&lt;BR /&gt;$ ./test&lt;BR /&gt;NaN 9.9999998E-03&lt;BR /&gt;NaN 1.9801980E-04&lt;BR /&gt;&lt;BR /&gt;----------------------------------------------&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I can't understand NaN result because when I use Ubuntu 7.10 32 bits and I run the same code compiled by ifort 32 bits (same PC) (l_fc_p_10.1.012_ia32) the result is&lt;BR /&gt;&lt;BR /&gt;$ ./test&lt;BR /&gt;9.8724573E-03  9.9999998E-03&lt;BR /&gt;1.9951592E-03 1.9801980E-04&lt;BR /&gt;
&lt;BR /&gt;
----------------------------------------------&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Are there something wrong with my code or my compilation on a 64 bits system?&lt;BR /&gt;&lt;BR /&gt;The are only 3 codes in the directory of compilation. These codes are:&lt;BR /&gt;&lt;BR /&gt;__________________________________________________________________&lt;BR /&gt;&lt;BR /&gt;c Main program --&amp;gt; testegmacue.f&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER SEED,I,N,M, tempo&lt;BR /&gt; REAL SOMA2,SOMA4&lt;BR /&gt; COMPLEX U(100,100)&lt;BR /&gt;&lt;BR /&gt; N = 100&lt;BR /&gt; M = 6000&lt;BR /&gt; &lt;BR /&gt; CALL SYSTEM_CLOCK(SEED)&lt;BR /&gt; tempo = seed&lt;BR /&gt;&lt;BR /&gt; SEED = 10*ABS(COS(FLOAT(SEED)))&lt;BR /&gt;&lt;BR /&gt; CALL RANSET(SEED)&lt;BR /&gt;&lt;BR /&gt; SOMA2 = 0&lt;BR /&gt; SOMA4 = 0&lt;BR /&gt; DO I = 1,M&lt;BR /&gt;  SEED = SEED + 1&lt;BR /&gt;  CALL GMACUE(N,U,SEED)&lt;BR /&gt;  SOMA2 = SOMA2 + CABS(U(1,2))**2&lt;BR /&gt;  SOMA4 = SOMA4 + CABS(U(1,2))**4&lt;BR /&gt; END DO&lt;BR /&gt; WRITE(*,*) SOMA2/M, 1./N&lt;BR /&gt; WRITE(*,*) SOMA4/M, 2./(N*(N+1))&lt;BR /&gt; &lt;BR /&gt; END&lt;BR /&gt;_____________________________________________________________________&lt;BR /&gt;&lt;BR /&gt;c gmacue.f&lt;BR /&gt; SUBROUTINE GMACUE(N,U,SEED) &lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER SEED,N,I,J,IA,JA&lt;BR /&gt; COMPLEX U(N,N)&lt;BR /&gt; REAL FI,CHI,PSI,RANF&lt;BR /&gt; REAL PI&lt;BR /&gt; COMPLEX IM&lt;BR /&gt; COMPLEX C1,C2&lt;BR /&gt; IM = (0,1)&lt;BR /&gt; PI = 3.14159&lt;BR /&gt; CALL RANSET(SEED)&lt;BR /&gt;&lt;BR /&gt; DO IA=1,N&lt;BR /&gt;  DO JA=1,IA-1&lt;BR /&gt;   U(IA,JA) = 0&lt;BR /&gt;  END DO&lt;BR /&gt;  U(IA,IA) = 1&lt;BR /&gt;  DO JA=IA+1,N&lt;BR /&gt;   U(IA,JA) = 0&lt;BR /&gt;  END DO&lt;BR /&gt; END DO&lt;BR /&gt;&lt;BR /&gt; DO I = N-1,1,-1&lt;BR /&gt;  DO J = I+1,N-1&lt;BR /&gt;   FI = 2*(N - J + 1)
&lt;BR /&gt;   FI = 1./FI&lt;BR /&gt;   FI = ACOS(RANF()**FI)&lt;BR /&gt;   PSI = 2*PI*RANF()&lt;BR /&gt;   C1 = COS(FI)*CEXP(IM*PSI)&lt;BR /&gt;   C2 = SIN(FI)&lt;BR /&gt;   CALL SMATMUL(U,N,I,J,C1,C2)&lt;BR /&gt;  END DO&lt;BR /&gt;  FI = ACOS(RANF()**0.5)&lt;BR /&gt;  PSI = 2*PI*RANF()&lt;BR /&gt;  CHI = 2*PI*RANF()&lt;BR /&gt;  C1 = COS(FI)*CEXP(IM*PSI)&lt;BR /&gt;  C2 = SIN(FI)*CEXP(IM*CHI)&lt;BR /&gt;  CALL SMATMUL(U,N,I,N,C1,C2)&lt;BR /&gt; END DO&lt;BR /&gt; C1 = CEXP(IM*2*PI*RANF())&lt;BR /&gt; DO I = 1, N&lt;BR /&gt;  DO J = 1,N&lt;BR /&gt;   U(I,J) = U(I,J)*C1&lt;BR /&gt;  END DO&lt;BR /&gt; END DO&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;   &lt;BR /&gt; SUBROUTINE SMATMUL(A,N,I,J,C1,C2)&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER K,N,I,J&lt;BR /&gt; COMPLEX A(N,N),C1,C2,AKI&lt;BR /&gt;  &lt;BR /&gt; DO K = 1,N&lt;BR /&gt;  AKI = A(K,I)&lt;BR /&gt;  A(K,I) = C1*AKI - CONJG(C2)*A(K,J)&lt;BR /&gt;  A(K,J) = CONJG(C1)*A(K,J) + C2*AKI&lt;BR /&gt; END DO&lt;BR /&gt; &lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;&lt;BR /&gt;______________________________________________________________________&lt;BR /&gt;&lt;BR /&gt;**==ranf.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt; FUNCTION RANF()&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; DOUBLE PRECISION RANF&lt;BR /&gt; REAL*8 RCARRY&lt;BR /&gt; RANF = DBLE(RCARRY())&lt;BR /&gt; RETURN&lt;BR /&gt;C ----------------------------------------------------C&lt;BR /&gt; END&lt;BR /&gt;**==randx.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt; FUNCTION RANDX(Iseed)&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt;C Random number generator, fast and rough, machine independent.&lt;BR /&gt;C Returns an uniformly distributed deviate in the 0 to 1 interval.&lt;BR /&gt;C This random number generator is portable, machine-independent and&lt;BR /&gt;C reproducible, for any machine with at least 32 bits / real number.&lt;BR /&gt;C REF: Press, Flannery, Teukolsky, Vetterling, Numerical Recipes (1986)&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER IA, IC, Iseed, M1&lt;BR /&gt; REAL*8 RANDX, RM&lt;BR /&gt; PARAMETER (M1=714025, IA=1366, IC=150889, RM=1.D+0/M1)&lt;BR /&gt;c&lt;BR /&gt; Ise
ed = MOD(IA*Iseed+IC, M1)&lt;BR /&gt; RANDX = Iseed*RM&lt;BR /&gt; IF (RANDX.LT.0.D+0) THEN&lt;BR /&gt; STOP '*** Random number is negative ***'&lt;BR /&gt; END IF&lt;BR /&gt;c&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;**==ranset.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt; SUBROUTINE RANSET(Iseed)&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER Iseed&lt;BR /&gt;&lt;BR /&gt; CALL RSTART(Iseed)&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;**==rstart.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt; SUBROUTINE RSTART(Iseeda)&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt;C Initialize Marsaglia list of 24 random numbers.&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; REAL*8 CARRY, ran, RANDX, SEED&lt;BR /&gt; INTEGER i, I24, ISEED, Iseeda, J24&lt;BR /&gt; COMMON /RANDOM/ SEED(24), CARRY, I24, J24, ISEED&lt;BR /&gt;&lt;BR /&gt; I24 = 24&lt;BR /&gt; J24 = 10&lt;BR /&gt; CARRY = 0.D+0&lt;BR /&gt; ISEED = Iseeda&lt;BR /&gt;c&lt;BR /&gt;c get rid of initial correlations in rand by throwing&lt;BR /&gt;c away the first 100 random numbers generated.&lt;BR /&gt;c&lt;BR /&gt; DO i = 1, 100&lt;BR /&gt; ran = RANDX(ISEED)&lt;BR /&gt; END DO&lt;BR /&gt;c&lt;BR /&gt;c initialize the 24 elements of seed&lt;BR /&gt;c&lt;BR /&gt;&lt;BR /&gt; DO i = 1, 24&lt;BR /&gt; SEED(i) = RANDX(ISEED)&lt;BR /&gt; END DO&lt;BR /&gt;&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;**==rcarry.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; FUNCTION RCARRY()&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt;C Random number generator from Marsaglia.&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; REAL*8 CARRY, RCARRY, SEED, TWOm24, TWOp24, uni&lt;BR /&gt; INTEGER I24, ISEED, J24&lt;BR /&gt; PARAMETER (TWOp24=16777216.D+0, TWOm24=1.D+0/TWOp24)&lt;BR /&gt; COMMON /RANDOM/ SEED(24), CARRY, I24, J24, ISEED&lt;BR /&gt;c&lt;BR /&gt;c f.james Comp. Phys. Comm. 60, 329 (1990)&lt;BR /&gt;c algorithm by G. Marsaglia and A. Zaman&lt;BR /&gt;c base b = 2**24 lags r=24 and s=10&lt;BR /&gt;c&lt;BR /&gt; uni = SEED(I24) - SEED(J24) - CARRY&lt;BR /&gt; IF (uni.LT.0.D+0) THEN&lt;BR /&gt; uni = uni + 1.D+0&lt;BR /&gt;&amp;nbsp;
; CARRY = TWOm24&lt;BR /&gt; ELSE&lt;BR /&gt; CARRY = 0.D+0&lt;BR /&gt; END IF&lt;BR /&gt; SEED(I24) = uni&lt;BR /&gt; I24 = I24 - 1&lt;BR /&gt; IF (I24.EQ.0) I24 = 24&lt;BR /&gt; J24 = J24 - 1&lt;BR /&gt; IF (J24.EQ.0) J24 = 24&lt;BR /&gt; RCARRY = uni&lt;BR /&gt;&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Tue, 01 Apr 2008 01:36:47 GMT</pubDate>
    <dc:creator>fassisalmeida</dc:creator>
    <dc:date>2008-04-01T01:36:47Z</dc:date>
    <item>
      <title>problem: linux ifort 64 bits returns NaN on Ubuntu 64 bits</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/problem-linux-ifort-64-bits-returns-NaN-on-Ubuntu-64-bits/m-p/747381#M4943</link>
      <description>(sorry my english. it isn't too good)&lt;BR /&gt;My OS is Ubuntu 7.10 64 bits and my CPU is a Intel Core 2 Duo (T5250).&lt;BR /&gt;I have installed ifort 64 bits (l_fc_p_10.1.012_intel64.tar.gz) on my PC.&lt;BR /&gt;&lt;BR /&gt;I compile a code *.f use the command.&lt;BR /&gt;$ ifort -o test *.f&lt;BR /&gt;&lt;BR /&gt;and run with&lt;BR /&gt;$ ./test&lt;BR /&gt;NaN 9.9999998E-03&lt;BR /&gt;NaN 1.9801980E-04&lt;BR /&gt;&lt;BR /&gt;----------------------------------------------&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I can't understand NaN result because when I use Ubuntu 7.10 32 bits and I run the same code compiled by ifort 32 bits (same PC) (l_fc_p_10.1.012_ia32) the result is&lt;BR /&gt;&lt;BR /&gt;$ ./test&lt;BR /&gt;9.8724573E-03  9.9999998E-03&lt;BR /&gt;1.9951592E-03 1.9801980E-04&lt;BR /&gt;
&lt;BR /&gt;
----------------------------------------------&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Are there something wrong with my code or my compilation on a 64 bits system?&lt;BR /&gt;&lt;BR /&gt;The are only 3 codes in the directory of compilation. These codes are:&lt;BR /&gt;&lt;BR /&gt;__________________________________________________________________&lt;BR /&gt;&lt;BR /&gt;c Main program --&amp;gt; testegmacue.f&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER SEED,I,N,M, tempo&lt;BR /&gt; REAL SOMA2,SOMA4&lt;BR /&gt; COMPLEX U(100,100)&lt;BR /&gt;&lt;BR /&gt; N = 100&lt;BR /&gt; M = 6000&lt;BR /&gt; &lt;BR /&gt; CALL SYSTEM_CLOCK(SEED)&lt;BR /&gt; tempo = seed&lt;BR /&gt;&lt;BR /&gt; SEED = 10*ABS(COS(FLOAT(SEED)))&lt;BR /&gt;&lt;BR /&gt; CALL RANSET(SEED)&lt;BR /&gt;&lt;BR /&gt; SOMA2 = 0&lt;BR /&gt; SOMA4 = 0&lt;BR /&gt; DO I = 1,M&lt;BR /&gt;  SEED = SEED + 1&lt;BR /&gt;  CALL GMACUE(N,U,SEED)&lt;BR /&gt;  SOMA2 = SOMA2 + CABS(U(1,2))**2&lt;BR /&gt;  SOMA4 = SOMA4 + CABS(U(1,2))**4&lt;BR /&gt; END DO&lt;BR /&gt; WRITE(*,*) SOMA2/M, 1./N&lt;BR /&gt; WRITE(*,*) SOMA4/M, 2./(N*(N+1))&lt;BR /&gt; &lt;BR /&gt; END&lt;BR /&gt;_____________________________________________________________________&lt;BR /&gt;&lt;BR /&gt;c gmacue.f&lt;BR /&gt; SUBROUTINE GMACUE(N,U,SEED) &lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER SEED,N,I,J,IA,JA&lt;BR /&gt; COMPLEX U(N,N)&lt;BR /&gt; REAL FI,CHI,PSI,RANF&lt;BR /&gt; REAL PI&lt;BR /&gt; COMPLEX IM&lt;BR /&gt; COMPLEX C1,C2&lt;BR /&gt; IM = (0,1)&lt;BR /&gt; PI = 3.14159&lt;BR /&gt; CALL RANSET(SEED)&lt;BR /&gt;&lt;BR /&gt; DO IA=1,N&lt;BR /&gt;  DO JA=1,IA-1&lt;BR /&gt;   U(IA,JA) = 0&lt;BR /&gt;  END DO&lt;BR /&gt;  U(IA,IA) = 1&lt;BR /&gt;  DO JA=IA+1,N&lt;BR /&gt;   U(IA,JA) = 0&lt;BR /&gt;  END DO&lt;BR /&gt; END DO&lt;BR /&gt;&lt;BR /&gt; DO I = N-1,1,-1&lt;BR /&gt;  DO J = I+1,N-1&lt;BR /&gt;   FI = 2*(N - J + 1)
&lt;BR /&gt;   FI = 1./FI&lt;BR /&gt;   FI = ACOS(RANF()**FI)&lt;BR /&gt;   PSI = 2*PI*RANF()&lt;BR /&gt;   C1 = COS(FI)*CEXP(IM*PSI)&lt;BR /&gt;   C2 = SIN(FI)&lt;BR /&gt;   CALL SMATMUL(U,N,I,J,C1,C2)&lt;BR /&gt;  END DO&lt;BR /&gt;  FI = ACOS(RANF()**0.5)&lt;BR /&gt;  PSI = 2*PI*RANF()&lt;BR /&gt;  CHI = 2*PI*RANF()&lt;BR /&gt;  C1 = COS(FI)*CEXP(IM*PSI)&lt;BR /&gt;  C2 = SIN(FI)*CEXP(IM*CHI)&lt;BR /&gt;  CALL SMATMUL(U,N,I,N,C1,C2)&lt;BR /&gt; END DO&lt;BR /&gt; C1 = CEXP(IM*2*PI*RANF())&lt;BR /&gt; DO I = 1, N&lt;BR /&gt;  DO J = 1,N&lt;BR /&gt;   U(I,J) = U(I,J)*C1&lt;BR /&gt;  END DO&lt;BR /&gt; END DO&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;   &lt;BR /&gt; SUBROUTINE SMATMUL(A,N,I,J,C1,C2)&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER K,N,I,J&lt;BR /&gt; COMPLEX A(N,N),C1,C2,AKI&lt;BR /&gt;  &lt;BR /&gt; DO K = 1,N&lt;BR /&gt;  AKI = A(K,I)&lt;BR /&gt;  A(K,I) = C1*AKI - CONJG(C2)*A(K,J)&lt;BR /&gt;  A(K,J) = CONJG(C1)*A(K,J) + C2*AKI&lt;BR /&gt; END DO&lt;BR /&gt; &lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;&lt;BR /&gt;______________________________________________________________________&lt;BR /&gt;&lt;BR /&gt;**==ranf.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt; FUNCTION RANF()&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; DOUBLE PRECISION RANF&lt;BR /&gt; REAL*8 RCARRY&lt;BR /&gt; RANF = DBLE(RCARRY())&lt;BR /&gt; RETURN&lt;BR /&gt;C ----------------------------------------------------C&lt;BR /&gt; END&lt;BR /&gt;**==randx.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt; FUNCTION RANDX(Iseed)&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt;C Random number generator, fast and rough, machine independent.&lt;BR /&gt;C Returns an uniformly distributed deviate in the 0 to 1 interval.&lt;BR /&gt;C This random number generator is portable, machine-independent and&lt;BR /&gt;C reproducible, for any machine with at least 32 bits / real number.&lt;BR /&gt;C REF: Press, Flannery, Teukolsky, Vetterling, Numerical Recipes (1986)&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER IA, IC, Iseed, M1&lt;BR /&gt; REAL*8 RANDX, RM&lt;BR /&gt; PARAMETER (M1=714025, IA=1366, IC=150889, RM=1.D+0/M1)&lt;BR /&gt;c&lt;BR /&gt; Ise
ed = MOD(IA*Iseed+IC, M1)&lt;BR /&gt; RANDX = Iseed*RM&lt;BR /&gt; IF (RANDX.LT.0.D+0) THEN&lt;BR /&gt; STOP '*** Random number is negative ***'&lt;BR /&gt; END IF&lt;BR /&gt;c&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;**==ranset.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt; SUBROUTINE RANSET(Iseed)&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; INTEGER Iseed&lt;BR /&gt;&lt;BR /&gt; CALL RSTART(Iseed)&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;**==rstart.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt; SUBROUTINE RSTART(Iseeda)&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt;C Initialize Marsaglia list of 24 random numbers.&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; REAL*8 CARRY, ran, RANDX, SEED&lt;BR /&gt; INTEGER i, I24, ISEED, Iseeda, J24&lt;BR /&gt; COMMON /RANDOM/ SEED(24), CARRY, I24, J24, ISEED&lt;BR /&gt;&lt;BR /&gt; I24 = 24&lt;BR /&gt; J24 = 10&lt;BR /&gt; CARRY = 0.D+0&lt;BR /&gt; ISEED = Iseeda&lt;BR /&gt;c&lt;BR /&gt;c get rid of initial correlations in rand by throwing&lt;BR /&gt;c away the first 100 random numbers generated.&lt;BR /&gt;c&lt;BR /&gt; DO i = 1, 100&lt;BR /&gt; ran = RANDX(ISEED)&lt;BR /&gt; END DO&lt;BR /&gt;c&lt;BR /&gt;c initialize the 24 elements of seed&lt;BR /&gt;c&lt;BR /&gt;&lt;BR /&gt; DO i = 1, 24&lt;BR /&gt; SEED(i) = RANDX(ISEED)&lt;BR /&gt; END DO&lt;BR /&gt;&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;**==rcarry.spg processed by SPAG 4.52O at 11:03 on 18 Oct 1996&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; FUNCTION RCARRY()&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt;C Random number generator from Marsaglia.&lt;BR /&gt;C----------------------------------------------------------------------C&lt;BR /&gt; IMPLICIT NONE&lt;BR /&gt; REAL*8 CARRY, RCARRY, SEED, TWOm24, TWOp24, uni&lt;BR /&gt; INTEGER I24, ISEED, J24&lt;BR /&gt; PARAMETER (TWOp24=16777216.D+0, TWOm24=1.D+0/TWOp24)&lt;BR /&gt; COMMON /RANDOM/ SEED(24), CARRY, I24, J24, ISEED&lt;BR /&gt;c&lt;BR /&gt;c f.james Comp. Phys. Comm. 60, 329 (1990)&lt;BR /&gt;c algorithm by G. Marsaglia and A. Zaman&lt;BR /&gt;c base b = 2**24 lags r=24 and s=10&lt;BR /&gt;c&lt;BR /&gt; uni = SEED(I24) - SEED(J24) - CARRY&lt;BR /&gt; IF (uni.LT.0.D+0) THEN&lt;BR /&gt; uni = uni + 1.D+0&lt;BR /&gt;&amp;nbsp;
; CARRY = TWOm24&lt;BR /&gt; ELSE&lt;BR /&gt; CARRY = 0.D+0&lt;BR /&gt; END IF&lt;BR /&gt; SEED(I24) = uni&lt;BR /&gt; I24 = I24 - 1&lt;BR /&gt; IF (I24.EQ.0) I24 = 24&lt;BR /&gt; J24 = J24 - 1&lt;BR /&gt; IF (J24.EQ.0) J24 = 24&lt;BR /&gt; RCARRY = uni&lt;BR /&gt;&lt;BR /&gt; RETURN&lt;BR /&gt; END&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 01 Apr 2008 01:36:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/problem-linux-ifort-64-bits-returns-NaN-on-Ubuntu-64-bits/m-p/747381#M4943</guid>
      <dc:creator>fassisalmeida</dc:creator>
      <dc:date>2008-04-01T01:36:47Z</dc:date>
    </item>
    <item>
      <title>Re: problem: linux ifort 64 bits returns NaN on Ubuntu 64 bits</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/problem-linux-ifort-64-bits-returns-NaN-on-Ubuntu-64-bits/m-p/747382#M4944</link>
      <description>I spotted one problem - function RANF returns DOUBLE PRECISION but you did not declare RANF as DOUBLE PRECISION in the calling routine. This will cause exactly the kind of problem you saw.&lt;BR /&gt;&lt;BR /&gt;I suggest also adding the switches:&lt;BR /&gt;&lt;BR /&gt;-gen-interface -warn interface&lt;BR /&gt;&lt;BR /&gt;to your ifort line and you may see other errors (I did not test this.)&lt;BR /&gt;</description>
      <pubDate>Tue, 01 Apr 2008 14:23:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/problem-linux-ifort-64-bits-returns-NaN-on-Ubuntu-64-bits/m-p/747382#M4944</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2008-04-01T14:23:48Z</dc:date>
    </item>
    <item>
      <title>Re: problem: linux ifort 64 bits returns NaN on Ubuntu 64 bits</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/problem-linux-ifort-64-bits-returns-NaN-on-Ubuntu-64-bits/m-p/747383#M4945</link>
      <description>Your suggestion solved my problem.&lt;BR /&gt;Thanks!&lt;BR /&gt;</description>
      <pubDate>Wed, 02 Apr 2008 00:03:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/problem-linux-ifort-64-bits-returns-NaN-on-Ubuntu-64-bits/m-p/747383#M4945</guid>
      <dc:creator>fassisalmeida</dc:creator>
      <dc:date>2008-04-02T00:03:26Z</dc:date>
    </item>
  </channel>
</rss>

