]> Pileus Git - ~andy/rsl/blobdiff - src/volume.c
Change RSL variables from static to extern
[~andy/rsl] / src / volume.c
index a30368b4796258f72416061a22602b32a54f791d..eddcc1d352b7ea339b093724d63a9c3c4eab9143 100644 (file)
@@ -67,7 +67,6 @@
 #include <stdarg.h>
 int strcasecmp(const char *s1, const char *s2);
 
-#define USE_RSL_VARS
 #include "rsl.h"
 
 #define bin_azimuth(x, dx) (float)((float)x/dx)
@@ -111,6 +110,30 @@ extern int radar_verbose_flag;
  */
 #define F_OFFSET 4
 
+char *RSL_ftype[] = {"DZ", "VR", "SW", "CZ", "ZT", "DR",
+                     "LR", "ZD", "DM", "RH", "PH", "XZ",
+                     "CD", "MZ", "MD", "ZE", "VE", "KD",
+                     "TI", "DX", "CH", "AH", "CV", "AV",
+                     "SQ", "VS", "VL", "VG", "VT", "NP",
+                     "HC", "VC", "V2", "S2", "V3", "S3",
+                     "CR", "CC", "PR", "SD", "ZZ", "RD"};
+
+float (*RSL_f_list[])(Range x) = {DZ_F, VR_F, SW_F, CZ_F, ZT_F, DR_F,
+                                  LR_F, ZD_F, DM_F, RH_F, PH_F, XZ_F,
+                                  CD_F, MZ_F, MD_F, ZE_F, VE_F, KD_F,
+                                  TI_F, DX_F, CH_F, AH_F, CV_F, AV_F,
+                                  SQ_F, VS_F, VL_F, VG_F, VT_F, NP_F,
+                                  HC_F, VC_F, VR_F, SW_F, VR_F, SW_F,
+                                  DZ_F, CZ_F, PH_F, SD_F, DZ_F, DZ_F};
+
+Range (*RSL_invf_list[])(float x)
+    = {DZ_INVF, VR_INVF, SW_INVF, CZ_INVF, ZT_INVF, DR_INVF,
+       LR_INVF, ZD_INVF, DM_INVF, RH_INVF, PH_INVF, XZ_INVF,
+       CD_INVF, MZ_INVF, MD_INVF, ZE_INVF, VE_INVF, KD_INVF,
+       TI_INVF, DX_INVF, CH_INVF, AH_INVF, CV_INVF, AV_INVF,
+       SQ_INVF, VS_INVF, VL_INVF, VG_INVF, VT_INVF, NP_INVF,
+       HC_INVF, VC_INVF, VR_INVF, SW_INVF, VR_INVF, SW_INVF,
+       DZ_INVF, CZ_INVF, PH_INVF, SD_INVF, DZ_INVF, DZ_INVF};
 
 float DZ_F(Range x) {
   if (x >= F_OFFSET) /* This test works when Range is unsigned. */