/[MITgcm]/MITgcm/eesupp/src/mds_byteswapr4.F
ViewVC logotype

Diff of /MITgcm/eesupp/src/mds_byteswapr4.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by jmc, Tue Aug 23 13:21:08 2005 UTC revision 1.2 by dimitri, Wed Nov 22 09:43:27 2006 UTC
# Line 12  C Line 12  C
12  C Created: 05/05/99 adcroft@mit.edu (This is an unfortunate hack!!)  C Created: 05/05/99 adcroft@mit.edu (This is an unfortunate hack!!)
13    
14        implicit none        implicit none
15    
16    #ifdef FAST_BYTESWAP
17    
18    C Arguments
19          integer n
20          integer(kind=4) arr(n), i32
21    
22    C Local
23          integer i
24    
25          i32(i) = ishft(i.and. z'ff000000', -24) .or.
26         &         ishft(i.and. z'00ff0000',  -8) .or.
27         &         ishft(i.and. z'0000ff00',   8) .or.
28         &         ishft(i.and. z'000000ff',  24)
29          do i = 1,n
30          arr(i) = i32(arr(i))
31          enddo
32    
33    #else /* FAST_BYTESWAP */
34    
35  C Arguments  C Arguments
36        integer n        integer n
37        character*(*) arr        character*(*) arr
38    
39  C Local  C Local
40        integer i        integer i
41        character*(1) cc        character*(1) cc
42  C     ------------------------------------------------------------------  
43        do i=1,4*n,4        do i=1,4*n,4
44         cc=arr(i:i)         cc=arr(i:i)
45         arr(i:i)=arr(i+3:i+3)         arr(i:i)=arr(i+3:i+3)
# Line 27  C     ---------------------------------- Line 48  C     ----------------------------------
48         arr(i+1:i+1)=arr(i+2:i+2)         arr(i+1:i+1)=arr(i+2:i+2)
49         arr(i+2:i+2)=cc         arr(i+2:i+2)=cc
50        enddo        enddo
51  C     ------------------------------------------------------------------  
52    #endif /* FAST_BYTESWAP */
53    
54        return        return
55        end        end

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22