1 package org.apache.poi.hssf.record.formula;
2
3 import org.apache.poi.util.BinaryTree;
4
11 public abstract class AbstractFunctionPtg extends OperationPtg {
12
13 private final static int SIZE = 4;
14
15 private static BinaryTree map = produceHash();
16 protected static Object[][] functionData = produceFunctionData();
17 protected byte returnClass;
18 protected byte[] paramClass;
19
20 protected byte field_1_num_args;
21 protected short field_2_fnc_index;
22
23
24 public String toString() {
25 StringBuffer buffer = new StringBuffer();
26 buffer
27 .append("<FunctionPtg>").append("\n")
28 .append(" field_1_num_args=").append(field_1_num_args).append("\n")
29 .append(" name =").append(lookupName(field_2_fnc_index)).append("\n")
30 .append(" field_2_fnc_index=").append(field_2_fnc_index).append("\n")
31 .append("</FunctionPtg>");
32 return buffer.toString();
33 }
34
35 public int getType() {
36 return -1;
37 }
38
39
40
41 public short getFunctionIndex() {
42 return field_2_fnc_index;
43 }
44
45 public String getName() {
46 return lookupName(field_2_fnc_index);
47 }
48
49 public String toFormulaString() {
50 return getName();
51 }
52
53 public String toFormulaString(String[] operands) {
54 StringBuffer buf = new StringBuffer();
55 buf.append(getName()+"(");
56 if (operands.length >0) {
57 for (int i=0;i<operands.length;i++) {
58 buf.append(operands[i]);
59 buf.append(',');
60 }
61 buf.deleteCharAt(buf.length()-1);
62 }
63 buf.append(")");
64 return buf.toString();
65 }
66
67 public abstract void writeBytes(byte[] array, int offset);
68
69
70
71 public int getSize() {
72 return SIZE;
73 }
74
75 private String lookupName(short index) {
76 return ((String)map.get(new Integer(index)));
77 }
78
79 protected short lookupIndex(String name) {
80 return (short)((Integer)map.getKeyForValue(name)).intValue();
81 }
82
83
86 private static BinaryTree produceHash() {
87 BinaryTree dmap = new BinaryTree();
88
89 dmap.put(new Integer(0),"COUNT");
90 dmap.put(new Integer(2),"ISNA");
91 dmap.put(new Integer(3),"ISERROR");
92 dmap.put(new Integer(4),"SUM");
93 dmap.put(new Integer(5),"AVERAGE");
94 dmap.put(new Integer(6),"MIN");
95 dmap.put(new Integer(7),"MAX");
96 dmap.put(new Integer(8),"ROW");
97 dmap.put(new Integer(9),"COLUMN");
98 dmap.put(new Integer(10),"NA");
99 dmap.put(new Integer(11),"NPV");
100 dmap.put(new Integer(12),"STDEV");
101 dmap.put(new Integer(13),"DOLLAR");
102 dmap.put(new Integer(14),"FIXED");
103 dmap.put(new Integer(15),"SIN");
104 dmap.put(new Integer(16),"COS");
105 dmap.put(new Integer(17),"TAN");
106 dmap.put(new Integer(18),"ATAN");
107 dmap.put(new Integer(19),"PI");
108 dmap.put(new Integer(20),"SQRT");
109 dmap.put(new Integer(21),"EXP");
110 dmap.put(new Integer(22),"LN");
111 dmap.put(new Integer(23),"LOG10");
112 dmap.put(new Integer(24),"ABS");
113 dmap.put(new Integer(25),"INT");
114 dmap.put(new Integer(26),"SIGN");
115 dmap.put(new Integer(27),"ROUND");
116 dmap.put(new Integer(28),"LOOKUP");
117 dmap.put(new Integer(29),"INDEX");
118 dmap.put(new Integer(30),"REPT");
119 dmap.put(new Integer(31),"MID");
120 dmap.put(new Integer(32),"LEN");
121 dmap.put(new Integer(33),"VALUE");
122 dmap.put(new Integer(34),"TRUE");
123 dmap.put(new Integer(35),"FALSE");
124 dmap.put(new Integer(36),"AND");
125 dmap.put(new Integer(37),"OR");
126 dmap.put(new Integer(38),"NOT");
127 dmap.put(new Integer(39),"MOD");
128 dmap.put(new Integer(40),"DCOUNT");
129 dmap.put(new Integer(41),"DSUM");
130 dmap.put(new Integer(42),"DAVERAGE");
131 dmap.put(new Integer(43),"DMIN");
132 dmap.put(new Integer(44),"DMAX");
133 dmap.put(new Integer(45),"DSTDEV");
134 dmap.put(new Integer(46),"VAR");
135 dmap.put(new Integer(47),"DVAR");
136 dmap.put(new Integer(48),"TEXT");
137 dmap.put(new Integer(49),"LINEST");
138 dmap.put(new Integer(50),"TREND");
139 dmap.put(new Integer(51),"LOGEST");
140 dmap.put(new Integer(52),"GROWTH");
141 dmap.put(new Integer(53),"GOTO");
142 dmap.put(new Integer(54),"HALT");
143 dmap.put(new Integer(56),"PV");
144 dmap.put(new Integer(57),"FV");
145 dmap.put(new Integer(58),"NPER");
146 dmap.put(new Integer(59),"PMT");
147 dmap.put(new Integer(60),"RATE");
148 dmap.put(new Integer(61),"MIRR");
149 dmap.put(new Integer(62),"IRR");
150 dmap.put(new Integer(63),"RAND");
151 dmap.put(new Integer(64),"MATCH");
152 dmap.put(new Integer(65),"DATE");
153 dmap.put(new Integer(66),"TIME");
154 dmap.put(new Integer(67),"DAY");
155 dmap.put(new Integer(68),"MONTH");
156 dmap.put(new Integer(69),"YEAR");
157 dmap.put(new Integer(70),"WEEKDAY");
158 dmap.put(new Integer(71),"HOUR");
159 dmap.put(new Integer(72),"MINUTE");
160 dmap.put(new Integer(73),"SECOND");
161 dmap.put(new Integer(74),"NOW");
162 dmap.put(new Integer(75),"AREAS");
163 dmap.put(new Integer(76),"ROWS");
164 dmap.put(new Integer(77),"COLUMNS");
165 dmap.put(new Integer(78),"OFFSET");
166 dmap.put(new Integer(79),"ABSREF");
167 dmap.put(new Integer(80),"RELREF");
168 dmap.put(new Integer(81),"ARGUMENT");
169 dmap.put(new Integer(82),"SEARCH");
170 dmap.put(new Integer(83),"TRANSPOSE");
171 dmap.put(new Integer(84),"ERROR");
172 dmap.put(new Integer(85),"STEP");
173 dmap.put(new Integer(86),"TYPE");
174 dmap.put(new Integer(87),"ECHO");
175 dmap.put(new Integer(88),"SETNAME");
176 dmap.put(new Integer(89),"CALLER");
177 dmap.put(new Integer(90),"DEREF");
178 dmap.put(new Integer(91),"WINDOWS");
179 dmap.put(new Integer(92),"SERIES");
180 dmap.put(new Integer(93),"DOCUMENTS");
181 dmap.put(new Integer(94),"ACTIVECELL");
182 dmap.put(new Integer(95),"SELECTION");
183 dmap.put(new Integer(96),"RESULT");
184 dmap.put(new Integer(97),"ATAN2");
185 dmap.put(new Integer(98),"ASIN");
186 dmap.put(new Integer(99),"ACOS");
187 dmap.put(new Integer(100),"CHOOSE");
188 dmap.put(new Integer(101),"HLOOKUP");
189 dmap.put(new Integer(102),"VLOOKUP");
190 dmap.put(new Integer(103),"LINKS");
191 dmap.put(new Integer(104),"INPUT");
192 dmap.put(new Integer(105),"ISREF");
193 dmap.put(new Integer(106),"GETFORMULA");
194 dmap.put(new Integer(107),"GETNAME");
195 dmap.put(new Integer(108),"SETVALUE");
196 dmap.put(new Integer(109),"LOG");
197 dmap.put(new Integer(110),"EXEC");
198 dmap.put(new Integer(111),"CHAR");
199 dmap.put(new Integer(112),"LOWER");
200 dmap.put(new Integer(113),"UPPER");
201 dmap.put(new Integer(114),"PROPER");
202 dmap.put(new Integer(115),"LEFT");
203 dmap.put(new Integer(116),"RIGHT");
204 dmap.put(new Integer(117),"EXACT");
205 dmap.put(new Integer(118),"TRIM");
206 dmap.put(new Integer(119),"REPLACE");
207 dmap.put(new Integer(120),"SUBSTITUTE");
208 dmap.put(new Integer(121),"CODE");
209 dmap.put(new Integer(122),"NAMES");
210 dmap.put(new Integer(123),"DIRECTORY");
211 dmap.put(new Integer(124),"FIND");
212 dmap.put(new Integer(125),"CELL");
213 dmap.put(new Integer(126),"ISERR");
214 dmap.put(new Integer(127),"ISTEXT");
215 dmap.put(new Integer(128),"ISNUMBER");
216 dmap.put(new Integer(129),"ISBLANK");
217 dmap.put(new Integer(130),"T");
218 dmap.put(new Integer(131),"N");
219 dmap.put(new Integer(132),"FOPEN");
220 dmap.put(new Integer(133),"FCLOSE");
221 dmap.put(new Integer(134),"FSIZE");
222 dmap.put(new Integer(135),"FREADLN");
223 dmap.put(new Integer(136),"FREAD");
224 dmap.put(new Integer(137),"FWRITELN");
225 dmap.put(new Integer(138),"FWRITE");
226 dmap.put(new Integer(139),"FPOS");
227 dmap.put(new Integer(140),"DATEVALUE");
228 dmap.put(new Integer(141),"TIMEVALUE");
229 dmap.put(new Integer(142),"SLN");
230 dmap.put(new Integer(143),"SYD");
231 dmap.put(new Integer(144),"DDB");
232 dmap.put(new Integer(145),"GETDEF");
233 dmap.put(new Integer(146),"REFTEXT");
234 dmap.put(new Integer(147),"TEXTREF");
235 dmap.put(new Integer(148),"INDIRECT");
236 dmap.put(new Integer(149),"REGISTER");
237 dmap.put(new Integer(150),"CALL");
238 dmap.put(new Integer(151),"ADDBAR");
239 dmap.put(new Integer(152),"ADDMENU");
240 dmap.put(new Integer(153),"ADDCOMMAND");
241 dmap.put(new Integer(154),"ENABLECOMMAND");
242 dmap.put(new Integer(155),"CHECKCOMMAND");
243 dmap.put(new Integer(156),"RENAMECOMMAND");
244 dmap.put(new Integer(157),"SHOWBAR");
245 dmap.put(new Integer(158),"DELETEMENU");
246 dmap.put(new Integer(159),"DELETECOMMAND");
247 dmap.put(new Integer(160),"GETCHARTITEM");
248 dmap.put(new Integer(161),"DIALOGBOX");
249 dmap.put(new Integer(162),"CLEAN");
250 dmap.put(new Integer(163),"MDETERM");
251 dmap.put(new Integer(164),"MINVERSE");
252 dmap.put(new Integer(165),"MMULT");
253 dmap.put(new Integer(166),"FILES");
254 dmap.put(new Integer(167),"IPMT");
255 dmap.put(new Integer(168),"PPMT");
256 dmap.put(new Integer(169),"COUNTA");
257 dmap.put(new Integer(170),"CANCELKEY");
258 dmap.put(new Integer(175),"INITIATE");
259 dmap.put(new Integer(176),"REQUEST");
260 dmap.put(new Integer(177),"POKE");
261 dmap.put(new Integer(178),"EXECUTE");
262 dmap.put(new Integer(179),"TERMINATE");
263 dmap.put(new Integer(180),"RESTART");
264 dmap.put(new Integer(181),"HELP");
265 dmap.put(new Integer(182),"GETBAR");
266 dmap.put(new Integer(183),"PRODUCT");
267 dmap.put(new Integer(184),"FACT");
268 dmap.put(new Integer(185),"GETCELL");
269 dmap.put(new Integer(186),"GETWORKSPACE");
270 dmap.put(new Integer(187),"GETWINDOW");
271 dmap.put(new Integer(188),"GETDOCUMENT");
272 dmap.put(new Integer(189),"DPRODUCT");
273 dmap.put(new Integer(190),"ISNONTEXT");
274 dmap.put(new Integer(191),"GETNOTE");
275 dmap.put(new Integer(192),"NOTE");
276 dmap.put(new Integer(193),"STDEVP");
277 dmap.put(new Integer(194),"VARP");
278 dmap.put(new Integer(195),"DSTDEVP");
279 dmap.put(new Integer(196),"DVARP");
280 dmap.put(new Integer(197),"TRUNC");
281 dmap.put(new Integer(198),"ISLOGICAL");
282 dmap.put(new Integer(199),"DCOUNTA");
283 dmap.put(new Integer(200),"DELETEBAR");
284 dmap.put(new Integer(201),"UNREGISTER");
285 dmap.put(new Integer(204),"USDOLLAR");
286 dmap.put(new Integer(205),"FINDB");
287 dmap.put(new Integer(206),"SEARCHB");
288 dmap.put(new Integer(207),"REPLACEB");
289 dmap.put(new Integer(208),"LEFTB");
290 dmap.put(new Integer(209),"RIGHTB");
291 dmap.put(new Integer(210),"MIDB");
292 dmap.put(new Integer(211),"LENB");
293 dmap.put(new Integer(212),"ROUNDUP");
294 dmap.put(new Integer(213),"ROUNDDOWN");
295 dmap.put(new Integer(214),"ASC");
296 dmap.put(new Integer(215),"DBCS");
297 dmap.put(new Integer(216),"RANK");
298 dmap.put(new Integer(219),"ADDRESS");
299 dmap.put(new Integer(220),"DAYS360");
300 dmap.put(new Integer(221),"TODAY");
301 dmap.put(new Integer(222),"VDB");
302 dmap.put(new Integer(227),"MEDIAN");
303 dmap.put(new Integer(228),"SUMPRODUCT");
304 dmap.put(new Integer(229),"SINH");
305 dmap.put(new Integer(230),"COSH");
306 dmap.put(new Integer(231),"TANH");
307 dmap.put(new Integer(232),"ASINH");
308 dmap.put(new Integer(233),"ACOSH");
309 dmap.put(new Integer(234),"ATANH");
310 dmap.put(new Integer(235),"DGET");
311 dmap.put(new Integer(236),"CREATEOBJECT");
312 dmap.put(new Integer(237),"VOLATILE");
313 dmap.put(new Integer(238),"LASTERROR");
314 dmap.put(new Integer(239),"CUSTOMUNDO");
315 dmap.put(new Integer(240),"CUSTOMREPEAT");
316 dmap.put(new Integer(241),"FORMULACONVERT");
317 dmap.put(new Integer(242),"GETLINKINFO");
318 dmap.put(new Integer(243),"TEXTBOX");
319 dmap.put(new Integer(244),"INFO");
320 dmap.put(new Integer(245),"GROUP");
321 dmap.put(new Integer(246),"GETOBJECT");
322 dmap.put(new Integer(247),"DB");
323 dmap.put(new Integer(248),"PAUSE");
324 dmap.put(new Integer(250),"RESUME");
325 dmap.put(new Integer(252),"FREQUENCY");
326 dmap.put(new Integer(253),"ADDTOOLBAR");
327 dmap.put(new Integer(254),"DELETETOOLBAR");
328 dmap.put(new Integer(256),"RESETTOOLBAR");
329 dmap.put(new Integer(257),"EVALUATE");
330 dmap.put(new Integer(258),"GETTOOLBAR");
331 dmap.put(new Integer(259),"GETTOOL");
332 dmap.put(new Integer(260),"SPELLINGCHECK");
333 dmap.put(new Integer(261),"ERRORTYPE");
334 dmap.put(new Integer(262),"APPTITLE");
335 dmap.put(new Integer(263),"WINDOWTITLE");
336 dmap.put(new Integer(264),"SAVETOOLBAR");
337 dmap.put(new Integer(265),"ENABLETOOL");
338 dmap.put(new Integer(266),"PRESSTOOL");
339 dmap.put(new Integer(267),"REGISTERID");
340 dmap.put(new Integer(268),"GETWORKBOOK");
341 dmap.put(new Integer(269),"AVEDEV");
342 dmap.put(new Integer(270),"BETADIST");
343 dmap.put(new Integer(271),"GAMMALN");
344 dmap.put(new Integer(272),"BETAINV");
345 dmap.put(new Integer(273),"BINOMDIST");
346 dmap.put(new Integer(274),"CHIDIST");
347 dmap.put(new Integer(275),"CHIINV");
348 dmap.put(new Integer(276),"COMBIN");
349 dmap.put(new Integer(277),"CONFIDENCE");
350 dmap.put(new Integer(278),"CRITBINOM");
351 dmap.put(new Integer(279),"EVEN");
352 dmap.put(new Integer(280),"EXPONDIST");
353 dmap.put(new Integer(281),"FDIST");
354 dmap.put(new Integer(282),"FINV");
355 dmap.put(new Integer(283),"FISHER");
356 dmap.put(new Integer(284),"FISHERINV");
357 dmap.put(new Integer(285),"FLOOR");
358 dmap.put(new Integer(286),"GAMMADIST");
359 dmap.put(new Integer(287),"GAMMAINV");
360 dmap.put(new Integer(288),"CEILING");
361 dmap.put(new Integer(289),"HYPGEOMDIST");
362 dmap.put(new Integer(290),"LOGNORMDIST");
363 dmap.put(new Integer(291),"LOGINV");
364 dmap.put(new Integer(292),"NEGBINOMDIST");
365 dmap.put(new Integer(293),"NORMDIST");
366 dmap.put(new Integer(294),"NORMSDIST");
367 dmap.put(new Integer(295),"NORMINV");
368 dmap.put(new Integer(296),"NORMSINV");
369 dmap.put(new Integer(297),"STANDARDIZE");
370 dmap.put(new Integer(298),"ODD");
371 dmap.put(new Integer(299),"PERMUT");
372 dmap.put(new Integer(300),"POISSON");
373 dmap.put(new Integer(301),"TDIST");
374 dmap.put(new Integer(302),"WEIBULL");
375 dmap.put(new Integer(303),"SUMXMY2");
376 dmap.put(new Integer(304),"SUMX2MY2");
377 dmap.put(new Integer(305),"SUMX2PY2");
378 dmap.put(new Integer(306),"CHITEST");
379 dmap.put(new Integer(307),"CORREL");
380 dmap.put(new Integer(308),"COVAR");
381 dmap.put(new Integer(309),"FORECAST");
382 dmap.put(new Integer(310),"FTEST");
383 dmap.put(new Integer(311),"INTERCEPT");
384 dmap.put(new Integer(312),"PEARSON");
385 dmap.put(new Integer(313),"RSQ");
386 dmap.put(new Integer(314),"STEYX");
387 dmap.put(new Integer(315),"SLOPE");
388 dmap.put(new Integer(316),"TTEST");
389 dmap.put(new Integer(317),"PROB");
390 dmap.put(new Integer(318),"DEVSQ");
391 dmap.put(new Integer(319),"GEOMEAN");
392 dmap.put(new Integer(320),"HARMEAN");
393 dmap.put(new Integer(321),"SUMSQ");
394 dmap.put(new Integer(322),"KURT");
395 dmap.put(new Integer(323),"SKEW");
396 dmap.put(new Integer(324),"ZTEST");
397 dmap.put(new Integer(325),"LARGE");
398 dmap.put(new Integer(326),"SMALL");
399 dmap.put(new Integer(327),"QUARTILE");
400 dmap.put(new Integer(328),"PERCENTILE");
401 dmap.put(new Integer(329),"PERCENTRANK");
402 dmap.put(new Integer(330),"MODE");
403 dmap.put(new Integer(331),"TRIMMEAN");
404 dmap.put(new Integer(332),"TINV");
405 dmap.put(new Integer(334),"MOVIECOMMAND");
406 dmap.put(new Integer(335),"GETMOVIE");
407 dmap.put(new Integer(336),"CONCATENATE");
408 dmap.put(new Integer(337),"POWER");
409 dmap.put(new Integer(338),"PIVOTADDDATA");
410 dmap.put(new Integer(339),"GETPIVOTTABLE");
411 dmap.put(new Integer(340),"GETPIVOTFIELD");
412 dmap.put(new Integer(341),"GETPIVOTITEM");
413 dmap.put(new Integer(342),"RADIANS");
414 dmap.put(new Integer(343),"DEGREES");
415 dmap.put(new Integer(344),"SUBTOTAL");
416 dmap.put(new Integer(345),"SUMIF");
417 dmap.put(new Integer(346),"COUNTIF");
418 dmap.put(new Integer(347),"COUNTBLANK");
419 dmap.put(new Integer(348),"SCENARIOGET");
420 dmap.put(new Integer(349),"OPTIONSLISTSGET");
421 dmap.put(new Integer(350),"ISPMT");
422 dmap.put(new Integer(351),"DATEDIF");
423 dmap.put(new Integer(352),"DATESTRING");
424 dmap.put(new Integer(353),"NUMBERSTRING");
425 dmap.put(new Integer(354),"ROMAN");
426 dmap.put(new Integer(355),"OPENDIALOG");
427 dmap.put(new Integer(356),"SAVEDIALOG");
428 dmap.put(new Integer(357),"VIEWGET");
429 dmap.put(new Integer(358),"GETPIVOTDATA");
430 dmap.put(new Integer(359),"HYPERLINK");
431 dmap.put(new Integer(360),"PHONETIC");
432 dmap.put(new Integer(361),"AVERAGEA");
433 dmap.put(new Integer(362),"MAXA");
434 dmap.put(new Integer(363),"MINA");
435 dmap.put(new Integer(364),"STDEVPA");
436 dmap.put(new Integer(365),"VARPA");
437 dmap.put(new Integer(366),"STDEVA");
438 dmap.put(new Integer(367),"VARA");
439
440 return dmap;
441 }
442
443 private static Object[][] produceFunctionData() {
444 Object [][] functionData = new Object[368][3];
445
446 functionData[0][0]=new Byte(Ptg.CLASS_VALUE);functionData[0][1]=new byte[] {Ptg.CLASS_REF};functionData[0][2]=new Integer(-1);
447 functionData[2][0]=new Byte(Ptg.CLASS_VALUE);functionData[2][1]=new byte[] {Ptg.CLASS_VALUE};functionData[2][2]=new Integer(1);
448 functionData[3][0]=new Byte(Ptg.CLASS_VALUE);functionData[3][1]=new byte[] {Ptg.CLASS_VALUE};functionData[3][2]=new Integer(1);
449 functionData[4][0]=new Byte(Ptg.CLASS_VALUE);functionData[4][1]=new byte[] {Ptg.CLASS_REF};functionData[4][2]=new Integer(-1);
450 functionData[5][0]=new Byte(Ptg.CLASS_VALUE);functionData[5][1]=new byte[] {Ptg.CLASS_REF};functionData[5][2]=new Integer(-1);
451 functionData[6][0]=new Byte(Ptg.CLASS_VALUE);functionData[6][1]=new byte[] {Ptg.CLASS_REF};functionData[6][2]=new Integer(-1);
452 functionData[7][0]=new Byte(Ptg.CLASS_VALUE);functionData[7][1]=new byte[] {Ptg.CLASS_REF};functionData[7][2]=new Integer(-1);
453 functionData[8][0]=new Byte(Ptg.CLASS_VALUE);functionData[8][1]=new byte[] {Ptg.CLASS_REF};functionData[8][2]=new Integer(-1);
454 functionData[9][0]=new Byte(Ptg.CLASS_VALUE);functionData[9][1]=new byte[] {Ptg.CLASS_REF};functionData[9][2]=new Integer(-1);
455 functionData[10][0]=new Byte(Ptg.CLASS_VALUE);functionData[10][1]=new byte[] {Ptg.CLASS_VALUE};functionData[10][2]=new Integer(0);
456 functionData[11][0]=new Byte(Ptg.CLASS_VALUE);functionData[11][1]=new byte[] {Ptg.CLASS_REF};functionData[11][2]=new Integer(-1);
457 functionData[12][0]=new Byte(Ptg.CLASS_VALUE);functionData[12][1]=new byte[] {Ptg.CLASS_REF};functionData[12][2]=new Integer(-1);
458 functionData[13][0]=new Byte(Ptg.CLASS_VALUE);functionData[13][1]=new byte[] {Ptg.CLASS_VALUE};functionData[13][2]=new Integer(-1);
459 functionData[14][0]=new Byte(Ptg.CLASS_VALUE);functionData[14][1]=new byte[] {Ptg.CLASS_VALUE};functionData[14][2]=new Integer(-1);
460 functionData[15][0]=new Byte(Ptg.CLASS_VALUE);functionData[15][1]=new byte[] {Ptg.CLASS_VALUE};functionData[15][2]=new Integer(1);
461 functionData[16][0]=new Byte(Ptg.CLASS_VALUE);functionData[16][1]=new byte[] {Ptg.CLASS_VALUE};functionData[16][2]=new Integer(1);
462 functionData[17][0]=new Byte(Ptg.CLASS_VALUE);functionData[17][1]=new byte[] {Ptg.CLASS_VALUE};functionData[17][2]=new Integer(1);
463 functionData[18][0]=new Byte(Ptg.CLASS_VALUE);functionData[18][1]=new byte[] {Ptg.CLASS_VALUE};functionData[18][2]=new Integer(1);
464 functionData[19][0]=new Byte(Ptg.CLASS_VALUE);functionData[19][1]=new byte[] {Ptg.CLASS_VALUE};functionData[19][2]=new Integer(0);
465 functionData[20][0]=new Byte(Ptg.CLASS_VALUE);functionData[20][1]=new byte[] {Ptg.CLASS_VALUE};functionData[20][2]=new Integer(1);
466 functionData[21][0]=new Byte(Ptg.CLASS_VALUE);functionData[21][1]=new byte[] {Ptg.CLASS_VALUE};functionData[21][2]=new Integer(1);
467 functionData[22][0]=new Byte(Ptg.CLASS_VALUE);functionData[22][1]=new byte[] {Ptg.CLASS_VALUE};functionData[22][2]=new Integer(1);
468 functionData[23][0]=new Byte(Ptg.CLASS_VALUE);functionData[23][1]=new byte[] {Ptg.CLASS_VALUE};functionData[23][2]=new Integer(1);
469 functionData[24][0]=new Byte(Ptg.CLASS_VALUE);functionData[24][1]=new byte[] {Ptg.CLASS_VALUE};functionData[24][2]=new Integer(1);
470 functionData[25][0]=new Byte(Ptg.CLASS_VALUE);functionData[25][1]=new byte[] {Ptg.CLASS_VALUE};functionData[25][2]=new Integer(1);
471 functionData[26][0]=new Byte(Ptg.CLASS_VALUE);functionData[26][1]=new byte[] {Ptg.CLASS_VALUE};functionData[26][2]=new Integer(1);
472 functionData[27][0]=new Byte(Ptg.CLASS_VALUE);functionData[27][1]=new byte[] {Ptg.CLASS_VALUE};functionData[27][2]=new Integer(2);
473 functionData[28][0]=new Byte(Ptg.CLASS_VALUE);functionData[28][1]=new byte[] {Ptg.CLASS_REF};functionData[28][2]=new Integer(-1);
474 functionData[29][0]=new Byte(Ptg.CLASS_VALUE);functionData[29][1]=new byte[] {Ptg.CLASS_REF};functionData[29][2]=new Integer(-1);
475 functionData[30][0]=new Byte(Ptg.CLASS_VALUE);functionData[30][1]=new byte[] {Ptg.CLASS_VALUE};functionData[30][2]=new Integer(2);
476 functionData[31][0]=new Byte(Ptg.CLASS_VALUE);functionData[31][1]=new byte[] {Ptg.CLASS_VALUE};functionData[31][2]=new Integer(3);
477 functionData[32][0]=new Byte(Ptg.CLASS_VALUE);functionData[32][1]=new byte[] {Ptg.CLASS_VALUE};functionData[32][2]=new Integer(1);
478 functionData[33][0]=new Byte(Ptg.CLASS_VALUE);functionData[33][1]=new byte[] {Ptg.CLASS_VALUE};functionData[33][2]=new Integer(1);
479 functionData[34][0]=new Byte(Ptg.CLASS_VALUE);functionData[34][1]=new byte[] {Ptg.CLASS_VALUE};functionData[34][2]=new Integer(1);
480 functionData[35][0]=new Byte(Ptg.CLASS_VALUE);functionData[35][1]=new byte[] {Ptg.CLASS_VALUE};functionData[35][2]=new Integer(1);
481 functionData[36][0]=new Byte(Ptg.CLASS_VALUE);functionData[36][1]=new byte[] {Ptg.CLASS_REF};functionData[36][2]=new Integer(-1);
482 functionData[37][0]=new Byte(Ptg.CLASS_VALUE);functionData[37][1]=new byte[] {Ptg.CLASS_REF};functionData[37][2]=new Integer(-1);
483 functionData[38][0]=new Byte(Ptg.CLASS_VALUE);functionData[38][1]=new byte[] {Ptg.CLASS_VALUE};functionData[38][2]=new Integer(1);
484 functionData[39][0]=new Byte(Ptg.CLASS_VALUE);functionData[39][1]=new byte[] {Ptg.CLASS_VALUE};functionData[39][2]=new Integer(2);
485 functionData[40][0]=new Byte(Ptg.CLASS_VALUE);functionData[40][1]=new byte[] {Ptg.CLASS_REF};functionData[40][2]=new Integer(3);
486 functionData[41][0]=new Byte(Ptg.CLASS_VALUE);functionData[41][1]=new byte[] {Ptg.CLASS_REF};functionData[41][2]=new Integer(3);
487 functionData[42][0]=new Byte(Ptg.CLASS_VALUE);functionData[42][1]=new byte[] {Ptg.CLASS_REF};functionData[42][2]=new Integer(3);
488 functionData[43][0]=new Byte(Ptg.CLASS_VALUE);functionData[43][1]=new byte[] {Ptg.CLASS_REF};functionData[43][2]=new Integer(3);
489 functionData[44][0]=new Byte(Ptg.CLASS_VALUE);functionData[44][1]=new byte[] {Ptg.CLASS_REF};functionData[44][2]=new Integer(3);
490 functionData[45][0]=new Byte(Ptg.CLASS_VALUE);functionData[45][1]=new byte[] {Ptg.CLASS_REF};functionData[45][2]=new Integer(3);
491 functionData[46][0]=new Byte(Ptg.CLASS_VALUE);functionData[46][1]=new byte[] {Ptg.CLASS_REF};functionData[46][2]=new Integer(-1);
492 functionData[47][0]=new Byte(Ptg.CLASS_VALUE);functionData[47][1]=new byte[] {Ptg.CLASS_REF};functionData[47][2]=new Integer(3);
493 functionData[48][0]=new Byte(Ptg.CLASS_VALUE);functionData[48][1]=new byte[] {Ptg.CLASS_VALUE};functionData[48][2]=new Integer(2);
494 functionData[49][0]=new Byte(Ptg.CLASS_VALUE);functionData[49][1]=new byte[] {Ptg.CLASS_REF};functionData[49][2]=new Integer(-1);
495 functionData[50][0]=new Byte(Ptg.CLASS_VALUE);functionData[50][1]=new byte[] {Ptg.CLASS_REF};functionData[50][2]=new Integer(-1);
496 functionData[51][0]=new Byte(Ptg.CLASS_VALUE);functionData[51][1]=new byte[] {Ptg.CLASS_REF};functionData[51][2]=new Integer(-1);
497 functionData[52][0]=new Byte(Ptg.CLASS_VALUE);functionData[52][1]=new byte[] {Ptg.CLASS_REF};functionData[52][2]=new Integer(-1);
498
499
500 functionData[56][0]=new Byte(Ptg.CLASS_VALUE);functionData[56][1]=new byte[] {Ptg.CLASS_VALUE};functionData[56][2]=new Integer(-1);
501 functionData[57][0]=new Byte(Ptg.CLASS_VALUE);functionData[57][1]=new byte[] {Ptg.CLASS_VALUE};functionData[57][2]=new Integer(-1);
502 functionData[58][0]=new Byte(Ptg.CLASS_VALUE);functionData[58][1]=new byte[] {Ptg.CLASS_VALUE};functionData[58][2]=new Integer(-1);
503 functionData[59][0]=new Byte(Ptg.CLASS_VALUE);functionData[59][1]=new byte[] {Ptg.CLASS_VALUE};functionData[59][2]=new Integer(-1);
504 functionData[60][0]=new Byte(Ptg.CLASS_VALUE);functionData[60][1]=new byte[] {Ptg.CLASS_VALUE};functionData[60][2]=new Integer(-1);
505 functionData[61][0]=new Byte(Ptg.CLASS_VALUE);functionData[61][1]=new byte[] {Ptg.CLASS_VALUE};functionData[61][2]=new Integer(3);
506 functionData[62][0]=new Byte(Ptg.CLASS_VALUE);functionData[62][1]=new byte[] {Ptg.CLASS_REF};functionData[62][2]=new Integer(-1);
507 functionData[63][0]=new Byte(Ptg.CLASS_VALUE);functionData[63][1]=new byte[] {Ptg.CLASS_REF};functionData[63][2]=new Integer(1);
508 functionData[64][0]=new Byte(Ptg.CLASS_VALUE);functionData[64][1]=new byte[] {Ptg.CLASS_REF};functionData[64][2]=new Integer(-1);
509 functionData[65][0]=new Byte(Ptg.CLASS_VALUE);functionData[65][1]=new byte[] {Ptg.CLASS_VALUE};functionData[65][2]=new Integer(3);
510 functionData[66][0]=new Byte(Ptg.CLASS_VALUE);functionData[66][1]=new byte[] {Ptg.CLASS_VALUE};functionData[66][2]=new Integer(3);
511 functionData[67][0]=new Byte(Ptg.CLASS_VALUE);functionData[67][1]=new byte[] {Ptg.CLASS_VALUE};functionData[67][2]=new Integer(1);
512 functionData[68][0]=new Byte(Ptg.CLASS_VALUE);functionData[68][1]=new byte[] {Ptg.CLASS_VALUE};functionData[68][2]=new Integer(1);
513 functionData[69][0]=new Byte(Ptg.CLASS_VALUE);functionData[69][1]=new byte[] {Ptg.CLASS_VALUE};functionData[69][2]=new Integer(1);
514 functionData[70][0]=new Byte(Ptg.CLASS_VALUE);functionData[70][1]=new byte[] {Ptg.CLASS_VALUE};functionData[70][2]=new Integer(-1);
515 functionData[71][0]=new Byte(Ptg.CLASS_VALUE);functionData[71][1]=new byte[] {Ptg.CLASS_VALUE};functionData[71][2]=new Integer(1);
516 functionData[72][0]=new Byte(Ptg.CLASS_VALUE);functionData[72][1]=new byte[] {Ptg.CLASS_VALUE};functionData[72][2]=new Integer(1);
517 functionData[73][0]=new Byte(Ptg.CLASS_VALUE);functionData[73][1]=new byte[] {Ptg.CLASS_VALUE};functionData[73][2]=new Integer(1);
518 functionData[74][0]=new Byte(Ptg.CLASS_VALUE);functionData[74][1]=new byte[] {Ptg.CLASS_REF};functionData[74][2]=new Integer(1);
519 functionData[75][0]=new Byte(Ptg.CLASS_VALUE);functionData[75][1]=new byte[] {Ptg.CLASS_REF};functionData[75][2]=new Integer(1);
520 functionData[76][0]=new Byte(Ptg.CLASS_VALUE);functionData[76][1]=new byte[] {Ptg.CLASS_REF};functionData[76][2]=new Integer(1);
521 functionData[77][0]=new Byte(Ptg.CLASS_VALUE);functionData[77][1]=new byte[] {Ptg.CLASS_REF};functionData[77][2]=new Integer(1);
522 functionData[78][0]=new Byte(Ptg.CLASS_VALUE);functionData[78][1]=new byte[] {Ptg.CLASS_VALUE};functionData[78][2]=new Integer(-1);
523
524
525
526 functionData[82][0]=new Byte(Ptg.CLASS_VALUE);functionData[82][1]=new byte[] {Ptg.CLASS_VALUE};functionData[82][2]=new Integer(-1);
527 functionData[83][0]=new Byte(Ptg.CLASS_VALUE);functionData[83][1]=new byte[] {Ptg.CLASS_VALUE};functionData[83][2]=new Integer(1);
528
529
530 functionData[86][0]=new Byte(Ptg.CLASS_VALUE);functionData[86][1]=new byte[] {Ptg.CLASS_VALUE};functionData[86][2]=new Integer(1);
531
532
533
534
535
536
537
538
539
540
541 functionData[97][0]=new Byte(Ptg.CLASS_VALUE);functionData[97][1]=new byte[] {Ptg.CLASS_VALUE};functionData[97][2]=new Integer(2);
542 functionData[98][0]=new Byte(Ptg.CLASS_VALUE);functionData[98][1]=new byte[] {Ptg.CLASS_VALUE};functionData[98][2]=new Integer(1);
543 functionData[99][0]=new Byte(Ptg.CLASS_VALUE);functionData[99][1]=new byte[] {Ptg.CLASS_VALUE};functionData[99][2]=new Integer(1);
544
545 functionData[101][0]=new Byte(Ptg.CLASS_VALUE);functionData[101][1]=new byte[] {Ptg.CLASS_REF};functionData[101][2]=new Integer(-1);
546 functionData[102][0]=new Byte(Ptg.CLASS_VALUE);functionData[102][1]=new byte[] {Ptg.CLASS_REF};functionData[102][2]=new Integer(-1);
547
548
549 functionData[105][0]=new Byte(Ptg.CLASS_VALUE);functionData[105][1]=new byte[] {Ptg.CLASS_REF};functionData[105][2]=new Integer(1);
550
551
552
553 functionData[109][0]=new Byte(Ptg.CLASS_VALUE);functionData[109][1]=new byte[] {Ptg.CLASS_VALUE};functionData[109][2]=new Integer(-1);
554
555 functionData[111][0]=new Byte(Ptg.CLASS_VALUE);functionData[111][1]=new byte[] {Ptg.CLASS_VALUE};functionData[111][2]=new Integer(1);
556 functionData[112][0]=new Byte(Ptg.CLASS_VALUE);functionData[112][1]=new byte[] {Ptg.CLASS_VALUE};functionData[112][2]=new Integer(1);
557 functionData[113][0]=new Byte(Ptg.CLASS_VALUE);functionData[113][1]=new byte[] {Ptg.CLASS_VALUE};functionData[113][2]=new Integer(1);
558 functionData[114][0]=new Byte(Ptg.CLASS_VALUE);functionData[114][1]=new byte[] {Ptg.CLASS_VALUE};functionData[114][2]=new Integer(1);
559 functionData[115][0]=new Byte(Ptg.CLASS_VALUE);functionData[115][1]=new byte[] {Ptg.CLASS_VALUE};functionData[115][2]=new Integer(-1);
560 functionData[116][0]=new Byte(Ptg.CLASS_VALUE);functionData[116][1]=new byte[] {Ptg.CLASS_VALUE};functionData[116][2]=new Integer(-1);
561 functionData[117][0]=new Byte(Ptg.CLASS_VALUE);functionData[117][1]=new byte[] {Ptg.CLASS_VALUE};functionData[117][2]=new Integer(2);
562 functionData[118][0]=new Byte(Ptg.CLASS_VALUE);functionData[118][1]=new byte[] {Ptg.CLASS_VALUE};functionData[118][2]=new Integer(1);
563 functionData[119][0]=new Byte(Ptg.CLASS_VALUE);functionData[119][1]=new byte[] {Ptg.CLASS_VALUE};functionData[119][2]=new Integer(4);
564 functionData[120][0]=new Byte(Ptg.CLASS_VALUE);functionData[120][1]=new byte[] {Ptg.CLASS_VALUE};functionData[120][2]=new Integer(-1);
565 functionData[121][0]=new Byte(Ptg.CLASS_VALUE);functionData[121][1]=new byte[] {Ptg.CLASS_VALUE};functionData[121][2]=new Integer(1);
566
567
568 functionData[124][0]=new Byte(Ptg.CLASS_VALUE);functionData[124][1]=new byte[] {Ptg.CLASS_VALUE};functionData[124][2]=new Integer(-1);
569 functionData[125][0]=new Byte(Ptg.CLASS_VALUE);functionData[125][1]=new byte[] {Ptg.CLASS_VALUE};functionData[125][2]=new Integer(-1);
570 functionData[126][0]=new Byte(Ptg.CLASS_VALUE);functionData[126][1]=new byte[] {Ptg.CLASS_VALUE};functionData[126][2]=new Integer(1);
571 functionData[127][0]=new Byte(Ptg.CLASS_VALUE);functionData[127][1]=new byte[] {Ptg.CLASS_VALUE};functionData[127][2]=new Integer(1);
572 functionData[128][0]=new Byte(Ptg.CLASS_VALUE);functionData[128][1]=new byte[] {Ptg.CLASS_VALUE};functionData[128][2]=new Integer(1);
573 functionData[129][0]=new Byte(Ptg.CLASS_VALUE);functionData[129][1]=new byte[] {Ptg.CLASS_VALUE};functionData[129][2]=new Integer(1);
574 functionData[130][0]=new Byte(Ptg.CLASS_VALUE);functionData[130][1]=new byte[] {Ptg.CLASS_REF};functionData[130][2]=new Integer(1);
575 functionData[131][0]=new Byte(Ptg.CLASS_VALUE);functionData[131][1]=new byte[] {Ptg.CLASS_REF};functionData[131][2]=new Integer(1);
576
577
578
579
580
581
582
583
584 functionData[140][0]=new Byte(Ptg.CLASS_VALUE);functionData[140][1]=new byte[] {Ptg.CLASS_VALUE};functionData[140][2]=new Integer(1);
585 functionData[141][0]=new Byte(Ptg.CLASS_VALUE);functionData[141][1]=new byte[] {Ptg.CLASS_VALUE};functionData[141][2]=new Integer(1);
586 functionData[142][0]=new Byte(Ptg.CLASS_VALUE);functionData[142][1]=new byte[] {Ptg.CLASS_VALUE};functionData[142][2]=new Integer(3);
587
588
589
590
591
592 functionData[148][0]=new Byte(Ptg.CLASS_VALUE);functionData[148][1]=new byte[] {Ptg.CLASS_VALUE};functionData[148][2]=new Integer(-1);
593
594 functionData[150][0]=new Byte(Ptg.CLASS_VALUE);functionData[150][1]=new byte[] {Ptg.CLASS_VALUE};functionData[150][2]=new Integer(-1);
595
596
597
598
599
600
601
602
603
604
605
606 functionData[162][0]=new Byte(Ptg.CLASS_VALUE);functionData[162][1]=new byte[] {Ptg.CLASS_VALUE};functionData[162][2]=new Integer(1);
607 functionData[163][0]=new Byte(Ptg.CLASS_VALUE);functionData[163][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[163][2]=new Integer(1);
608 functionData[164][0]=new Byte(Ptg.CLASS_VALUE);functionData[164][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[164][2]=new Integer(1);
609 functionData[165][0]=new Byte(Ptg.CLASS_VALUE);functionData[165][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[165][2]=new Integer(2);
610 functionData[166][0]=new Byte(Ptg.CLASS_VALUE);functionData[166][1]=new byte[] {Ptg.CLASS_VALUE};functionData[166][2]=new Integer(-1);
611 functionData[167][0]=new Byte(Ptg.CLASS_VALUE);functionData[167][1]=new byte[] {Ptg.CLASS_VALUE};functionData[167][2]=new Integer(-1);
612 functionData[168][0]=new Byte(Ptg.CLASS_VALUE);functionData[168][1]=new byte[] {Ptg.CLASS_REF};functionData[168][2]=new Integer(-1);
613
614
615
616
617
618
619
620
621
622
623 functionData[183][0]=new Byte(Ptg.CLASS_VALUE);functionData[183][1]=new byte[] {Ptg.CLASS_REF};functionData[183][2]=new Integer(-1);
624 functionData[184][0]=new Byte(Ptg.CLASS_VALUE);functionData[184][1]=new byte[] {Ptg.CLASS_VALUE};functionData[184][2]=new Integer(1);
625
626
627
628
629 functionData[189][0]=new Byte(Ptg.CLASS_VALUE);functionData[189][1]=new byte[] {Ptg.CLASS_REF};functionData[189][2]=new Integer(3);
630 functionData[190][0]=new Byte(Ptg.CLASS_VALUE);functionData[190][1]=new byte[] {Ptg.CLASS_VALUE};functionData[190][2]=new Integer(1);
631
632
633 functionData[193][0]=new Byte(Ptg.CLASS_VALUE);functionData[193][1]=new byte[] {Ptg.CLASS_REF};functionData[193][2]=new Integer(-1);
634 functionData[194][0]=new Byte(Ptg.CLASS_VALUE);functionData[194][1]=new byte[] {Ptg.CLASS_REF};functionData[194][2]=new Integer(-1);
635 functionData[195][0]=new Byte(Ptg.CLASS_VALUE);functionData[195][1]=new byte[] {Ptg.CLASS_REF};functionData[195][2]=new Integer(3);
636 functionData[196][0]=new Byte(Ptg.CLASS_VALUE);functionData[196][1]=new byte[] {Ptg.CLASS_REF};functionData[196][2]=new Integer(3);
637 functionData[197][0]=new Byte(Ptg.CLASS_VALUE);functionData[197][1]=new byte[] {Ptg.CLASS_VALUE};functionData[197][2]=new Integer(-1);
638 functionData[198][0]=new Byte(Ptg.CLASS_VALUE);functionData[198][1]=new byte[] {Ptg.CLASS_VALUE};functionData[198][2]=new Integer(1);
639 functionData[199][0]=new Byte(Ptg.CLASS_VALUE);functionData[199][1]=new byte[] {Ptg.CLASS_REF};functionData[199][2]=new Integer(3);
640
641
642 functionData[204][0]=new Byte(Ptg.CLASS_VALUE);functionData[204][1]=new byte[] {Ptg.CLASS_VALUE};functionData[204][2]=new Integer(-1);
643 functionData[205][0]=new Byte(Ptg.CLASS_VALUE);functionData[205][1]=new byte[] {Ptg.CLASS_VALUE};functionData[205][2]=new Integer(-1);
644 functionData[206][0]=new Byte(Ptg.CLASS_VALUE);functionData[206][1]=new byte[] {Ptg.CLASS_VALUE};functionData[206][2]=new Integer(-1);
645 functionData[207][0]=new Byte(Ptg.CLASS_VALUE);functionData[207][1]=new byte[] {Ptg.CLASS_VALUE};functionData[207][2]=new Integer(3);
646 functionData[208][0]=new Byte(Ptg.CLASS_VALUE);functionData[208][1]=new byte[] {Ptg.CLASS_VALUE};functionData[208][2]=new Integer(1);
647 functionData[209][0]=new Byte(Ptg.CLASS_VALUE);functionData[209][1]=new byte[] {Ptg.CLASS_VALUE};functionData[209][2]=new Integer(2);
648 functionData[210][0]=new Byte(Ptg.CLASS_VALUE);functionData[210][1]=new byte[] {Ptg.CLASS_VALUE};functionData[210][2]=new Integer(2);
649 functionData[211][0]=new Byte(Ptg.CLASS_VALUE);functionData[211][1]=new byte[] {Ptg.CLASS_VALUE};functionData[211][2]=new Integer(1);
650 functionData[212][0]=new Byte(Ptg.CLASS_VALUE);functionData[212][1]=new byte[] {Ptg.CLASS_VALUE};functionData[212][2]=new Integer(1);
651 functionData[213][0]=new Byte(Ptg.CLASS_VALUE);functionData[213][1]=new byte[] {Ptg.CLASS_REF};functionData[213][2]=new Integer(-1);
652 functionData[214][0]=new Byte(Ptg.CLASS_VALUE);functionData[214][1]=new byte[] {Ptg.CLASS_VALUE};functionData[214][2]=new Integer(-1);
653
654
655
656
657 functionData[221][0]=new Byte(Ptg.CLASS_VALUE);functionData[221][1]=new byte[] {Ptg.CLASS_REF};functionData[221][2]=new Integer(1);
658 functionData[222][0]=new Byte(Ptg.CLASS_VALUE);functionData[222][1]=new byte[] {Ptg.CLASS_VALUE};functionData[222][2]=new Integer(-1);
659 functionData[227][0]=new Byte(Ptg.CLASS_VALUE);functionData[227][1]=new byte[] {Ptg.CLASS_REF};functionData[227][2]=new Integer(-1);
660 functionData[228][0]=new Byte(Ptg.CLASS_VALUE);functionData[228][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[228][2]=new Integer(-1);
661 functionData[229][0]=new Byte(Ptg.CLASS_VALUE);functionData[229][1]=new byte[] {Ptg.CLASS_VALUE};functionData[229][2]=new Integer(1);
662 functionData[230][0]=new Byte(Ptg.CLASS_VALUE);functionData[230][1]=new byte[] {Ptg.CLASS_VALUE};functionData[230][2]=new Integer(1);
663 functionData[231][0]=new Byte(Ptg.CLASS_VALUE);functionData[231][1]=new byte[] {Ptg.CLASS_VALUE};functionData[231][2]=new Integer(1);
664 functionData[232][0]=new Byte(Ptg.CLASS_VALUE);functionData[232][1]=new byte[] {Ptg.CLASS_VALUE};functionData[232][2]=new Integer(1);
665 functionData[233][0]=new Byte(Ptg.CLASS_VALUE);functionData[233][1]=new byte[] {Ptg.CLASS_VALUE};functionData[233][2]=new Integer(1);
666 functionData[234][0]=new Byte(Ptg.CLASS_VALUE);functionData[234][1]=new byte[] {Ptg.CLASS_VALUE};functionData[234][2]=new Integer(1);
667 functionData[235][0]=new Byte(Ptg.CLASS_VALUE);functionData[235][1]=new byte[] {Ptg.CLASS_REF};functionData[235][2]=new Integer(3);
668
669
670
671
672
673
674
675
676 functionData[244][0]=new Byte(Ptg.CLASS_VALUE);functionData[244][1]=new byte[] {Ptg.CLASS_VALUE};functionData[244][2]=new Integer(2);
677
678
679
680
681
682 functionData[252][0]=new Byte(Ptg.CLASS_VALUE);functionData[252][1]=new byte[] {Ptg.CLASS_REF};functionData[252][2]=new Integer(2);
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698 functionData[269][0]=new Byte(Ptg.CLASS_VALUE);functionData[269][1]=new byte[] {Ptg.CLASS_REF};functionData[269][2]=new Integer(-1);
699 functionData[270][0]=new Byte(Ptg.CLASS_VALUE);functionData[270][1]=new byte[] {Ptg.CLASS_VALUE};functionData[270][2]=new Integer(-1);
700 functionData[271][0]=new Byte(Ptg.CLASS_VALUE);functionData[271][1]=new byte[] {Ptg.CLASS_VALUE};functionData[271][2]=new Integer(1);
701 functionData[272][0]=new Byte(Ptg.CLASS_VALUE);functionData[272][1]=new byte[] {Ptg.CLASS_VALUE};functionData[272][2]=new Integer(-1);
702 functionData[273][0]=new Byte(Ptg.CLASS_VALUE);functionData[273][1]=new byte[] {Ptg.CLASS_VALUE};functionData[273][2]=new Integer(4);
703 functionData[274][0]=new Byte(Ptg.CLASS_VALUE);functionData[274][1]=new byte[] {Ptg.CLASS_VALUE};functionData[274][2]=new Integer(2);
704 functionData[275][0]=new Byte(Ptg.CLASS_VALUE);functionData[275][1]=new byte[] {Ptg.CLASS_VALUE};functionData[275][2]=new Integer(2);
705 functionData[276][0]=new Byte(Ptg.CLASS_VALUE);functionData[276][1]=new byte[] {Ptg.CLASS_VALUE};functionData[276][2]=new Integer(2);
706 functionData[277][0]=new Byte(Ptg.CLASS_VALUE);functionData[277][1]=new byte[] {Ptg.CLASS_VALUE};functionData[277][2]=new Integer(3);
707 functionData[278][0]=new Byte(Ptg.CLASS_VALUE);functionData[278][1]=new byte[] {Ptg.CLASS_VALUE};functionData[278][2]=new Integer(3);
708 functionData[279][0]=new Byte(Ptg.CLASS_VALUE);functionData[279][1]=new byte[] {Ptg.CLASS_VALUE};functionData[279][2]=new Integer(1);
709 functionData[280][0]=new Byte(Ptg.CLASS_VALUE);functionData[280][1]=new byte[] {Ptg.CLASS_VALUE};functionData[280][2]=new Integer(3);
710 functionData[281][0]=new Byte(Ptg.CLASS_VALUE);functionData[281][1]=new byte[] {Ptg.CLASS_VALUE};functionData[281][2]=new Integer(3);
711 functionData[282][0]=new Byte(Ptg.CLASS_VALUE);functionData[282][1]=new byte[] {Ptg.CLASS_VALUE};functionData[282][2]=new Integer(3);
712 functionData[283][0]=new Byte(Ptg.CLASS_VALUE);functionData[283][1]=new byte[] {Ptg.CLASS_VALUE};functionData[283][2]=new Integer(1);
713 functionData[284][0]=new Byte(Ptg.CLASS_VALUE);functionData[284][1]=new byte[] {Ptg.CLASS_VALUE};functionData[284][2]=new Integer(1);
714 functionData[285][0]=new Byte(Ptg.CLASS_VALUE);functionData[285][1]=new byte[] {Ptg.CLASS_VALUE};functionData[285][2]=new Integer(2);
715 functionData[286][0]=new Byte(Ptg.CLASS_VALUE);functionData[286][1]=new byte[] {Ptg.CLASS_VALUE};functionData[286][2]=new Integer(4);
716 functionData[287][0]=new Byte(Ptg.CLASS_VALUE);functionData[287][1]=new byte[] {Ptg.CLASS_VALUE};functionData[287][2]=new Integer(3);
717 functionData[288][0]=new Byte(Ptg.CLASS_VALUE);functionData[288][1]=new byte[] {Ptg.CLASS_VALUE};functionData[288][2]=new Integer(2);
718 functionData[289][0]=new Byte(Ptg.CLASS_VALUE);functionData[289][1]=new byte[] {Ptg.CLASS_VALUE};functionData[289][2]=new Integer(4);
719 functionData[290][0]=new Byte(Ptg.CLASS_VALUE);functionData[290][1]=new byte[] {Ptg.CLASS_VALUE};functionData[290][2]=new Integer(3);
720 functionData[291][0]=new Byte(Ptg.CLASS_VALUE);functionData[291][1]=new byte[] {Ptg.CLASS_VALUE};functionData[291][2]=new Integer(3);
721 functionData[292][0]=new Byte(Ptg.CLASS_VALUE);functionData[292][1]=new byte[] {Ptg.CLASS_VALUE};functionData[292][2]=new Integer(3);
722 functionData[293][0]=new Byte(Ptg.CLASS_VALUE);functionData[293][1]=new byte[] {Ptg.CLASS_VALUE};functionData[293][2]=new Integer(4);
723 functionData[294][0]=new Byte(Ptg.CLASS_VALUE);functionData[294][1]=new byte[] {Ptg.CLASS_VALUE};functionData[294][2]=new Integer(1);
724 functionData[295][0]=new Byte(Ptg.CLASS_VALUE);functionData[295][1]=new byte[] {Ptg.CLASS_VALUE};functionData[295][2]=new Integer(3);
725 functionData[296][0]=new Byte(Ptg.CLASS_VALUE);functionData[296][1]=new byte[] {Ptg.CLASS_VALUE};functionData[296][2]=new Integer(1);
726 functionData[297][0]=new Byte(Ptg.CLASS_VALUE);functionData[297][1]=new byte[] {Ptg.CLASS_VALUE};functionData[297][2]=new Integer(3);
727 functionData[298][0]=new Byte(Ptg.CLASS_VALUE);functionData[298][1]=new byte[] {Ptg.CLASS_VALUE};functionData[298][2]=new Integer(1);
728 functionData[299][0]=new Byte(Ptg.CLASS_VALUE);functionData[299][1]=new byte[] {Ptg.CLASS_VALUE};functionData[299][2]=new Integer(2);
729 functionData[300][0]=new Byte(Ptg.CLASS_VALUE);functionData[300][1]=new byte[] {Ptg.CLASS_VALUE};functionData[300][2]=new Integer(3);
730 functionData[301][0]=new Byte(Ptg.CLASS_VALUE);functionData[301][1]=new byte[] {Ptg.CLASS_VALUE};functionData[301][2]=new Integer(3);
731 functionData[302][0]=new Byte(Ptg.CLASS_VALUE);functionData[302][1]=new byte[] {Ptg.CLASS_VALUE};functionData[302][2]=new Integer(4);
732 functionData[303][0]=new Byte(Ptg.CLASS_VALUE);functionData[303][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[303][2]=new Integer(2);
733 functionData[304][0]=new Byte(Ptg.CLASS_VALUE);functionData[304][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[304][2]=new Integer(2);
734 functionData[305][0]=new Byte(Ptg.CLASS_VALUE);functionData[305][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[305][2]=new Integer(2);
735 functionData[306][0]=new Byte(Ptg.CLASS_VALUE);functionData[306][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[306][2]=new Integer(2);
736 functionData[307][0]=new Byte(Ptg.CLASS_VALUE);functionData[307][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[307][2]=new Integer(2);
737 functionData[308][0]=new Byte(Ptg.CLASS_VALUE);functionData[308][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[308][2]=new Integer(2);
738 functionData[309][0]=new Byte(Ptg.CLASS_VALUE);functionData[309][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[309][2]=new Integer(3);
739 functionData[310][0]=new Byte(Ptg.CLASS_VALUE);functionData[310][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[310][2]=new Integer(2);
740 functionData[311][0]=new Byte(Ptg.CLASS_VALUE);functionData[311][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[311][2]=new Integer(2);
741 functionData[312][0]=new Byte(Ptg.CLASS_VALUE);functionData[312][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[312][2]=new Integer(2);
742 functionData[313][0]=new Byte(Ptg.CLASS_VALUE);functionData[313][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[313][2]=new Integer(2);
743 functionData[314][0]=new Byte(Ptg.CLASS_VALUE);functionData[314][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[314][2]=new Integer(2);
744 functionData[315][0]=new Byte(Ptg.CLASS_VALUE);functionData[315][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[315][2]=new Integer(2);
745 functionData[316][0]=new Byte(Ptg.CLASS_VALUE);functionData[316][1]=new byte[] {Ptg.CLASS_VALUE};functionData[316][2]=new Integer(4);
746 functionData[317][0]=new Byte(Ptg.CLASS_VALUE);functionData[317][1]=new byte[] {Ptg.CLASS_VALUE};functionData[317][2]=new Integer(-1);
747 functionData[318][0]=new Byte(Ptg.CLASS_VALUE);functionData[318][1]=new byte[] {Ptg.CLASS_REF};functionData[318][2]=new Integer(-1);
748 functionData[319][0]=new Byte(Ptg.CLASS_VALUE);functionData[319][1]=new byte[] {Ptg.CLASS_REF};functionData[319][2]=new Integer(-1);
749 functionData[320][0]=new Byte(Ptg.CLASS_VALUE);functionData[320][1]=new byte[] {Ptg.CLASS_REF};functionData[320][2]=new Integer(-1);
750 functionData[321][0]=new Byte(Ptg.CLASS_VALUE);functionData[321][1]=new byte[] {Ptg.CLASS_REF};functionData[321][2]=new Integer(-1);
751 functionData[322][0]=new Byte(Ptg.CLASS_VALUE);functionData[322][1]=new byte[] {Ptg.CLASS_REF};functionData[322][2]=new Integer(-1);
752 functionData[323][0]=new Byte(Ptg.CLASS_VALUE);functionData[323][1]=new byte[] {Ptg.CLASS_REF};functionData[323][2]=new Integer(-1);
753 functionData[324][0]=new Byte(Ptg.CLASS_VALUE);functionData[324][1]=new byte[] {Ptg.CLASS_VALUE};functionData[324][2]=new Integer(-1);
754 functionData[325][0]=new Byte(Ptg.CLASS_VALUE);functionData[325][1]=new byte[] {Ptg.CLASS_VALUE};functionData[325][2]=new Integer(2);
755 functionData[326][0]=new Byte(Ptg.CLASS_VALUE);functionData[326][1]=new byte[] {Ptg.CLASS_VALUE};functionData[326][2]=new Integer(2);
756 functionData[327][0]=new Byte(Ptg.CLASS_VALUE);functionData[327][1]=new byte[] {Ptg.CLASS_VALUE};functionData[327][2]=new Integer(2);
757 functionData[328][0]=new Byte(Ptg.CLASS_VALUE);functionData[328][1]=new byte[] {Ptg.CLASS_VALUE};functionData[328][2]=new Integer(2);
758 functionData[329][0]=new Byte(Ptg.CLASS_VALUE);functionData[329][1]=new byte[] {Ptg.CLASS_VALUE};functionData[329][2]=new Integer(-1);
759 functionData[330][0]=new Byte(Ptg.CLASS_VALUE);functionData[330][1]=new byte[] {Ptg.CLASS_ARRAY};functionData[330][2]=new Integer(-1);
760 functionData[331][0]=new Byte(Ptg.CLASS_VALUE);functionData[331][1]=new byte[] {Ptg.CLASS_VALUE};functionData[331][2]=new Integer(2);
761 functionData[332][0]=new Byte(Ptg.CLASS_VALUE);functionData[332][1]=new byte[] {Ptg.CLASS_VALUE};functionData[332][2]=new Integer(2);
762
763
764 functionData[336][0]=new Byte(Ptg.CLASS_VALUE);functionData[336][1]=new byte[] {Ptg.CLASS_VALUE};functionData[336][2]=new Integer(-1);
765 functionData[337][0]=new Byte(Ptg.CLASS_VALUE);functionData[337][1]=new byte[] {Ptg.CLASS_VALUE};functionData[337][2]=new Integer(2);
766
767
768
769
770 functionData[342][0]=new Byte(Ptg.CLASS_VALUE);functionData[342][1]=new byte[] {Ptg.CLASS_VALUE};functionData[342][2]=new Integer(1);
771 functionData[343][0]=new Byte(Ptg.CLASS_VALUE);functionData[343][1]=new byte[] {Ptg.CLASS_VALUE};functionData[343][2]=new Integer(1);
772 functionData[344][0]=new Byte(Ptg.CLASS_VALUE);functionData[344][1]=new byte[] {Ptg.CLASS_REF};functionData[344][2]=new Integer(-1);
773 functionData[345][0]=new Byte(Ptg.CLASS_VALUE);functionData[345][1]=new byte[] {Ptg.CLASS_VALUE};functionData[345][2]=new Integer(-1);
774 functionData[346][0]=new Byte(Ptg.CLASS_VALUE);functionData[346][1]=new byte[] {Ptg.CLASS_VALUE};functionData[346][2]=new Integer(2);
775 functionData[347][0]=new Byte(Ptg.CLASS_VALUE);functionData[347][1]=new byte[] {Ptg.CLASS_REF};functionData[347][2]=new Integer(1);
776
777
778 functionData[350][0]=new Byte(Ptg.CLASS_VALUE);functionData[350][1]=new byte[] {Ptg.CLASS_VALUE};functionData[350][2]=new Integer(4);
779
780 functionData[352][0]=new Byte(Ptg.CLASS_VALUE);functionData[352][1]=new byte[] {Ptg.CLASS_VALUE};functionData[352][2]=new Integer(1);
781
782 functionData[354][0]=new Byte(Ptg.CLASS_VALUE);functionData[354][1]=new byte[] {Ptg.CLASS_VALUE};functionData[354][2]=new Integer(-1);
783
784
785
786 functionData[358][0]=new Byte(Ptg.CLASS_VALUE);functionData[358][1]=new byte[] {Ptg.CLASS_VALUE};functionData[358][2]=new Integer(2);
787 functionData[359][0]=new Byte(Ptg.CLASS_VALUE);functionData[359][1]=new byte[] {Ptg.CLASS_VALUE};functionData[359][2]=new Integer(-1);
788 functionData[360][0]=new Byte(Ptg.CLASS_VALUE);functionData[360][1]=new byte[] {Ptg.CLASS_REF};functionData[360][2]=new Integer(1);
789 functionData[361][0]=new Byte(Ptg.CLASS_VALUE);functionData[361][1]=new byte[] {Ptg.CLASS_REF};functionData[361][2]=new Integer(-1);
790 functionData[362][0]=new Byte(Ptg.CLASS_VALUE);functionData[362][1]=new byte[] {Ptg.CLASS_REF};functionData[362][2]=new Integer(-1);
791 functionData[363][0]=new Byte(Ptg.CLASS_VALUE);functionData[363][1]=new byte[] {Ptg.CLASS_REF};functionData[363][2]=new Integer(-1);
792 functionData[364][0]=new Byte(Ptg.CLASS_VALUE);functionData[364][1]=new byte[] {Ptg.CLASS_REF};functionData[364][2]=new Integer(-1);
793 functionData[365][0]=new Byte(Ptg.CLASS_VALUE);functionData[365][1]=new byte[] {Ptg.CLASS_REF};functionData[365][2]=new Integer(-1);
794 functionData[366][0]=new Byte(Ptg.CLASS_VALUE);functionData[366][1]=new byte[] {Ptg.CLASS_REF};functionData[366][2]=new Integer(-1);
795 functionData[367][0]=new Byte(Ptg.CLASS_VALUE);functionData[367][1]=new byte[] {Ptg.CLASS_REF};functionData[367][2]=new Integer(-1);
796
797
798 return functionData;
799 }
800
801 public byte getDefaultOperandClass() {
802 return returnClass;
803 }
804
805 protected byte getParameterClass(int index) {
806 try {
807 return paramClass[index];
808 } catch (ArrayIndexOutOfBoundsException aioobe) {
809 return paramClass[paramClass.length - 1];
810 }
811 }
812 }
813