This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
comments only, explain the different ONE_AT_A_TIME algos
[perl5.git] / packsizetables.c
CommitLineData
6b05cb81
NC
1/* -*- buffer-read-only: t -*-
2 !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
e3f061af 3 This file is built by regen/genpacksizetables.pl from its data.
6b05cb81
NC
4 Any changes made here will be lost!
5 */
298bc19c
NC
6
7#if TYPE_IS_SHRIEKING != 0x100
8 ++++shriek offset should be 256
9#endif
10
11typedef U8 packprops_t;
12#if 'J'-'I' == 1
13/* ASCII */
14STATIC const packprops_t packprops[512] = {
15 /* normal */
16 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
17 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
20 0, 0, 0,
21 /* C */ sizeof(unsigned char),
22#if defined(HAS_LONG_DOUBLE) && defined(USE_LONG_DOUBLE)
23 /* D */ LONG_DOUBLESIZE,
24#else
25 0,
26#endif
27 0,
28 /* F */ NVSIZE,
29 0, 0,
30 /* I */ sizeof(unsigned int),
31 /* J */ UVSIZE,
32 0,
33 /* L */ SIZE32,
34 0,
35 /* N */ SIZE32,
36 0, 0,
37#if defined(HAS_QUAD)
38 /* Q */ sizeof(Uquad_t),
39#else
40 0,
41#endif
42 0,
43 /* S */ SIZE16,
44 0,
45 /* U */ sizeof(char) | PACK_SIZE_UNPREDICTABLE,
46 /* V */ SIZE32,
47 /* W */ sizeof(unsigned char) | PACK_SIZE_UNPREDICTABLE,
48 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
49 /* c */ sizeof(char),
50 /* d */ sizeof(double),
51 0,
52 /* f */ sizeof(float),
53 0, 0,
54 /* i */ sizeof(int),
55 /* j */ IVSIZE,
56 0,
57 /* l */ SIZE32,
58 0,
59 /* n */ SIZE16,
60 0,
61 /* p */ sizeof(char *) | PACK_SIZE_CANNOT_CSUM,
62#if defined(HAS_QUAD)
63 /* q */ sizeof(Quad_t),
64#else
65 0,
66#endif
67 0,
68 /* s */ SIZE16,
69 0, 0,
70 /* v */ SIZE16,
71 /* w */ sizeof(char) | PACK_SIZE_UNPREDICTABLE | PACK_SIZE_CANNOT_CSUM,
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, 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
81 /* shrieking */
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, 0, 0, 0, 0, 0, 0, 0,
84 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86 0, 0, 0, 0, 0, 0, 0, 0, 0,
87 /* I */ sizeof(unsigned int),
88 0, 0,
89 /* L */ sizeof(unsigned long),
90 0,
298bc19c 91 /* N */ SIZE32,
298bc19c
NC
92 0, 0, 0, 0,
93 /* S */ sizeof(unsigned short),
94 0, 0,
298bc19c 95 /* V */ SIZE32,
298bc19c
NC
96 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
97 0, 0,
98 /* i */ sizeof(int),
99 0, 0,
100 /* l */ sizeof(long),
101 0,
298bc19c 102 /* n */ SIZE16,
298bc19c
NC
103 0, 0, 0, 0,
104 /* s */ sizeof(short),
105 0, 0,
298bc19c 106 /* v */ SIZE16,
298bc19c
NC
107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
115 0, 0, 0, 0, 0, 0, 0, 0, 0
116};
117#else
118/* EBCDIC (or bust) */
119STATIC const packprops_t packprops[512] = {
120 /* normal */
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, 0, 0, 0, 0, 0, 0, 0,
129 0, 0, 0,
130 /* c */ sizeof(char),
131 /* d */ sizeof(double),
132 0,
133 /* f */ sizeof(float),
134 0, 0,
135 /* i */ sizeof(int),
136 0, 0, 0, 0, 0, 0, 0,
137 /* j */ IVSIZE,
138 0,
139 /* l */ SIZE32,
140 0,
141 /* n */ SIZE16,
142 0,
143 /* p */ sizeof(char *) | PACK_SIZE_CANNOT_CSUM,
144#if defined(HAS_QUAD)
145 /* q */ sizeof(Quad_t),
146#else
147 0,
148#endif
149 0, 0, 0, 0, 0, 0, 0, 0, 0,
150 /* s */ SIZE16,
151 0, 0,
152 /* v */ SIZE16,
153 /* w */ sizeof(char) | PACK_SIZE_UNPREDICTABLE | PACK_SIZE_CANNOT_CSUM,
154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
156 /* C */ sizeof(unsigned char),
157#if defined(HAS_LONG_DOUBLE) && defined(USE_LONG_DOUBLE)
158 /* D */ LONG_DOUBLESIZE,
159#else
160 0,
161#endif
162 0,
163 /* F */ NVSIZE,
164 0, 0,
165 /* I */ sizeof(unsigned int),
166 0, 0, 0, 0, 0, 0, 0,
167 /* J */ UVSIZE,
168 0,
169 /* L */ SIZE32,
170 0,
171 /* N */ SIZE32,
172 0, 0,
173#if defined(HAS_QUAD)
174 /* Q */ sizeof(Uquad_t),
175#else
176 0,
177#endif
178 0, 0, 0, 0, 0, 0, 0, 0, 0,
179 /* S */ SIZE16,
180 0,
181 /* U */ sizeof(char) | PACK_SIZE_UNPREDICTABLE,
182 /* V */ SIZE32,
183 /* W */ sizeof(unsigned char) | PACK_SIZE_UNPREDICTABLE,
184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
185 0, 0, 0, 0, 0, 0, 0, 0, 0,
186 /* shrieking */
187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195 0, 0, 0, 0, 0, 0, 0, 0, 0,
196 /* i */ sizeof(int),
197 0, 0, 0, 0, 0, 0, 0, 0, 0,
198 /* l */ sizeof(long),
199 0,
298bc19c 200 /* n */ SIZE16,
298bc19c
NC
201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202 /* s */ sizeof(short),
203 0, 0,
298bc19c 204 /* v */ SIZE16,
298bc19c
NC
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,
208 /* I */ sizeof(unsigned int),
209 0, 0, 0, 0, 0, 0, 0, 0, 0,
210 /* L */ sizeof(unsigned long),
211 0,
298bc19c 212 /* N */ SIZE32,
298bc19c
NC
213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
214 /* S */ sizeof(unsigned short),
215 0, 0,
298bc19c 216 /* V */ SIZE32,
298bc19c
NC
217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
219};
220#endif
6b05cb81
NC
221
222/* ex: set ro: */