File Coverage

func_codes.h
Criterion Covered Total %
statement 182 248 73.3
branch 84 126 66.6
condition n/a
subroutine n/a
pod n/a
total 266 374 71.1


line stmt bran cond sub pod time code
1             #define PERL_constant_NOTFOUND 1
2             #define PERL_constant_NOTDEF 2
3             #define PERL_constant_ISIV 3
4             #define PERL_constant_ISNO 4
5             #define PERL_constant_ISNV 5
6             #define PERL_constant_ISPV 6
7             #define PERL_constant_ISPVN 7
8             #define PERL_constant_ISSV 8
9             #define PERL_constant_ISUNDEF 9
10             #define PERL_constant_ISUV 10
11             #define PERL_constant_ISYES 11
12              
13             #ifndef NVTYPE
14             typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
15             #endif
16             #ifndef aTHX_
17             #define aTHX_ /* 5.6 or later define this for threading support. */
18             #endif
19             #ifndef pTHX_
20             #define pTHX_ /* 5.6 or later define this for threading support. */
21             #endif
22             static int
23 32371           func_ord_by_type_1 (pTHX_ const char *name, IV *iv_return) {
24             /* When generated this function returned values for the list of names given
25             here. However, subsequent manual editing may have added or removed some.
26             G L p */
27             /* Offset 0 gives the best switch position. */
28 32371           switch (name[0]) {
29             case 'G':
30             {
31 26420           *iv_return = 18;
32 26420           return PERL_constant_ISIV;
33             }
34             break;
35             case 'L':
36             {
37 3094           *iv_return = 11;
38 3094           return PERL_constant_ISIV;
39             }
40             break;
41             case 'p':
42             {
43 715           *iv_return = 0;
44 715           return PERL_constant_ISIV;
45             }
46             break;
47             }
48 2142           return PERL_constant_NOTFOUND;
49             }
50             static int
51 64023           func_ord_by_type_2 (pTHX_ const char *name, IV *iv_return) {
52             /* When generated this function returned values for the list of names given
53             here. However, subsequent manual editing may have added or removed some.
54             GG GL Gp LG lG ls vS */
55             /* Offset 1 gives the best switch position. */
56 64023           switch (name[1]) {
57             case 'G':
58 44507 100         if (name[0] == 'G') {
59 30703           *iv_return = 2;
60 30703           return PERL_constant_ISIV;
61             }
62 13804 100         if (name[0] == 'L') {
63 476           *iv_return = 24;
64 476           return PERL_constant_ISIV;
65             }
66 13328 100         if (name[0] == 'l') {
67 5950           *iv_return = 10;
68 5950           return PERL_constant_ISIV;
69             }
70 7378           break;
71             case 'L':
72 4046 100         if (name[0] == 'G') {
73 2856           *iv_return = 23;
74 2856           return PERL_constant_ISIV;
75             }
76 1190           break;
77             case 'S':
78 0 0         if (name[0] == 'v') {
79 0           *iv_return = 85;
80 0           return PERL_constant_ISIV;
81             }
82 0           break;
83             case 'p':
84 11662 100         if (name[0] == 'G') {
85 10710           *iv_return = 1;
86 10710           return PERL_constant_ISIV;
87             }
88 952           break;
89             case 's':
90 476 100         if (name[0] == 'l') {
91 238           *iv_return = 16;
92 238           return PERL_constant_ISIV;
93             }
94 238           break;
95             }
96 13090           return PERL_constant_NOTFOUND;
97             }
98             static int
99 50699           func_ord_by_type_3 (pTHX_ const char *name, IV *iv_return) {
100             /* When generated this function returned values for the list of names given
101             here. However, subsequent manual editing may have added or removed some.
102             GDn GGG GGL GGp GVE GVI GnG GnP lGG vLL vLs */
103             /* Offset 2 gives the best switch position. */
104 50699           switch (name[2]) {
105             case 'E':
106 476 50         if (name[0] == 'G' && name[1] == 'V') {
    50          
107 476           *iv_return = 22;
108 476           return PERL_constant_ISIV;
109             }
110 0           break;
111             case 'G':
112 27848 100         if (name[0] == 'G' && name[1] == 'G') {
    100          
113 12376           *iv_return = 3;
114 12376           return PERL_constant_ISIV;
115             }
116 15472 100         if (name[0] == 'G' && name[1] == 'n') {
    100          
117 238           *iv_return = 26;
118 238           return PERL_constant_ISIV;
119             }
120 15234 100         if (name[0] == 'l' && name[1] == 'G') {
    50          
121 2142           *iv_return = 20;
122 2142           return PERL_constant_ISIV;
123             }
124 13092           break;
125             case 'I':
126 476 50         if (name[0] == 'G' && name[1] == 'V') {
    0          
127 0           *iv_return = 22;
128 0           return PERL_constant_ISIV;
129             }
130 476           break;
131             case 'L':
132 2856 100         if (name[0] == 'G' && name[1] == 'G') {
    100          
133 1428           *iv_return = 32;
134 1428           return PERL_constant_ISIV;
135             }
136 1428 100         if (name[0] == 'v' && name[1] == 'L') {
    50          
137 476           *iv_return = 19;
138 476           return PERL_constant_ISIV;
139             }
140 952           break;
141             case 'P':
142 238 50         if (name[0] == 'G' && name[1] == 'n') {
    50          
143 0           *iv_return = 12;
144 0           return PERL_constant_ISIV;
145             }
146 238           break;
147             case 'n':
148 5239 100         if (name[0] == 'G' && name[1] == 'D') {
    50          
149 3811           *iv_return = 14;
150 3811           return PERL_constant_ISIV;
151             }
152 1428           break;
153             case 'p':
154 7140 100         if (name[0] == 'G' && name[1] == 'G') {
    100          
155 5236           *iv_return = 29;
156 5236           return PERL_constant_ISIV;
157             }
158 1904           break;
159             case 's':
160 476 50         if (name[0] == 'v' && name[1] == 'L') {
    50          
161 476           *iv_return = 57;
162 476           return PERL_constant_ISIV;
163             }
164 0           break;
165             }
166 24040           return PERL_constant_NOTFOUND;
167             }
168             static int
169 25229           func_ord_by_type_4 (pTHX_ const char *name, IV *iv_return) {
170             /* When generated this function returned values for the list of names given
171             here. However, subsequent manual editing may have added or removed some.
172             GGGG lGGG vGVE vGVI vLGG vLLL */
173             /* Offset 3 gives the best switch position. */
174 25229           switch (name[3]) {
175             case 'E':
176 0 0         if (memEQ(name, "vGV", 3)) {
177             /* E */
178 0           *iv_return = 84;
179 0           return PERL_constant_ISIV;
180             }
181 0           break;
182             case 'G':
183 12376 100         if (memEQ(name, "GGG", 3)) {
184             /* G */
185 1428           *iv_return = 4;
186 1428           return PERL_constant_ISIV;
187             }
188 10948 100         if (memEQ(name, "lGG", 3)) {
189             /* G */
190 238           *iv_return = 30;
191 238           return PERL_constant_ISIV;
192             }
193 10710 100         if (memEQ(name, "vLG", 3)) {
194             /* G */
195 1190           *iv_return = 35;
196 1190           return PERL_constant_ISIV;
197             }
198 9520           break;
199             case 'I':
200 1191 50         if (memEQ(name, "vGV", 3)) {
201             /* I */
202 1191           *iv_return = 84;
203 1191           return PERL_constant_ISIV;
204             }
205 0           break;
206             case 'L':
207 238 50         if (memEQ(name, "vLL", 3)) {
208             /* L */
209 0           *iv_return = 34;
210 0           return PERL_constant_ISIV;
211             }
212 238           break;
213             }
214 21182           return PERL_constant_NOTFOUND;
215             }
216             static int
217 12376           func_ord_by_type_5 (pTHX_ const char *name, IV *iv_return) {
218             /* When generated this function returned values for the list of names given
219             here. However, subsequent manual editing may have added or removed some.
220             GDVDE GDVDI "V=GEp" "V=GIp" */
221             /* Offset 3 gives the best switch position. */
222 12376           switch (name[3]) {
223             case 'D':
224 8092 100         if (memEQ(name, "GDVDE", 5)) {
225             /* ^ */
226 714           *iv_return = 28;
227 714           return PERL_constant_ISIV;
228             }
229 7378 50         if (memEQ(name, "GDVDI", 5)) {
230             /* ^ */
231 0           *iv_return = 28;
232 0           return PERL_constant_ISIV;
233             }
234 7378           break;
235             case 'E':
236 238 50         if (memEQ(name, "V=GEp", 5)) {
237             /* ^ */
238 0           *iv_return = 27;
239 0           return PERL_constant_ISIV;
240             }
241 238           break;
242             case 'I':
243 0 0         if (memEQ(name, "V=GIp", 5)) {
244             /* ^ */
245 0           *iv_return = 27;
246 0           return PERL_constant_ISIV;
247             }
248 0           break;
249             }
250 11662           return PERL_constant_NOTFOUND;
251             }
252             static int
253 19992           func_ord_by_type_6 (pTHX_ const char *name, IV *iv_return) {
254             /* When generated this function returned values for the list of names given
255             here. However, subsequent manual editing may have added or removed some.
256             "V=GGEp" "V=GGIp" vLGGGG "vV=GGE" "vV=GGI" */
257             /* Offset 5 gives the best switch position. */
258 19992           switch (name[5]) {
259             case 'E':
260 238 50         if (memEQ(name, "vV=GG", 5)) {
261             /* E */
262 0           *iv_return = 83;
263 0           return PERL_constant_ISIV;
264             }
265 238           break;
266             case 'G':
267 1428 100         if (memEQ(name, "vLGGG", 5)) {
268             /* G */
269 238           *iv_return = 59;
270 238           return PERL_constant_ISIV;
271             }
272 1190           break;
273             case 'I':
274 952 100         if (memEQ(name, "vV=GG", 5)) {
275             /* I */
276 714           *iv_return = 83;
277 714           return PERL_constant_ISIV;
278             }
279 238           break;
280             case 'p':
281 1904 100         if (memEQ(name, "V=GGE", 5)) {
282             /* p */
283 476           *iv_return = 37;
284 476           return PERL_constant_ISIV;
285             }
286 1428 50         if (memEQ(name, "V=GGI", 5)) {
287             /* p */
288 0           *iv_return = 37;
289 0           return PERL_constant_ISIV;
290             }
291 1428           break;
292             }
293 18564           return PERL_constant_NOTFOUND;
294             }
295             static int
296 21897           func_ord_by_type_7 (pTHX_ const char *name, IV *iv_return) {
297             /* When generated this function returned values for the list of names given
298             here. However, subsequent manual editing may have added or removed some.
299             "GDGDGD&" "GGD0,L," "LGD0,L," "V=GGEDG" "V=GGIDG" "vV=GGGE" "vV=GGGI" */
300             /* Offset 6 gives the best switch position. */
301 21897           switch (name[6]) {
302             case '&':
303 238 50         if (memEQ(name, "GDGDGD", 6)) {
304             /* & */
305 238           *iv_return = 31;
306 238           return PERL_constant_ISIV;
307             }
308 0           break;
309             case ',':
310 15708 100         if (memEQ(name, "GGD0,L", 6)) {
311             /* , */
312 8568           *iv_return = 25;
313 8568           return PERL_constant_ISIV;
314             }
315 7140 100         if (memEQ(name, "LGD0,L", 6)) {
316             /* , */
317 238           *iv_return = 45;
318 238           return PERL_constant_ISIV;
319             }
320 6902           break;
321             case 'E':
322 238 50         if (memEQ(name, "vV=GGG", 6)) {
323             /* E */
324 0           *iv_return = 86;
325 0           return PERL_constant_ISIV;
326             }
327 238           break;
328             case 'G':
329 715 50         if (memEQ(name, "V=GGED", 6)) {
330             /* G */
331 715           *iv_return = 47;
332 715           return PERL_constant_ISIV;
333             }
334 0 0         if (memEQ(name, "V=GGID", 6)) {
335             /* G */
336 0           *iv_return = 47;
337 0           return PERL_constant_ISIV;
338             }
339 0           break;
340             case 'I':
341 952 100         if (memEQ(name, "vV=GGG", 6)) {
342             /* I */
343 238           *iv_return = 86;
344 238           return PERL_constant_ISIV;
345             }
346 714           break;
347             }
348 11900           return PERL_constant_NOTFOUND;
349             }
350             static int
351 11424           func_ord_by_type_8 (pTHX_ const char *name, IV *iv_return) {
352             /* When generated this function returned values for the list of names given
353             here. However, subsequent manual editing may have added or removed some.
354             "GD0,L,DG" GGDVDVDE GGDVDVDI */
355             /* Offset 7 gives the best switch position. */
356 11424           switch (name[7]) {
357             case 'E':
358 0 0         if (memEQ(name, "GGDVDVD", 7)) {
359             /* E */
360 0           *iv_return = 49;
361 0           return PERL_constant_ISIV;
362             }
363 0           break;
364             case 'G':
365 476 100         if (memEQ(name, "GD0,L,D", 7)) {
366             /* G */
367 238           *iv_return = 13;
368 238           return PERL_constant_ISIV;
369             }
370 238           break;
371             case 'I':
372 476 50         if (memEQ(name, "GGDVDVD", 7)) {
373             /* I */
374 0           *iv_return = 49;
375 0           return PERL_constant_ISIV;
376             }
377 476           break;
378             }
379 11186           return PERL_constant_NOTFOUND;
380             }
381             static int
382 0           func_ord_by_type_17 (pTHX_ const char *name, IV *iv_return) {
383             /* When generated this function returned values for the list of names given
384             here. However, subsequent manual editing may have added or removed some.
385             "GD0,G,D0,G,D0,L,p" "LV=GGEpD0,L,D0,L," "LV=GGIpD0,L,D0,L," */
386             /* Offset 5 gives the best switch position. */
387 0           switch (name[5]) {
388             case ',':
389 0 0         if (memEQ(name, "GD0,G,D0,G,D0,L,p", 17)) {
390             /* ^ */
391 0           *iv_return = 62;
392 0           return PERL_constant_ISIV;
393             }
394 0           break;
395             case 'E':
396 0 0         if (memEQ(name, "LV=GGEpD0,L,D0,L,", 17)) {
397             /* ^ */
398 0           *iv_return = 73;
399 0           return PERL_constant_ISIV;
400             }
401 0           break;
402             case 'I':
403 0 0         if (memEQ(name, "LV=GGIpD0,L,D0,L,", 17)) {
404             /* ^ */
405 0           *iv_return = 73;
406 0           return PERL_constant_ISIV;
407             }
408 0           break;
409             }
410 0           return PERL_constant_NOTFOUND;
411             }
412             static int
413 253720           func_ord_by_type (pTHX_ const char *name, STRLEN len, IV *iv_return) {
414             /* Initially switch on the length of the name. */
415             /* When generated this function returned values for the list of names given
416             in this section of perl code. Rather than manually editing these functions
417             to add or remove constants, which would result in this comment and section
418             of code becoming inaccurate, we recommend that you edit this section of
419             code, and use it to regenerate a new set of constant functions which you
420             then use to replace the originals.
421              
422             Regenerate these constant functions by feeding this entire source file to
423             perl -x
424              
425             #!i:/emx.add/BIN/perl.exe -w
426             use ExtUtils::Constant qw (constant_types C_constant XS_constant);
427              
428             my $types = {map {($_, 1)} qw(IV)};
429             my @names = (qw(),
430             {name=>"G", type=>"IV", macro=>"1", value=>"18"},
431             {name=>"GD0,G,D0,G,D0,L,p", type=>"IV", macro=>"1", value=>"62"},
432             {name=>"GD0,L,D0,G,", type=>"IV", macro=>"1", value=>"13"},
433             {name=>"GD0,L,DG", type=>"IV", macro=>"1", value=>"13"},
434             {name=>"GD0,L,DGp", type=>"IV", macro=>"1", value=>"96"},
435             {name=>"GDGDGD&", type=>"IV", macro=>"1", value=>"31"},
436             {name=>"GDGDGD0,L,p", type=>"IV", macro=>"1", value=>"62"},
437             {name=>"GDVDE", type=>"IV", macro=>"1", value=>"28"},
438             {name=>"GDVDI", type=>"IV", macro=>"1", value=>"28"},
439             {name=>"GDn", type=>"IV", macro=>"1", value=>"14"},
440             {name=>"GG", type=>"IV", macro=>"1", value=>"2"},
441             {name=>"GGD0,L,", type=>"IV", macro=>"1", value=>"25"},
442             {name=>"GGDVDVDE", type=>"IV", macro=>"1", value=>"49"},
443             {name=>"GGDVDVDI", type=>"IV", macro=>"1", value=>"49"},
444             {name=>"GGG", type=>"IV", macro=>"1", value=>"3"},
445             {name=>"GGGD0,L,p", type=>"IV", macro=>"1", value=>"33"},
446             {name=>"GGGG", type=>"IV", macro=>"1", value=>"4"},
447             {name=>"GGL", type=>"IV", macro=>"1", value=>"32"},
448             {name=>"GGp", type=>"IV", macro=>"1", value=>"29"},
449             {name=>"GL", type=>"IV", macro=>"1", value=>"23"},
450             {name=>"GVE", type=>"IV", macro=>"1", value=>"22"},
451             {name=>"GVI", type=>"IV", macro=>"1", value=>"22"},
452             {name=>"GnG", type=>"IV", macro=>"1", value=>"26"},
453             {name=>"GnP", type=>"IV", macro=>"1", value=>"12"},
454             {name=>"Gp", type=>"IV", macro=>"1", value=>"1"},
455             {name=>"L", type=>"IV", macro=>"1", value=>"11"},
456             {name=>"LG", type=>"IV", macro=>"1", value=>"24"},
457             {name=>"LGD0,L,", type=>"IV", macro=>"1", value=>"45"},
458             {name=>"LV=GGEpD0,L,D0,L,", type=>"IV", macro=>"1", value=>"73"},
459             {name=>"LV=GGIpD0,L,D0,L,", type=>"IV", macro=>"1", value=>"73"},
460             {name=>"V=GEp", type=>"IV", macro=>"1", value=>"27"},
461             {name=>"V=GGEDG", type=>"IV", macro=>"1", value=>"47"},
462             {name=>"V=GGEp", type=>"IV", macro=>"1", value=>"37"},
463             {name=>"V=GGIDG", type=>"IV", macro=>"1", value=>"47"},
464             {name=>"V=GGIp", type=>"IV", macro=>"1", value=>"37"},
465             {name=>"V=GIp", type=>"IV", macro=>"1", value=>"27"},
466             {name=>"lG", type=>"IV", macro=>"1", value=>"10"},
467             {name=>"lGG", type=>"IV", macro=>"1", value=>"20"},
468             {name=>"lGGG", type=>"IV", macro=>"1", value=>"30"},
469             {name=>"ls", type=>"IV", macro=>"1", value=>"16"},
470             {name=>"p", type=>"IV", macro=>"1", value=>"0"},
471             {name=>"vGVE", type=>"IV", macro=>"1", value=>"84"},
472             {name=>"vGVI", type=>"IV", macro=>"1", value=>"84"},
473             {name=>"vLGG", type=>"IV", macro=>"1", value=>"35"},
474             {name=>"vLGGGG", type=>"IV", macro=>"1", value=>"59"},
475             {name=>"vLL", type=>"IV", macro=>"1", value=>"19"},
476             {name=>"vLLL", type=>"IV", macro=>"1", value=>"34"},
477             {name=>"vLs", type=>"IV", macro=>"1", value=>"57"},
478             {name=>"vS", type=>"IV", macro=>"1", value=>"85"},
479             {name=>"vV=GED0,L,", type=>"IV", macro=>"1", value=>"87"},
480             {name=>"vV=GGE", type=>"IV", macro=>"1", value=>"83"},
481             {name=>"vV=GGGE", type=>"IV", macro=>"1", value=>"86"},
482             {name=>"vV=GGGI", type=>"IV", macro=>"1", value=>"86"},
483             {name=>"vV=GGI", type=>"IV", macro=>"1", value=>"83"},
484             {name=>"vV=GID0,L,", type=>"IV", macro=>"1", value=>"87"});
485              
486             print constant_types(); # macro defs
487             foreach (C_constant ("Math::Pari::func_type", 'func_ord_by_type', 'IV', $types, undef, 3, @names) ) {
488             print $_, "\n"; # C constant subs
489             }
490             print "#### XS Section:\n";
491             print XS_constant ("Math::Pari::func_type", $types);
492             __END__