/[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.2 by cnh, Tue Nov 3 15:28:03 1998 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.
25        IF ( freq .EQ. 0. ) THEN        IF ( freq .EQ. 0. ) RETURN
26          DIFFERENT_MULTIPLE = .FALSE.        IF ( ABS(val1-val2) .GT. freq ) THEN
27        ELSE         DIFFERENT_MULTIPLE = .TRUE.
28          DIFFERENT_MULTIPLE = INT(val1/freq) .NE. INT(val2/freq)         RETURN
29        ENDIF        ENDIF
       END  
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.
44         &     ABS(d1) .LE. ABS(d3) ) DIFFERENT_MULTIPLE = .TRUE.
45    
46          END

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

  ViewVC Help
Powered by ViewVC 1.1.22