4 * This source code is part of
8 * GROningen MAchine for Chemical Simulations
11 * Copyright (c) 1991-2001, University of Groningen, The Netherlands
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * If you want to redistribute modifications, please consider that
18 * scientific software is very special. Version control is crucial -
19 * bugs must be traceable. We will be happy to consider code for
20 * inclusion in the official distribution, but derived work must not
21 * be called official GROMACS. Details are found in the README & COPYING
22 * files - if they are missing, get the official version at www.gromacs.org.
24 * To help us fund GROMACS development, we humbly ask that you cite
25 * the papers on the package - you can find them in the top README file.
27 * For more info, check our website at http://www.gromacs.org
30 * Getting the Right Output Means no Artefacts in Calculating Stuff
36 static char *SRCID_names_h
= "$Id$";
42 #ident "@(#) names.h 1.23 5/20/97"
43 #endif /* HAVE_IDENT */
47 /* All string arrays are NULL terminated, and therefore have an
48 * extra argument (the +1)
49 * these should correspond to names.c and include/types/enums.h
51 extern char *eblock_names
[ebNR
+1];
52 extern char *epbc_names
[epbcNR
+1];
53 extern char *etcoupl_names
[etcNR
+1];
54 extern char *epcoupl_names
[epcNR
+1];
55 extern char *epcoupltype_names
[epctNR
+1];
56 extern char *ens_names
[ensNR
+1];
57 extern char *ei_names
[eiNR
+1];
58 extern char *yesno_names
[BOOL_NR
+1];
59 extern char *bool_names
[BOOL_NR
+1];
60 extern char *eel_names
[eelNR
+1];
61 extern char *eewg_names
[eewgNR
+1];
62 extern char *evdw_names
[evdwNR
+1];
63 extern char *eshake_names
[estNR
+1];
64 extern char *ptype_str
[eptNR
+1];
65 extern char *egrp_nm
[egNR
+1];
66 extern char *edisre_names
[edrNR
+1];
67 extern char *edisreweighting_names
[edrwNR
+1];
68 extern char *enbf_names
[eNBF_NR
+1];
69 extern char *ecomb_names
[eCOMB_NR
+1];
70 extern char *gtypes
[egcNR
+1];
71 extern char *efep_names
[efepNR
+1];
72 extern char *esolv_names
[esolNR
+1];
73 extern char *edispc_names
[edispcNR
+1];
74 extern char *ecm_names
[ecmNR
+1];
76 #define UNDEFINED "UNDEFINED"
77 #define ENUM_NAME(e,max,names) ((((e)<0)||((e)>=(max)))?UNDEFINED:(names)[e])
79 #define BOOL(e) ENUM_NAME(e,BOOL_NR,bool_names)
80 #define ENS(e) ENUM_NAME(e,ensNR,ens_names)
81 #define EI(e) ENUM_NAME(e,eiNR,ei_names)
82 #define EPBC(e) ENUM_NAME(e,epbcNR,epbc_names)
83 #define ETCOUPLTYPE(e) ENUM_NAME(e,etcNR,etcoupl_names)
84 #define EPCOUPLTYPE(e) ENUM_NAME(e,epcNR,epcoupl_names)
85 #define EPCOUPLTYPETYPE(e) ENUM_NAME(e,epctNR,epcoupltype_names)
86 #define EBLOCKS(e) ENUM_NAME(e,ebNR,eblock_names)
87 #define EPARAM(e) ENUM_NAME(e,epNR,eparam_names)
88 #define EELTYPE(e) ENUM_NAME(e,eelNR,eel_names)
89 #define EVDWTYPE(e) ENUM_NAME(e,evdwNR,evdw_names)
90 #define ESHAKETYPE(e) ENUM_NAME(e,estNR,eshake_names)
91 #define EDISRETYPE(e) ENUM_NAME(e,edrNR,edisre_names)
92 #define EDISREWEIGHTING(e) ENUM_NAME(e,edrwNR,edisreweighting_names)
93 #define ENBFNAME(e) ENUM_NAME(e,eNBF_NR,enbf_names)
94 #define ECOMBNAME(e) ENUM_NAME(e,eCOMB_NR,ecomb_names)
95 #define EFEPTYPE(e) ENUM_NAME(e,efepNR,efep_names)
96 #define ESOLVTYPE(e) ENUM_NAME(e,esolNR,esolv_names)
97 #define EDISPCORR(e) ENUM_NAME(e,edispcNR,edispc_names)
98 #define ECOM(e) ENUM_NAME(e,ecmNR,ecm_names)