JPRED-2 Add sources of all binaries (except alscript) to Git
[jpred.git] / sources / jnet / pssmb2.c
1 /*********************************************************
2   pssmb2.c
3   --------------------------------------------------------
4   generated at Wed Jul  1 20:37:42 2009
5   by snns2c ( Bernward Kett 1995 ) 
6 *********************************************************/
7
8 #include <math.h>
9
10 #define Act_Logistic(sum, bias)  ( (sum+bias<10000.0) ? ( 1.0/(1.0 + exp(-sum-bias) ) ) : 0.0 )
11 #ifndef NULL
12 #define NULL (void *)0
13 #endif
14
15 typedef struct UT {
16           float act;         /* Activation       */
17           float Bias;        /* Bias of the Unit */
18           int   NoOfSources; /* Number of predecessor units */
19    struct UT   **sources; /* predecessor units */
20           float *weights; /* weights from predecessor units */
21         } UnitType, *pUnit;
22
23   /* Forward Declaration for all unit types */
24   static UnitType Units[81];
25   /* Sources definition section */
26   static pUnit Sources[] =  {
27 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
28 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
29 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
30 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
31 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
32 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
33 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
34 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
35 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
36 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
37 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
38 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
39 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
40 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
41 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
42 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
43 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
44 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
45 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
46 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
47 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
48 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
49 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
50 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
51 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
52 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
53 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
54 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
55 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
56 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
57 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
58 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
59 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
60 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
61 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
62 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
63 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
64 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
65 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
66 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
67 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
68 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
69 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
70 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
71 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
72 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
73 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
74 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
75 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
76 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
77 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
78 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
79 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
80 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
81 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
82 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
83 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
84 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
85 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
86 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
87 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
88 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
89 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
90 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
91 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
92 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
93 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
94 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
95 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
96 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
97 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
98 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
99 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
100 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
101 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
102 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
103 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
104 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
105 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
106 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
107 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
108 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
109 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
110 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
111 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
112 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
113 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
114 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
115 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
116 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
117 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
118 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
119 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
120 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
121 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
122 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
123 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
124 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
125 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
126 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
127 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
128 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
129 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
130 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
131 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
132 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
133 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
134 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
135 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
136 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
137 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
138 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
139 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
140 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
141 Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, 
142 Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, 
143 Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, 
144 Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, 
145 Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, 
146 Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57, 
147 Units + 58, Units + 59, Units + 60, Units + 61, Units + 62, Units + 63, Units + 64, Units + 65, Units + 66, Units + 67, 
148 Units + 68, Units + 69, Units + 70, Units + 71, Units + 72, Units + 73, Units + 74, Units + 75, Units + 76, Units + 77, 
149
150 Units + 58, Units + 59, Units + 60, Units + 61, Units + 62, Units + 63, Units + 64, Units + 65, Units + 66, Units + 67, 
151 Units + 68, Units + 69, Units + 70, Units + 71, Units + 72, Units + 73, Units + 74, Units + 75, Units + 76, Units + 77, 
152
153 Units + 58, Units + 59, Units + 60, Units + 61, Units + 62, Units + 63, Units + 64, Units + 65, Units + 66, Units + 67, 
154 Units + 68, Units + 69, Units + 70, Units + 71, Units + 72, Units + 73, Units + 74, Units + 75, Units + 76, Units + 77, 
155
156
157   };
158
159   /* Weigths definition section */
160   static float Weights[] =  {
161 -0.047970, 0.072790, 0.060530, -0.197730, 0.017130, 0.029910, -0.082780, -0.038480, 0.115300, -0.121030, 
162 -0.007750, 0.114220, -0.162010, -0.035460, 0.006970, -0.033260, 0.045750, 0.002690, -0.117060, 0.069400, 
163 0.033630, -0.168980, 0.036540, 0.100440, -0.075510, 0.024120, 0.046050, -0.104500, 0.047090, 0.131390, 
164 -0.129930, 0.162820, -0.086770, -0.211590, 0.323500, -0.306170, -0.029870, 0.010780, -0.218080, -0.047250, 
165 -0.052210, -0.024290, 0.011580, -0.114370, -0.078500, 0.066850, 0.045410, 0.001670, -0.164490, -0.105430, 
166 0.037760, -0.081020, -0.084730, 0.101190, -0.227870, -0.085120, 0.149930, 
167 -0.289200, 0.357830, 0.100810, -0.257120, 0.276500, 0.166200, -0.192650, 0.137300, 0.125900, -0.020140, 
168 0.282230, -0.057010, -0.180160, 0.328390, -0.192480, -0.070630, 0.484080, -0.247010, 0.076390, 0.513950, 
169 -0.383720, 0.041800, 0.128020, -0.190990, -0.238960, -0.124650, 0.213810, -0.472290, -0.637720, 0.584540, 
170 -0.001470, 0.019600, 0.141570, 0.057570, 0.540050, -0.246660, 0.123480, 0.660980, -0.497910, 0.129800, 
171 0.481030, -0.388420, 0.065120, 0.398750, -0.198930, 0.104410, 0.300040, -0.063800, 0.054850, 0.309360, 
172 -0.148170, -0.058570, 0.121740, 0.113150, -0.184420, 0.010910, 0.291820, 
173 -0.167510, -0.042870, 0.222710, 0.115010, 0.300440, -0.129200, 0.043100, 0.077450, -0.104410, -0.259240, 
174 0.261440, -0.072270, -0.201650, 0.498940, 0.200500, -0.402550, 0.665080, -0.000210, -0.563240, 0.791100, 
175 -0.077920, -0.621140, 0.519250, -0.064860, -0.535330, 0.328070, 0.044270, -0.708450, 0.185670, 0.342660, 
176 -0.339190, 0.126760, -0.118230, -0.478350, 0.475180, -0.173230, -0.611220, 0.526530, 0.150010, -0.512710, 
177 0.291670, 0.283820, -0.387350, 0.354890, 0.276180, -0.276580, 0.324840, 0.159260, -0.085980, 0.394180, 
178 0.032620, -0.208570, 0.340300, -0.029430, -0.444840, 0.566430, -0.031110, 
179 0.048900, 0.374530, 0.095810, 0.110420, 0.127720, 0.228870, 0.077280, 0.236850, 0.197330, 0.084670, 
180 0.296260, 0.107340, 0.077280, 0.577210, 0.258880, -0.066270, 0.748500, 0.169530, -0.226850, 0.700540, 
181 0.256580, -0.514790, 0.363870, 0.426720, -0.779660, 0.052590, 0.820140, -0.257270, 0.588130, 1.049900, 
182 -0.650210, 0.082860, 0.565380, -0.570090, 0.311730, 0.238170, -0.346280, 0.258570, 0.010770, -0.184510, 
183 0.203740, 0.045560, -0.138240, 0.058180, 0.054160, -0.409600, 0.211100, 0.330830, -0.421400, 0.082050, 
184 0.248210, -0.278460, 0.092660, 0.161420, 0.020330, 0.278560, 0.035020, 
185 -0.022650, 0.104020, -0.032230, 0.027610, 0.142840, 0.046520, -0.044720, 0.166880, 0.104380, -0.095560, 
186 0.175550, 0.053960, 0.075710, -0.003800, 0.009000, -0.115420, 0.063050, -0.099960, -0.011790, 0.092340, 
187 -0.126860, 0.318510, 0.028420, -0.313850, 0.403320, -0.156140, 0.168770, 0.612860, -0.513970, 1.097490, 
188 0.339160, -0.652350, 0.266380, 0.268210, -0.333400, -0.295340, 0.186130, -0.066380, -0.411890, 0.021980, 
189 -0.142270, -0.126950, -0.117840, -0.132510, -0.047060, -0.231340, -0.086880, -0.188670, 0.021970, 0.075460, 
190 -0.285160, -0.051670, -0.050230, -0.066820, 0.028680, -0.032430, 0.091910, 
191 -0.121020, 0.125900, -0.194020, 0.025450, -0.180900, -0.193500, 0.133210, 0.019500, -0.225470, 0.294610, 
192 -0.007350, -0.248070, 0.298050, -0.021860, -0.408040, 0.213150, -0.026810, -0.415640, 0.136770, -0.222270, 
193 -0.518430, 0.052920, -0.524910, -0.670580, -0.208070, -0.604460, -0.348660, -0.192460, -0.202400, 0.536650, 
194 -0.666780, -0.433950, -0.272700, -0.152730, -0.507120, -0.686400, 0.095510, -0.453340, -0.532820, 0.261500, 
195 -0.285290, -0.464580, 0.145710, -0.313580, -0.180320, 0.252200, -0.240360, -0.213120, 0.033320, -0.168810, 
196 -0.086210, 0.188540, -0.040820, -0.062520, 0.190160, -0.177780, 0.074170, 
197 0.023810, 0.071710, -0.103200, 0.032610, -0.103400, -0.101790, 0.033220, -0.011630, 0.009710, 0.171070, 
198 0.011130, -0.159540, 0.158410, -0.047360, -0.157950, 0.114180, -0.075070, -0.241360, -0.003710, -0.128600, 
199 -0.358330, -0.025070, -0.315490, -0.231440, -0.283220, -0.547210, -0.000550, -0.151230, -0.303580, 0.563040, 
200 -0.456640, -0.370100, -0.032940, -0.139070, -0.230490, -0.237140, 0.059810, -0.304660, -0.202930, 0.126140, 
201 -0.226300, -0.067010, 0.027880, -0.148680, -0.138170, 0.189780, -0.163150, -0.100040, 0.042030, -0.098410, 
202 -0.055330, 0.048660, -0.065600, -0.088800, 0.054760, 0.030240, 0.082170, 
203 -0.307330, 0.055990, 0.370740, -0.207850, 0.046790, 0.093370, -0.127090, 0.364050, 0.078350, -0.413860, 
204 0.349080, 0.036660, -0.452740, 0.379110, -0.041490, -0.414700, 0.351940, -0.167720, -0.086780, 0.563650, 
205 -0.798620, 0.394310, 0.277300, -1.476350, 0.513330, 0.009520, -1.658370, 0.141980, -0.276510, -2.549750, 
206 0.381850, 0.225770, -0.872710, 0.377970, -0.089170, 0.048360, -0.099620, -0.084260, 0.442340, -0.150240, 
207 0.142630, 0.351330, -0.144020, 0.183260, 0.104560, -0.092010, 0.579400, -0.072670, 0.016210, 0.272880, 
208 0.007350, 0.251810, 0.200490, -0.082140, 0.181890, -0.077140, -0.024640, 
209 0.255010, -0.010130, 0.303650, 0.105260, -0.021310, 0.066000, 0.126960, -0.079170, 0.008910, 0.053750, 
210 0.159350, -0.061980, -0.086510, 0.101050, -0.062470, -0.032890, 0.397740, 0.000200, 0.010580, 0.683310, 
211 0.185780, 0.533510, 1.029220, 0.378470, 0.883520, 1.034140, 0.291810, 0.513080, 0.098130, -0.913120, 
212 0.933110, 1.016620, -0.027860, 0.202050, 1.218680, 0.260350, -0.177260, 1.060680, 0.155430, -0.301440, 
213 0.590660, 0.029170, -0.209880, 0.326320, 0.082710, -0.230570, 0.282400, -0.090050, -0.184540, 0.088000, 
214 -0.157450, -0.174860, -0.050850, -0.110580, -0.114840, -0.091380, -0.279250, 
215 0.017390, 0.034790, 0.220500, 0.016060, -0.254820, 0.544240, -0.174290, 0.137030, 0.507640, -0.031600, 
216 0.125060, 0.415640, 0.219070, 0.252460, 0.176790, 0.033080, 0.493520, 0.271580, -0.175310, 0.639010, 
217 -0.032570, -0.218600, 0.454900, -0.174120, -0.570950, 0.108260, 0.396790, -0.463800, 0.501800, 1.000160, 
218 -0.763030, 0.012960, 0.397410, -0.662560, 0.151350, -0.009210, -0.419100, 0.066450, -0.109610, -0.346370, 
219 0.072400, 0.132330, -0.193850, -0.126930, -0.051900, -0.246930, 0.043810, -0.066830, -0.460430, -0.061660, 
220 0.116550, -0.133670, -0.254920, 0.042790, 0.022250, -0.075930, -0.123600, 
221 -0.005020, -0.160210, -0.145620, 0.150420, -0.046650, 0.078450, 0.173480, 0.036450, 0.123250, 0.119590, 
222 -0.027860, 0.210960, 0.226760, -0.280080, 0.122410, 0.196870, -0.385010, 0.331070, -0.023370, -0.513110, 
223 0.252570, -0.585700, -0.594080, 0.036670, -0.942150, -0.355640, 0.012930, -0.518860, 0.382800, 0.487890, 
224 -0.698320, -0.226210, -0.343600, -0.331990, -0.620880, -0.403320, -0.043230, -0.480890, -0.344140, 0.036390, 
225 -0.081030, -0.172470, -0.062910, 0.017970, -0.152840, -0.069660, -0.028730, -0.133200, 0.188790, -0.059930, 
226 -0.131720, 0.070990, 0.001670, -0.178870, 0.144870, 0.194450, -0.059370, 
227 -0.135630, 0.284980, 0.335220, 0.132440, 0.168190, 0.238060, 0.086180, 0.135520, 0.163280, 0.130350, 
228 0.005270, 0.354780, 0.198760, -0.002340, 0.183030, 0.151950, 0.042490, 0.269800, 0.220200, 0.098480, 
229 -0.042060, 0.301680, 0.022890, -0.002020, 0.077200, 0.191210, 0.512040, 0.125030, -0.282760, 2.232640, 
230 -0.419510, -0.634680, 1.818960, -0.934450, -0.455580, 1.411950, -0.570210, -0.562180, 0.874920, -0.069150, 
231 -0.596580, 0.369390, 0.376960, -0.488170, -0.314210, 0.241490, -0.138670, -0.610740, 0.555530, -0.406290, 
232 -0.503800, 0.424030, -0.590310, -0.115980, 0.200620, -0.662070, 0.218260, 
233 0.087870, 0.092420, 0.001310, 0.039400, 0.218040, -0.038700, 0.050950, 0.088110, 0.105710, 0.102300, 
234 0.218500, 0.083360, 0.198100, 0.167450, 0.119140, 0.362120, 0.076880, 0.115860, 0.516730, -0.107810, 
235 0.030100, 0.852810, -0.240050, 0.015910, 0.919450, -0.119400, 0.281960, 0.726120, -0.570100, 1.801810, 
236 0.444260, -0.603760, 0.770270, 0.406240, -0.516060, 0.054950, 0.502470, -0.501340, 0.174620, 0.506890, 
237 -0.297680, -0.038830, 0.062750, -0.017870, 0.001730, 0.350160, -0.369520, 0.064490, 0.291720, -0.254300, 
238 -0.035680, 0.015450, 0.105410, 0.170300, -0.034900, 0.273710, 0.023850, 
239 -0.038060, 0.050060, -0.005550, -0.038660, -0.024280, -0.006090, -0.149540, -0.054420, -0.044560, -0.154990, 
240 0.022520, -0.068390, -0.213770, 0.179640, -0.049880, -0.403860, 0.256880, -0.116190, -0.362610, 0.148680, 
241 -0.025320, -0.373040, 0.320520, -0.195410, -0.202840, 0.382940, -0.224350, -0.267830, 0.293680, -0.310950, 
242 -0.318450, 0.168080, -0.306170, -0.251480, 0.219180, -0.158180, -0.413090, 0.081880, -0.097440, -0.226510, 
243 0.007580, -0.033000, -0.225970, 0.034550, 0.011800, -0.250700, -0.115480, 0.003910, -0.220170, 0.000520, 
244 -0.083810, -0.163470, -0.090140, -0.111830, -0.233880, 0.039670, -0.008600, 
245 0.299800, -0.426730, 0.312000, -0.015930, -0.472840, 0.135130, -0.323660, -0.301070, 0.123250, -0.019460, 
246 -0.346270, 0.090750, 0.198230, -0.372450, 0.075670, 0.445660, -0.199150, 0.429200, 0.807850, -0.005010, 
247 0.430420, 0.711020, 0.847140, 0.715470, 0.807690, 1.277630, 0.422050, -0.392480, -0.032550, -0.425350, 
248 0.699410, 0.699640, 1.097620, 0.595360, 0.758010, 1.020010, 0.427890, 0.520630, 0.611630, 0.135100, 
249 0.108810, 0.305770, 0.101380, -0.058200, 0.105140, -0.102100, -0.070630, 0.063450, -0.018430, -0.192850, 
250 0.073080, -0.107270, -0.344000, -0.045410, -0.107940, -0.610100, -0.152230, 
251 -0.117210, -0.017400, 0.235530, -0.063190, -0.066440, 0.188010, -0.004100, -0.167920, 0.108070, 0.044860, 
252 -0.020240, 0.048100, -0.158300, 0.121180, -0.046300, -0.114850, 0.133060, -0.164270, 0.076180, 0.120510, 
253 -0.114180, 0.056590, -0.101000, 0.007920, 0.194310, -0.044720, -0.063220, 0.167710, 0.754370, -1.188210, 
254 0.485680, 0.640400, -0.952180, 0.427800, 0.195530, -0.609990, 0.044650, 0.269850, -0.328600, -0.156880, 
255 0.403670, -0.114150, -0.259580, 0.482500, -0.137480, -0.209510, 0.242630, 0.021590, -0.327370, 0.378160, 
256 0.101700, -0.065920, 0.370730, 0.089810, -0.098810, 0.246270, -0.005200, 
257 0.058290, 0.047570, -0.153650, -0.116110, 0.017210, -0.046790, -0.103500, 0.048730, -0.011880, -0.095320, 
258 -0.102960, -0.046830, -0.205180, -0.141460, -0.150690, -0.001470, -0.315830, 0.014440, 0.148740, -0.370030, 
259 -0.085660, 0.669010, -0.625640, 0.122890, 0.651550, -0.743380, 0.312790, 0.204750, -1.092310, 0.176940, 
260 0.517600, -0.538470, 0.368770, 0.689790, -0.604180, 0.201930, 0.362160, -0.276270, 0.148910, 0.012490, 
261 -0.156300, -0.042620, -0.058570, 0.005720, -0.021460, -0.007140, -0.129100, 0.022720, -0.006620, -0.003360, 
262 -0.029020, 0.095610, 0.069730, -0.052910, 0.146360, -0.159320, -0.108250, 
263 -0.460820, 0.234300, -0.118170, -0.362860, 0.156340, -0.236040, -0.566430, 0.111710, -0.181330, -0.418860, 
264 0.280500, -0.235500, -0.423360, 0.321790, -0.190290, -0.413400, 0.391170, -0.359340, -0.598230, 0.578400, 
265 -0.334820, -0.829750, 0.642300, -0.245080, -0.984510, 0.589640, -0.007130, -1.219050, 0.312670, -0.078560, 
266 -0.686680, 0.347620, -0.073020, -0.592410, 0.529530, -0.163090, -0.605390, 0.423830, -0.255360, -0.388980, 
267 0.240450, -0.336640, -0.221730, 0.073220, -0.332710, -0.177390, 0.117390, -0.342530, -0.058190, 0.150910, 
268 -0.313920, -0.340030, -0.005250, -0.328940, -0.571070, 0.060750, -0.207470, 
269 -0.050710, -0.579840, -0.008420, -0.090950, -0.127820, 0.024640, 0.058240, -0.056990, -0.006010, -0.001290, 
270 0.160810, -0.091480, -0.227470, 0.211120, -0.139410, -0.228880, 0.038670, -0.344380, -0.474900, -0.099220, 
271 -0.415010, -0.672170, -0.372220, -0.451240, -0.485290, -0.690240, -0.214490, 0.061140, 0.018190, 0.902200, 
272 -1.039440, -0.771970, -0.222940, -0.879430, -0.601550, -0.314220, -0.761410, -0.142780, -0.179020, -0.454790, 
273 0.183960, -0.031630, -0.175330, 0.213940, 0.147410, -0.104670, 0.199530, -0.097380, -0.082520, 0.275700, 
274 0.084380, 0.068900, 0.207680, 0.060010, 0.040880, 0.385310, 0.110400, 
275 0.041870, 0.139460, 0.108990, 0.160770, 0.223160, 0.217210, 0.119410, 0.128500, 0.094190, 0.114180, 
276 0.214630, 0.076000, 0.051260, 0.227040, 0.045320, 0.092520, 0.207250, 0.091180, -0.095310, 0.207370, 
277 0.296720, 0.007390, 0.140960, 0.304430, -0.007460, 0.123840, 0.400210, -0.052270, -0.082550, 0.536210, 
278 0.030630, -0.120300, 0.284960, 0.105610, 0.141620, 0.103540, 0.085880, 0.072840, 0.083260, 0.216090, 
279 0.024000, 0.088090, 0.161440, -0.013530, 0.107090, 0.161140, 0.154110, 0.176330, 0.160110, 0.071190, 
280 0.160260, 0.027740, 0.043180, 0.231390, 0.046280, 0.170670, 0.198620, 
281 -0.528060, -0.787690, -1.255520, -0.959810, 1.229460, -1.274840, -0.917290, -0.039530, 1.115020, -1.205580, 
282 -1.565950, 0.056880, 1.932240, -1.128380, 0.355220, 0.764300, 0.174870, -2.538990, -0.681640, -0.516540, 
283
284 -0.269140, 1.128430, 1.590290, 1.478360, -1.539560, -1.152470, -0.733190, 1.971580, 0.532800, 1.164260, 
285 -0.068170, -1.703800, -1.217460, -0.009690, 1.599780, -1.009390, -1.547020, 0.519360, -2.221620, -0.005380, 
286
287 -0.218370, -0.048020, 0.007880, 1.132530, 0.657530, 1.022120, 0.560090, -1.731480, -2.176450, 0.857760, 
288 1.024310, 1.669750, 1.364020, 0.294470, -2.366450, 0.215420, -0.914950, -1.020170, 1.903630, -0.941600, 
289
290
291   };
292
293   /* unit definition section (see also UnitType) */
294   static UnitType Units[81] = 
295   {
296     { 0.0, 0.0, 0, NULL , NULL },
297     { /* unit 1 (unit) */
298       0.0, -0.018000, 0,
299        &Sources[0] , 
300        &Weights[0] , 
301       },
302     { /* unit 2 (unit) */
303       0.0, 0.049780, 0,
304        &Sources[0] , 
305        &Weights[0] , 
306       },
307     { /* unit 3 (unit) */
308       0.0, 0.047390, 0,
309        &Sources[0] , 
310        &Weights[0] , 
311       },
312     { /* unit 4 (unit) */
313       0.0, -0.069700, 0,
314        &Sources[0] , 
315        &Weights[0] , 
316       },
317     { /* unit 5 (unit) */
318       0.0, 0.044650, 0,
319        &Sources[0] , 
320        &Weights[0] , 
321       },
322     { /* unit 6 (unit) */
323       0.0, 0.078980, 0,
324        &Sources[0] , 
325        &Weights[0] , 
326       },
327     { /* unit 7 (unit) */
328       0.0, 0.082220, 0,
329        &Sources[0] , 
330        &Weights[0] , 
331       },
332     { /* unit 8 (unit) */
333       0.0, -0.049510, 0,
334        &Sources[0] , 
335        &Weights[0] , 
336       },
337     { /* unit 9 (unit) */
338       0.0, -0.020630, 0,
339        &Sources[0] , 
340        &Weights[0] , 
341       },
342     { /* unit 10 (unit) */
343       0.0, 0.051850, 0,
344        &Sources[0] , 
345        &Weights[0] , 
346       },
347     { /* unit 11 (unit) */
348       0.0, 0.005540, 0,
349        &Sources[0] , 
350        &Weights[0] , 
351       },
352     { /* unit 12 (unit) */
353       0.0, 0.028110, 0,
354        &Sources[0] , 
355        &Weights[0] , 
356       },
357     { /* unit 13 (unit) */
358       0.0, 0.093080, 0,
359        &Sources[0] , 
360        &Weights[0] , 
361       },
362     { /* unit 14 (unit) */
363       0.0, 0.098260, 0,
364        &Sources[0] , 
365        &Weights[0] , 
366       },
367     { /* unit 15 (unit) */
368       0.0, 0.090880, 0,
369        &Sources[0] , 
370        &Weights[0] , 
371       },
372     { /* unit 16 (unit) */
373       0.0, -0.000120, 0,
374        &Sources[0] , 
375        &Weights[0] , 
376       },
377     { /* unit 17 (unit) */
378       0.0, -0.035690, 0,
379        &Sources[0] , 
380        &Weights[0] , 
381       },
382     { /* unit 18 (unit) */
383       0.0, -0.095410, 0,
384        &Sources[0] , 
385        &Weights[0] , 
386       },
387     { /* unit 19 (unit) */
388       0.0, 0.044230, 0,
389        &Sources[0] , 
390        &Weights[0] , 
391       },
392     { /* unit 20 (unit) */
393       0.0, -0.054150, 0,
394        &Sources[0] , 
395        &Weights[0] , 
396       },
397     { /* unit 21 (unit) */
398       0.0, 0.018860, 0,
399        &Sources[0] , 
400        &Weights[0] , 
401       },
402     { /* unit 22 (unit) */
403       0.0, -0.016180, 0,
404        &Sources[0] , 
405        &Weights[0] , 
406       },
407     { /* unit 23 (unit) */
408       0.0, 0.044800, 0,
409        &Sources[0] , 
410        &Weights[0] , 
411       },
412     { /* unit 24 (unit) */
413       0.0, -0.022280, 0,
414        &Sources[0] , 
415        &Weights[0] , 
416       },
417     { /* unit 25 (unit) */
418       0.0, 0.047960, 0,
419        &Sources[0] , 
420        &Weights[0] , 
421       },
422     { /* unit 26 (unit) */
423       0.0, -0.012600, 0,
424        &Sources[0] , 
425        &Weights[0] , 
426       },
427     { /* unit 27 (unit) */
428       0.0, 0.091370, 0,
429        &Sources[0] , 
430        &Weights[0] , 
431       },
432     { /* unit 28 (unit) */
433       0.0, -0.072230, 0,
434        &Sources[0] , 
435        &Weights[0] , 
436       },
437     { /* unit 29 (unit) */
438       0.0, 0.016800, 0,
439        &Sources[0] , 
440        &Weights[0] , 
441       },
442     { /* unit 30 (unit) */
443       0.0, -0.036410, 0,
444        &Sources[0] , 
445        &Weights[0] , 
446       },
447     { /* unit 31 (unit) */
448       0.0, -0.095960, 0,
449        &Sources[0] , 
450        &Weights[0] , 
451       },
452     { /* unit 32 (unit) */
453       0.0, -0.086330, 0,
454        &Sources[0] , 
455        &Weights[0] , 
456       },
457     { /* unit 33 (unit) */
458       0.0, 0.084790, 0,
459        &Sources[0] , 
460        &Weights[0] , 
461       },
462     { /* unit 34 (unit) */
463       0.0, -0.093450, 0,
464        &Sources[0] , 
465        &Weights[0] , 
466       },
467     { /* unit 35 (unit) */
468       0.0, -0.070290, 0,
469        &Sources[0] , 
470        &Weights[0] , 
471       },
472     { /* unit 36 (unit) */
473       0.0, 0.097880, 0,
474        &Sources[0] , 
475        &Weights[0] , 
476       },
477     { /* unit 37 (unit) */
478       0.0, -0.094160, 0,
479        &Sources[0] , 
480        &Weights[0] , 
481       },
482     { /* unit 38 (unit) */
483       0.0, 0.085030, 0,
484        &Sources[0] , 
485        &Weights[0] , 
486       },
487     { /* unit 39 (unit) */
488       0.0, -0.054010, 0,
489        &Sources[0] , 
490        &Weights[0] , 
491       },
492     { /* unit 40 (unit) */
493       0.0, 0.023860, 0,
494        &Sources[0] , 
495        &Weights[0] , 
496       },
497     { /* unit 41 (unit) */
498       0.0, 0.086570, 0,
499        &Sources[0] , 
500        &Weights[0] , 
501       },
502     { /* unit 42 (unit) */
503       0.0, -0.040730, 0,
504        &Sources[0] , 
505        &Weights[0] , 
506       },
507     { /* unit 43 (unit) */
508       0.0, 0.066500, 0,
509        &Sources[0] , 
510        &Weights[0] , 
511       },
512     { /* unit 44 (unit) */
513       0.0, -0.081200, 0,
514        &Sources[0] , 
515        &Weights[0] , 
516       },
517     { /* unit 45 (unit) */
518       0.0, -0.072280, 0,
519        &Sources[0] , 
520        &Weights[0] , 
521       },
522     { /* unit 46 (unit) */
523       0.0, 0.059870, 0,
524        &Sources[0] , 
525        &Weights[0] , 
526       },
527     { /* unit 47 (unit) */
528       0.0, -0.007780, 0,
529        &Sources[0] , 
530        &Weights[0] , 
531       },
532     { /* unit 48 (unit) */
533       0.0, 0.003800, 0,
534        &Sources[0] , 
535        &Weights[0] , 
536       },
537     { /* unit 49 (unit) */
538       0.0, 0.065850, 0,
539        &Sources[0] , 
540        &Weights[0] , 
541       },
542     { /* unit 50 (unit) */
543       0.0, 0.026390, 0,
544        &Sources[0] , 
545        &Weights[0] , 
546       },
547     { /* unit 51 (unit) */
548       0.0, -0.088900, 0,
549        &Sources[0] , 
550        &Weights[0] , 
551       },
552     { /* unit 52 (unit) */
553       0.0, 0.067020, 0,
554        &Sources[0] , 
555        &Weights[0] , 
556       },
557     { /* unit 53 (unit) */
558       0.0, -0.036470, 0,
559        &Sources[0] , 
560        &Weights[0] , 
561       },
562     { /* unit 54 (unit) */
563       0.0, 0.001030, 0,
564        &Sources[0] , 
565        &Weights[0] , 
566       },
567     { /* unit 55 (unit) */
568       0.0, 0.062480, 0,
569        &Sources[0] , 
570        &Weights[0] , 
571       },
572     { /* unit 56 (unit) */
573       0.0, 0.024920, 0,
574        &Sources[0] , 
575        &Weights[0] , 
576       },
577     { /* unit 57 (unit) */
578       0.0, 0.091770, 0,
579        &Sources[0] , 
580        &Weights[0] , 
581       },
582     { /* unit 58 (unit) */
583       0.0, -0.066500, 57,
584        &Sources[0] , 
585        &Weights[0] , 
586       },
587     { /* unit 59 (unit) */
588       0.0, -0.595040, 57,
589        &Sources[57] , 
590        &Weights[57] , 
591       },
592     { /* unit 60 (unit) */
593       0.0, -0.250550, 57,
594        &Sources[114] , 
595        &Weights[114] , 
596       },
597     { /* unit 61 (unit) */
598       0.0, 1.121080, 57,
599        &Sources[171] , 
600        &Weights[171] , 
601       },
602     { /* unit 62 (unit) */
603       0.0, 1.342170, 57,
604        &Sources[228] , 
605        &Weights[228] , 
606       },
607     { /* unit 63 (unit) */
608       0.0, 0.274760, 57,
609        &Sources[285] , 
610        &Weights[285] , 
611       },
612     { /* unit 64 (unit) */
613       0.0, 0.076600, 57,
614        &Sources[342] , 
615        &Weights[342] , 
616       },
617     { /* unit 65 (unit) */
618       0.0, -2.665110, 57,
619        &Sources[399] , 
620        &Weights[399] , 
621       },
622     { /* unit 66 (unit) */
623       0.0, -0.186820, 57,
624        &Sources[456] , 
625        &Weights[456] , 
626       },
627     { /* unit 67 (unit) */
628       0.0, 0.931950, 57,
629        &Sources[513] , 
630        &Weights[513] , 
631       },
632     { /* unit 68 (unit) */
633       0.0, 0.307760, 57,
634        &Sources[570] , 
635        &Weights[570] , 
636       },
637     { /* unit 69 (unit) */
638       0.0, 2.182180, 57,
639        &Sources[627] , 
640        &Weights[627] , 
641       },
642     { /* unit 70 (unit) */
643       0.0, 2.049630, 57,
644        &Sources[684] , 
645        &Weights[684] , 
646       },
647     { /* unit 71 (unit) */
648       0.0, -0.277260, 57,
649        &Sources[741] , 
650        &Weights[741] , 
651       },
652     { /* unit 72 (unit) */
653       0.0, -0.814640, 57,
654        &Sources[798] , 
655        &Weights[798] , 
656       },
657     { /* unit 73 (unit) */
658       0.0, -0.123760, 57,
659        &Sources[855] , 
660        &Weights[855] , 
661       },
662     { /* unit 74 (unit) */
663       0.0, -0.736210, 57,
664        &Sources[912] , 
665        &Weights[912] , 
666       },
667     { /* unit 75 (unit) */
668       0.0, -0.966120, 57,
669        &Sources[969] , 
670        &Weights[969] , 
671       },
672     { /* unit 76 (unit) */
673       0.0, 0.992890, 57,
674        &Sources[1026] , 
675        &Weights[1026] , 
676       },
677     { /* unit 77 (unit) */
678       0.0, 0.099950, 57,
679        &Sources[1083] , 
680        &Weights[1083] , 
681       },
682     { /* unit 78 (unit) */
683       0.0, -0.702040, 20,
684        &Sources[1140] , 
685        &Weights[1140] , 
686       },
687     { /* unit 79 (unit) */
688       0.0, -1.831780, 20,
689        &Sources[1160] , 
690        &Weights[1160] , 
691       },
692     { /* unit 80 (unit) */
693       0.0, -0.772660, 20,
694        &Sources[1180] , 
695        &Weights[1180] , 
696       }
697
698   };
699
700
701
702 int pssmb2(float *in, float *out, int init)
703 {
704   int member, source;
705   float sum;
706   enum{OK, Error, Not_Valid};
707   pUnit unit;
708
709
710   /* layer definition section (names & member units) */
711
712   static pUnit Input[57] = {Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16, Units + 17, Units + 18, Units + 19, Units + 20, Units + 21, Units + 22, Units + 23, Units + 24, Units + 25, Units + 26, Units + 27, Units + 28, Units + 29, Units + 30, Units + 31, Units + 32, Units + 33, Units + 34, Units + 35, Units + 36, Units + 37, Units + 38, Units + 39, Units + 40, Units + 41, Units + 42, Units + 43, Units + 44, Units + 45, Units + 46, Units + 47, Units + 48, Units + 49, Units + 50, Units + 51, Units + 52, Units + 53, Units + 54, Units + 55, Units + 56, Units + 57}; /* members */
713
714   static pUnit Hidden1[20] = {Units + 58, Units + 59, Units + 60, Units + 61, Units + 62, Units + 63, Units + 64, Units + 65, Units + 66, Units + 67, Units + 68, Units + 69, Units + 70, Units + 71, Units + 72, Units + 73, Units + 74, Units + 75, Units + 76, Units + 77}; /* members */
715
716   static pUnit Output1[3] = {Units + 78, Units + 79, Units + 80}; /* members */
717
718   static int Output[3] = {78, 79, 80};
719
720   for(member = 0; member < 57; member++) {
721     Input[member]->act = in[member];
722   }
723
724   for (member = 0; member < 20; member++) {
725     unit = Hidden1[member];
726     sum = 0.0;
727     for (source = 0; source < unit->NoOfSources; source++) {
728       sum += unit->sources[source]->act
729              * unit->weights[source];
730     }
731     unit->act = Act_Logistic(sum, unit->Bias);
732   };
733
734   for (member = 0; member < 3; member++) {
735     unit = Output1[member];
736     sum = 0.0;
737     for (source = 0; source < unit->NoOfSources; source++) {
738       sum += unit->sources[source]->act
739              * unit->weights[source];
740     }
741     unit->act = Act_Logistic(sum, unit->Bias);
742   };
743
744   for(member = 0; member < 3; member++) {
745     out[member] = Units[Output[member]].act;
746   }
747
748   return(OK);
749 }