/[MITgcm]/MITgcm/eesupp/inc/CPP_EEMACROS.h
ViewVC logotype

Diff of /MITgcm/eesupp/inc/CPP_EEMACROS.h

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

revision 1.18 by heimbach, Sun May 24 16:57:49 2009 UTC revision 1.24 by utke, Wed Sep 19 20:46:03 2012 UTC
# Line 108  C      #define _BEGIN_MASTER(a)  IF ( a Line 108  C      #define _BEGIN_MASTER(a)  IF ( a
108  C      #define _END_MASTER(a)    CALL BARRIER_MU(a) N EWLINE        ENDIF  C      #define _END_MASTER(a)    CALL BARRIER_MU(a) N EWLINE        ENDIF
109  C      'CPP = cat $< | $(TOOLSDIR)/set64bitConst.sh |  grep -v '^[cC].*_MASTER' | cpp  -traditional -P'  C      'CPP = cat $< | $(TOOLSDIR)/set64bitConst.sh |  grep -v '^[cC].*_MASTER' | cpp  -traditional -P'
110  C      .F.f:  C      .F.f:
111  C               $(CPP) $(DEFINES) $(INCLUDES) |  sed 's/N EWLINE/\n/' > $@  C      $(CPP) $(DEFINES) $(INCLUDES) |  sed 's/N EWLINE/\n/' > $@
112  CcnhDebugEnds  CcnhDebugEnds
113    
114  C--   Control storage of floating point operands  C--   Control storage of floating point operands
# Line 128  C  enable to call the corresponding R4 o Line 128  C  enable to call the corresponding R4 o
128  #define _GLOBAL_SUM_RS(a,b) CALL GLOBAL_SUM_R8 ( a, b)  #define _GLOBAL_SUM_RS(a,b) CALL GLOBAL_SUM_R8 ( a, b)
129  #define _GLOBAL_MAX_RS(a,b) CALL GLOBAL_MAX_R8 ( a, b )  #define _GLOBAL_MAX_RS(a,b) CALL GLOBAL_MAX_R8 ( a, b )
130  #define _MPI_TYPE_RS MPI_DOUBLE_PRECISION  #define _MPI_TYPE_RS MPI_DOUBLE_PRECISION
131    #ifdef USE_OLD_MACROS_R4R8toRSRL
132    #define _GLOBAL_SUM_R4(a,b) CALL GLOBAL_SUM_R8 ( a, b )
133    #define _GLOBAL_MAX_R4(a,b) CALL GLOBAL_MAX_R8 ( a, b )
134    #endif
135  #else  #else
136  #define _RS Real*4  #define _RS Real*4
137  #define RS_IS_REAL4  #define RS_IS_REAL4
138  #define _GLOBAL_SUM_RS(a,b) CALL GLOBAL_SUM_R4 ( a, b )  #define _GLOBAL_SUM_RS(a,b) CALL GLOBAL_SUM_R4 ( a, b )
139  #define _GLOBAL_MAX_RS(a,b) CALL GLOBAL_MAX_R4 ( a, b )  #define _GLOBAL_MAX_RS(a,b) CALL GLOBAL_MAX_R4 ( a, b )
140  #define _MPI_TYPE_RS MPI_REAL  #define _MPI_TYPE_RS MPI_REAL
141    #ifdef USE_OLD_MACROS_R4R8toRSRL
142    cph Needed for some backward compatibility with broken packages
143    #define _GLOBAL_SUM_R4(a,b) CALL GLOBAL_SUM_R4 ( a, b )
144    #define _GLOBAL_MAX_R4(a,b) CALL GLOBAL_MAX_R4 ( a, b )
145    #endif
146  #endif  #endif
147    
148  #define _RL Real*8  #define _RL Real*8
149  #define RL_IS_REAL8  #define RL_IS_REAL8
150  #define _GLOBAL_SUM_RL(a,b) CALL GLOBAL_SUM_R8 ( a, b )  #define _GLOBAL_SUM_RL(a,b) CALL GLOBAL_SUM_R8 ( a, b )
151  #define _GLOBAL_MAX_RL(a,b) CALL GLOBAL_MAX_R8 ( a, b )  #define _GLOBAL_MAX_RL(a,b) CALL GLOBAL_MAX_R8 ( a, b )
152  cph(  #ifdef USE_OLD_MACROS_R4R8toRSRL
153  cph Needed for some backward compatibility with broken packages  cph Needed for some backward compatibility with broken packages
154  #define _GLOBAL_SUM_R8(a,b) CALL GLOBAL_SUM_R8 ( a, b )  #define _GLOBAL_SUM_R8(a,b) CALL GLOBAL_SUM_R8 ( a, b )
155  #define _GLOBAL_MAX_R8(a,b) CALL GLOBAL_MAX_R8 ( a, b )  #define _GLOBAL_MAX_R8(a,b) CALL GLOBAL_MAX_R8 ( a, b )
156  cph)  #endif
157  #define _MPI_TYPE_RL MPI_DOUBLE_PRECISION  #define _MPI_TYPE_RL MPI_DOUBLE_PRECISION
158    
159  #define _MPI_TYPE_R4 MPI_REAL  #define _MPI_TYPE_R4 MPI_REAL
# Line 163  C           will directly call the corrr Line 172  C           will directly call the corrr
172  #define _EXCH_XY_RL(a,b) CALL EXCH_XY_RL ( a, b )  #define _EXCH_XY_RL(a,b) CALL EXCH_XY_RL ( a, b )
173  #define _EXCH_XYZ_RS(a,b) CALL EXCH_XYZ_RS ( a, b )  #define _EXCH_XYZ_RS(a,b) CALL EXCH_XYZ_RS ( a, b )
174  #define _EXCH_XYZ_RL(a,b) CALL EXCH_XYZ_RL ( a, b )  #define _EXCH_XYZ_RL(a,b) CALL EXCH_XYZ_RL ( a, b )
175  cph(  #ifdef USE_OLD_MACROS_R4R8toRSRL
176  cph Needed for some backward compatibility with broken packages  cph Needed for some backward compatibility with broken packages
177  #define _EXCH_XY_R4(a,b) CALL EXCH_XY_RS ( a, b )  #define _EXCH_XY_R4(a,b) CALL EXCH_XY_RS ( a, b )
178  #define _EXCH_XY_R8(a,b) CALL EXCH_XY_RL ( a, b )  #define _EXCH_XY_R8(a,b) CALL EXCH_XY_RL ( a, b )
179  #define _EXCH_XYZ_R4(a,b) CALL EXCH_XYZ_RS ( a, b )  #define _EXCH_XYZ_R4(a,b) CALL EXCH_XYZ_RS ( a, b )
180  #define _EXCH_XYZ_R8(a,b) CALL EXCH_XYZ_RL ( a, b )  #define _EXCH_XYZ_R8(a,b) CALL EXCH_XYZ_RL ( a, b )
181  cph)  #endif
182    
183  C--   Control use of JAM routines for Artic network (no longer supported)  C--   Control use of JAM routines for Artic network (no longer supported)
184  C     These invoke optimized versions of "exchange" and "sum" that  C     These invoke optimized versions of "exchange" and "sum" that
185  C     utilize the programmable aspect of Artic cards.  C     utilize the programmable aspect of Artic cards.
186  #ifdef LETS_MAKE_JAM  CXXX No longer supported ; started to remove JAM routines.
187  #define _GLOBAL_SUM_RS(a,b) CALL GLOBAL_SUM_R8_JAM ( a, b)  CXXX #ifdef LETS_MAKE_JAM
188  #define _GLOBAL_SUM_RL(a,b) CALL GLOBAL_SUM_R8_JAM ( a, b )  CXXX #define _GLOBAL_SUM_RS(a,b) CALL GLOBAL_SUM_R8_JAM ( a, b)
189  #define _EXCH_XY_RS(a,b) CALL EXCH_XY_R8_JAM ( a, b )  CXXX #define _GLOBAL_SUM_RL(a,b) CALL GLOBAL_SUM_R8_JAM ( a, b )
190  #define _EXCH_XY_RL(a,b) CALL EXCH_XY_R8_JAM ( a, b )  CXXX #define _EXCH_XY_RS(a,b) CALL EXCH_XY_R8_JAM ( a, b )
191  #define _EXCH_XYZ_RS(a,b) CALL EXCH_XYZ_R8_JAM ( a, b )  CXXX #define _EXCH_XY_RL(a,b) CALL EXCH_XY_R8_JAM ( a, b )
192  #define _EXCH_XYZ_RL(a,b) CALL EXCH_XYZ_R8_JAM ( a, b )  CXXX #define _EXCH_XYZ_RS(a,b) CALL EXCH_XYZ_R8_JAM ( a, b )
193  #endif  CXXX #define _EXCH_XYZ_RL(a,b) CALL EXCH_XYZ_R8_JAM ( a, b )
194    CXXX #endif
195    
196  C--   Control use of "double" precision constants.  C--   Control use of "double" precision constants.
197  C     Use D0 where it means REAL*8 but not where it means REAL*16  C     Use D0 where it means REAL*8 but not where it means REAL*16
# Line 194  C     Sun compilers do not use 8-byte pr Line 204  C     Sun compilers do not use 8-byte pr
204  C     unless .Dnn is specified. CRAY vector machines use 16-byte  C     unless .Dnn is specified. CRAY vector machines use 16-byte
205  C     precision when they see .Dnn which runs very slowly!  C     precision when they see .Dnn which runs very slowly!
206  #ifdef REAL_D0_IS_16BYTES  #ifdef REAL_D0_IS_16BYTES
 #define _d E  
207  #define _F64( a ) a  #define _F64( a ) a
208  #endif  #endif
209  #ifndef REAL_D0_IS_16BYTES  #ifndef REAL_D0_IS_16BYTES
 #define _d D  
210  #define _F64( a ) DFLOAT( a )  #define _F64( a ) DFLOAT( a )
211  #endif  #endif
212    

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.24

  ViewVC Help
Powered by ViewVC 1.1.22