6 int make_lower( char * s1
) ;
7 int reg_parse( FILE * infile
) ;
8 int set_dim_len ( char * dimspec
, node_t
* dim_entry
) ;
9 int set_dim_order ( char * dimorder
, node_t
* dim_entry
) ;
10 int set_dim_orient ( char * dimorient
, node_t
* dim_entry
) ;
11 int add_node_to_end ( node_t
* node
, node_t
** list
) ;
12 int add_node_to_end_4d ( node_t
* node
, node_t
** list
) ;
13 int init_type_table() ;
14 int set_state_type ( char * typename
, node_t
* node
) ;
15 int set_state_dims ( char * dims
, node_t
* node
) ;
16 int gen_state_struct ( char * fname
) ;
19 int show_node( node_t
* p
) ;
20 int show_node1( node_t
* p
, int indent
) ;
21 int show_nodelist( node_t
* p
) ;
22 int show_nodelist1( node_t
* p
, int indent
) ;
25 int gen_state_struct ( char * fname
) ;
26 int gen_decls ( FILE * fp
, node_t
* node
, int sw_ranges
, int sw_point
, int mask
, int layer
) ;
27 int gen_state_subtypes ( char * fname
) ;
28 int gen_state_subtypes1 ( FILE * fp
, node_t
* node
, int sw_ranges
, int sw_point
, int mask
) ;
29 int print_warning( FILE * fp
, char * fname
) ;
30 int close_the_file( FILE * fp
) ;
31 int make_entries_uniq ( char * fname
) ;
32 int add_warning ( char * fname
) ;
34 node_t
* get_type_entry ( char * typename
) ;
35 node_t
* get_rconfig_entry( char * name
) ;
36 node_t
* get_entry ( char * name
, node_t
* node
) ;
37 node_t
* get_entry_r ( char * name
, char * use
, node_t
* node
) ;
38 node_t
* get_dim_entry( char *s
) ;
39 node_t
* new_node ( int kind
) ;
41 node_t
* get_4d_entry ( char * name
) ;
42 node_t
* get_dimnode_for_coord ( node_t
* node
, int coord_axis
) ;
43 int get_index_for_coord ( node_t
* node
, int coord_axis
) ;
45 char * my_strtok( char * s1
) ;
46 char * strtok_rentr( char * s1
, char * s2
, char ** tokpos
) ;
48 char * bdy_indicator( int bdy
) ;
50 char * field_name( char * tmp
, node_t
* p
, int tag
) ;
51 char * field_name_bdy( char * tmp
, node_t
* p
, int tag
, int bdy
) ;
52 char * dimension_with_colons( char * pre
, char * tmp
, node_t
* p
, char * post
) ;
53 char * dimension_with_ones( char * pre
, char * tmp
, node_t
* p
, char * post
) ;
54 char * dimension_with_ranges( char * ref
, char * pre
, int bdy
, char * tmp
, node_t
* p
, char * post
, char * nlstructname
) ;
55 char * arrray_size_expression( char * refarg
, char * pre
, int bdy
, char * tmp
, node_t
* p
, char * post
, char * nlstructname
) ;
56 char * index_with_firstelem( char * pre
, char * dref
, int bdy
, char * tmp
, node_t
* p
, char * post
) ;
58 char * declare_array_as_pointer( char * tmp
, node_t
* p
) ;
59 char * field_type( char * tmp
, node_t
* p
) ;
61 /* For typedef history -ajb */
62 int init_typedef_history() ;
63 int add_typedef_name ( char * name
) ;
64 int get_num_typedefs() ;
65 char * get_typedef_name ( char * name
) ;
66 char * get_typename_i(int i
) ;
68 int gen_alloc ( char * dirname
) ;
69 int gen_alloc1 ( char * dirname
) ;
70 int gen_alloc2 ( FILE * fp
, char * structname
, char * structname2
, node_t
* node
, int *j
, int *iguy
, int *fraction
, int numguys
, int frac
, int sw
);
72 int gen_module_state_description ( char * dirname
) ;
73 int gen_module_state_description1 ( FILE * fp
, node_t
* node
) ;
75 int gen_scalar_indices ( char * dirname
) ;
76 int gen_scalar_indices1 ( FILE * fp
, FILE ** fp2
) ;
78 int gen_actual_args ( char * dirname
) ;
79 int gen_dummy_args ( char * dirname
) ;
80 int gen_dummy_decls ( char * dn
) ;
81 int gen_args ( char * dirname
, int sw
) ;
82 int gen_args1 ( FILE * fp
, char * outstr
, char * structname
, node_t
* node
, int *linelen
, int sw
, int deep
) ;
84 int gen_scalar_derefs ( char * dirname
) ;
85 int scalar_derefs ( char * dirname
) ;
86 int scalar_derefs1 ( FILE * fp
, node_t
* node
, int direction
) ;
88 int set_mark ( int val
, node_t
* lst
) ;
89 int set_mark_4d ( int val
, node_t
* lst
) ;
91 int gen_i1_decls ( char * dn
) ;
92 int gen_get_nl_config ( char * dirname
) ;
94 int gen_config_assigns ( char * dirname
) ;
95 int gen_config_reads ( char * dirname
) ;
97 char * set_mem_order( node_t
* node
, char * str
, int n
) ;
99 int gen_wrf_io ( char * dirname
) ;
100 int set_dim_strs ( node_t
*node
, char ddim
[3][2][NAMELEN
], char mdim
[3][2][NAMELEN
], char pdim
[3][2][NAMELEN
] , char * prepend
, int sw_allow_stagger
) ;
101 int set_dim_strs2 ( node_t
*node
, char ddim
[3][2][NAMELEN
], char mdim
[3][2][NAMELEN
], char pdim
[3][2][NAMELEN
] , char * prepend
, int sw_disregard_stag
) ;
102 int set_dim_strs3 ( node_t
*node
, char ddim
[3][2][NAMELEN
], char mdim
[3][2][NAMELEN
], char pdim
[3][2][NAMELEN
] , char * prepend
, int sw_disregard_stag
) ;
103 int gen_wrf_io2 ( FILE * fp
, char * fname
, char * structname
, char * fourdname
, node_t
* node
, int sw_io
) ;
105 int gen_namelist_defines ( char * dirname
, int sw_dimension
) ;
106 int gen_namelist_defaults ( char * dirname
) ;
107 int gen_namelist_script ( char * dirname
) ;
109 int gen_model_data_ord ( char * dirname
) ;
111 int get_elem ( char * structname
, char * nlstructname
, char * tx
, int i
, node_t
* p
, int first_last
) ;
113 int associated_with_4d_array( node_t
* p
) ;
116 /* PGI Addition to resolve non-prototype function warnings */
117 char * array_size_expression ( char *, char *, int, char *, node_t
*, char * ,char * );
118 int range_of_dimension ( char *, char * , int, node_t
*, char * );
119 int dimension_size_expression ( char *, char *, int, node_t
*, char *);
120 int gen_alloc_count ( char *);
121 int gen_alloc_count1 ( char *);
122 int gen_ddt_write ( char * );
123 int gen_ddt_write1 ( FILE *, char *, node_t
*);
124 int gen_dealloc ( char * );
125 int gen_dealloc1 ( char * );
126 int gen_dealloc2 ( FILE *, char *, node_t
*);
127 int gen_scalar_tables ( FILE *);
128 int AppendReg ( char *,int);
129 int irr_diag_scalar_indices ( char * );
130 int gen_scalar_tables_init ( FILE *);
131 int gen_scalar_indices_init ( FILE *);
133 int gen_nest_interp1 ( FILE *, node_t
*, char *, int, int );
135 int gen_packs_halo ( FILE *fp
, node_t
*p
, char *shw
, int xy
/* 0=y,1=x */ , int pu
/* 0=pack,1=unpack */, int nta
/* 0=NLM,1=TLM,2=ADM */, char * packname
, char * commname
, int always_interp_mp
/* 1 for ARW, varies for NMM */ );
137 int gen_packs_halo ( FILE *fp
, node_t
*p
, char *shw
, int xy
/* 0=y,1=x */ , int pu
/* 0=pack,1=unpack */, char * packname
, char * commname
, int always_interp_mp
/* 1 for ARW, varies for NMM */ );
139 int gen_packs ( FILE *fp
, node_t
*p
, int shw
, int xy
/* 0=y,1=x */ , int pu
/* 0=pack,1=unpack */, char * packname
, char * commname
);
140 int gen_periods ( char * dirname
, node_t
* periods
);
141 int gen_swaps ( char * dirname
, node_t
* swaps
);
142 int gen_cycles ( char * dirname
, node_t
* cycles
);
143 int gen_xposes ( char * dirname
);
144 int gen_comm_descrips ( char * dirname
);
145 int gen_shift ( char * dirname
);
146 int gen_datacalls ( char * dirname
);
147 int gen_nest_packing ( char * dirname
);
148 int gen_nest_pack ( char * dirname
);
149 int gen_nest_unpack ( char * dirname
);
150 int gen_nest_packunpack ( FILE *fp
, node_t
* node
, int dir
, int down_path
);
151 int count_fields ( node_t
* node
, int * d2
, int * d3
,
152 char * fourd_names
, int down_path
, int send_mp
, int no_mp
);
153 int gen_debug ( char * dirname
);
155 void reset_mask ( unsigned int * mask
, int e
) ;
156 void set_mask ( unsigned int * mask
, int e
) ;
157 int get_mask ( unsigned int * mask
, int e
) ;
158 int dims_ikj_inner(node_t
*);
159 int dims_ij_inner(node_t
*);