source: trunk/WRF.COMMON/WRFV2/frame/wrf_num_bytes_between.c

Last change on this file was 11, checked in by aslmd, 14 years ago

spiga@svn-planeto:ajoute le modele meso-echelle martien

File size: 1.5 KB
Line 
1#include <stdio.h>
2
3#ifndef CRAY
4# ifdef NOUNDERSCORE
5#  define WRF_NUM_BYTES_BETWEEN wrf_num_bytes_between
6#  define GET_INITIAL_DATA_VALUE get_initial_data_value
7#  define WHAT_IS_A_NAN  what_is_a_nan
8#  define WRF_MEM_COPY  wrf_mem_copy
9# else
10#   ifdef F2CSTYLE
11#  define WRF_NUM_BYTES_BETWEEN wrf_num_bytes_between__
12#  define GET_INITIAL_DATA_VALUE get_initial_data_value__
13#  define WHAT_IS_A_NAN  what_is_a_nan__
14#  define WRF_MEM_COPY  wrf_mem_copy__
15#   else
16#  define WRF_NUM_BYTES_BETWEEN wrf_num_bytes_between_
17#  define GET_INITIAL_DATA_VALUE get_initial_data_value_
18#  define WHAT_IS_A_NAN  what_is_a_nan_
19#  define WRF_MEM_COPY  wrf_mem_copy_
20#   endif
21# endif
22#endif
23
24WRF_NUM_BYTES_BETWEEN ( a , b , n )
25  char * a ;
26  char * b ;
27  int * n ;
28{
29  *n = a - b ;
30  if ( *n < 0 ) *n = -(*n) ;
31}
32
33/*#define NAN_VALUE */
34#ifdef NAN_VALUE
35GET_INITIAL_DATA_VALUE ( n )
36  int * n ;
37{
38  *n = 0xffc00000 ;
39}
40#else
41GET_INITIAL_DATA_VALUE ( n )
42  float * n ;
43{
44  *n = 0. ;
45}
46#endif
47
48WHAT_IS_A_NAN ( n )
49  int * n ;
50{
51  *n = 0xffc00000 ;
52#if 0
53*n = 0. ;
54fprintf(stderr,"WHAT_IS_NAN disabled\n") ;
55#endif
56}
57
58/* SUBROUTINE wrf_mem_copy( a, b, n )
59   INTEGER*1, INTENT (INOUT) :: a(*), b(*)
60   INTEGER,   INTENT (IN)    :: n
61   INTEGER                   :: i
62   DO i = 1, n
63     b(i) = a(i)
64    ENDDO
65    RETURN
66    END SUBROUTINE wrf_mem_copy */
67
68WRF_MEM_COPY ( a , b, n )
69  char * a ; 
70  char * b ; 
71  int * n ;
72{
73  int i ;
74  for ( i = 0 ; i < *n ; i++ )
75  {
76    *b++ = *a++ ;
77  }
78}
79
Note: See TracBrowser for help on using the repository browser.