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

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

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

revision 1.1 by cnh, Thu May 21 18:30:08 1998 UTC revision 1.3 by adcroft, Mon May 24 14:57:55 1999 UTC
# Line 16  C     | separately with no optimisation. Line 16  C     | separately with no optimisation.
16  C     \==========================================================/  C     \==========================================================/
17        IMPLICIT NONE        IMPLICIT NONE
18  C     Returns TRUE if val1 and val2 are different multiples of freq.  C     Returns TRUE if val1 and val2 are different multiples of freq.
19        REAL freq, val1, val2        _RL  freq, val1, val2
20  CEndofinterface  CEndofinterface
21          _RL  f, v1, v2, v3, v4, d1, d2, d3, step
22    
23    C     o Do easy cases first.
24        DIFFERENT_MULTIPLE = .FALSE.        DIFFERENT_MULTIPLE = .FALSE.
       IF ( freq .EQ. 0. ) THEN  
         DIFFERENT_MULTIPLE = .FALSE.  
       ELSE  
         DIFFERENT_MULTIPLE = INT(val1/freq) .NE. INT(val2/freq)  
       ENDIF  
       END  
25    
26          IF ( freq .NE. 0. ) THEN
27            IF ( ABS(val1-val2) .GT. freq ) THEN
28             DIFFERENT_MULTIPLE = .TRUE.
29            ELSE
30    
31    C         o This case is more complex because of round-off error
32              f = freq
33              v1 = val1
34              v2 = val2
35              step = v1-v2
36    
37    C         Test v1 to see if its a "closest multiple"
38              v3 = v1 + step
39              v4 = NINT(v1/f)*f
40              d1 = v1-v4
41              d2 = v2-v4
42              d3 = v3-v4
43              IF ( ABS(d1) .LE. ABS(d2) .AND. ABS(d1) .LE. ABS(d3) )
44         &        DIFFERENT_MULTIPLE = .TRUE.
45    
46            ENDIF ! |val1-val2| > freq
47          ENDIF ! freq != 0
48    
49          END

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

  ViewVC Help
Powered by ViewVC 1.1.22