This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
7d33a46d31d68f4b603bd06f13720f277fddf815
[perl5.git] / packsizetables.c
1 /* These tables are regenerated by genpacksizetables.pl (and then hand pasted
2    in).  You're unlikely ever to need to regenerate them.  */
3
4 #if TYPE_IS_SHRIEKING != 0x100
5    ++++shriek offset should be 256
6 #endif
7
8 typedef U8 packprops_t;
9 #if 'J'-'I' == 1
10 /* ASCII */
11 STATIC const packprops_t packprops[512] = {
12     /* normal */
13     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
15     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
17     0, 0, 0,
18     /* C */ sizeof(unsigned char),
19 #if defined(HAS_LONG_DOUBLE) && defined(USE_LONG_DOUBLE)
20     /* D */ LONG_DOUBLESIZE,
21 #else
22     0,
23 #endif
24     0,
25     /* F */ NVSIZE,
26     0, 0,
27     /* I */ sizeof(unsigned int),
28     /* J */ UVSIZE,
29     0,
30     /* L */ SIZE32,
31     0,
32     /* N */ SIZE32,
33     0, 0,
34 #if defined(HAS_QUAD)
35     /* Q */ sizeof(Uquad_t),
36 #else
37     0,
38 #endif
39     0,
40     /* S */ SIZE16,
41     0,
42     /* U */ sizeof(char) | PACK_SIZE_UNPREDICTABLE,
43     /* V */ SIZE32,
44     /* W */ sizeof(unsigned char) | PACK_SIZE_UNPREDICTABLE,
45     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
46     /* c */ sizeof(char),
47     /* d */ sizeof(double),
48     0,
49     /* f */ sizeof(float),
50     0, 0,
51     /* i */ sizeof(int),
52     /* j */ IVSIZE,
53     0,
54     /* l */ SIZE32,
55     0,
56     /* n */ SIZE16,
57     0,
58     /* p */ sizeof(char *) | PACK_SIZE_CANNOT_CSUM,
59 #if defined(HAS_QUAD)
60     /* q */ sizeof(Quad_t),
61 #else
62     0,
63 #endif
64     0,
65     /* s */ SIZE16,
66     0, 0,
67     /* v */ SIZE16,
68     /* w */ sizeof(char) | PACK_SIZE_UNPREDICTABLE | PACK_SIZE_CANNOT_CSUM,
69     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
70     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
71     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
72     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
74     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
75     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
77     0, 0, 0, 0, 0, 0, 0, 0,
78     /* shrieking */
79     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
80     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
82     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
83     0, 0, 0, 0, 0, 0, 0, 0, 0,
84     /* I */ sizeof(unsigned int),
85     0, 0,
86     /* L */ sizeof(unsigned long),
87     0,
88 #if defined(PERL_PACK_CAN_SHRIEKSIGN)
89     /* N */ SIZE32,
90 #else
91     0,
92 #endif
93     0, 0, 0, 0,
94     /* S */ sizeof(unsigned short),
95     0, 0,
96 #if defined(PERL_PACK_CAN_SHRIEKSIGN)
97     /* V */ SIZE32,
98 #else
99     0,
100 #endif
101     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
102     0, 0,
103     /* i */ sizeof(int),
104     0, 0,
105     /* l */ sizeof(long),
106     0,
107 #if defined(PERL_PACK_CAN_SHRIEKSIGN)
108     /* n */ SIZE16,
109 #else
110     0,
111 #endif
112     0, 0, 0, 0,
113     /* s */ sizeof(short),
114     0, 0,
115 #if defined(PERL_PACK_CAN_SHRIEKSIGN)
116     /* v */ SIZE16,
117 #else
118     0,
119 #endif
120     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
122     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
123     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
125     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
126     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
128     0, 0, 0, 0, 0, 0, 0, 0, 0
129 };
130 #else
131 /* EBCDIC (or bust) */
132 STATIC const packprops_t packprops[512] = {
133     /* normal */
134     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
135     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
136     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
137     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
138     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
139     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
140     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
141     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
142     0, 0, 0,
143     /* c */ sizeof(char),
144     /* d */ sizeof(double),
145     0,
146     /* f */ sizeof(float),
147     0, 0,
148     /* i */ sizeof(int),
149     0, 0, 0, 0, 0, 0, 0,
150     /* j */ IVSIZE,
151     0,
152     /* l */ SIZE32,
153     0,
154     /* n */ SIZE16,
155     0,
156     /* p */ sizeof(char *) | PACK_SIZE_CANNOT_CSUM,
157 #if defined(HAS_QUAD)
158     /* q */ sizeof(Quad_t),
159 #else
160     0,
161 #endif
162     0, 0, 0, 0, 0, 0, 0, 0, 0,
163     /* s */ SIZE16,
164     0, 0,
165     /* v */ SIZE16,
166     /* w */ sizeof(char) | PACK_SIZE_UNPREDICTABLE | PACK_SIZE_CANNOT_CSUM,
167     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
168     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
169     /* C */ sizeof(unsigned char),
170 #if defined(HAS_LONG_DOUBLE) && defined(USE_LONG_DOUBLE)
171     /* D */ LONG_DOUBLESIZE,
172 #else
173     0,
174 #endif
175     0,
176     /* F */ NVSIZE,
177     0, 0,
178     /* I */ sizeof(unsigned int),
179     0, 0, 0, 0, 0, 0, 0,
180     /* J */ UVSIZE,
181     0,
182     /* L */ SIZE32,
183     0,
184     /* N */ SIZE32,
185     0, 0,
186 #if defined(HAS_QUAD)
187     /* Q */ sizeof(Uquad_t),
188 #else
189     0,
190 #endif
191     0, 0, 0, 0, 0, 0, 0, 0, 0,
192     /* S */ SIZE16,
193     0,
194     /* U */ sizeof(char) | PACK_SIZE_UNPREDICTABLE,
195     /* V */ SIZE32,
196     /* W */ sizeof(unsigned char) | PACK_SIZE_UNPREDICTABLE,
197     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198     0, 0, 0, 0, 0, 0, 0, 0, 0,
199     /* shrieking */
200     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
201     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
203     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
204     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
205     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
206     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
207     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
208     0, 0, 0, 0, 0, 0, 0, 0, 0,
209     /* i */ sizeof(int),
210     0, 0, 0, 0, 0, 0, 0, 0, 0,
211     /* l */ sizeof(long),
212     0,
213 #if defined(PERL_PACK_CAN_SHRIEKSIGN)
214     /* n */ SIZE16,
215 #else
216     0,
217 #endif
218     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
219     /* s */ sizeof(short),
220     0, 0,
221 #if defined(PERL_PACK_CAN_SHRIEKSIGN)
222     /* v */ SIZE16,
223 #else
224     0,
225 #endif
226     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
228     0, 0, 0,
229     /* I */ sizeof(unsigned int),
230     0, 0, 0, 0, 0, 0, 0, 0, 0,
231     /* L */ sizeof(unsigned long),
232     0,
233 #if defined(PERL_PACK_CAN_SHRIEKSIGN)
234     /* N */ SIZE32,
235 #else
236     0,
237 #endif
238     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
239     /* S */ sizeof(unsigned short),
240     0, 0,
241 #if defined(PERL_PACK_CAN_SHRIEKSIGN)
242     /* V */ SIZE32,
243 #else
244     0,
245 #endif
246     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
247     0, 0, 0, 0, 0, 0, 0, 0, 0, 0
248 };
249 #endif