This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
pp.c: Remove redundant diag_listed_as
[perl5.git] / regcharclass.h
1 /* -*- buffer-read-only: t -*-
2  *
3  *    regcharclass.h
4  *
5  *    Copyright (C) 2007, 2011 by Larry Wall and others
6  *
7  *    You may distribute under the terms of either the GNU General Public
8  *    License or the Artistic License, as specified in the README file.
9  *
10  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
11  * This file is built by regen/regcharclass.pl.
12  * Any changes made here will be lost!
13  */
14
15
16 #ifndef H_REGCHARCLASS   /* Guard against nested #includes */
17 #define H_REGCHARCLASS 1
18
19 /*
20         LNBREAK: Line Break: \R
21
22         "\x0D\x0A"      # CRLF - Network (Windows) line ending
23         \p{VertSpace}
24 */
25 /*** GENERATED CODE ***/
26 #define is_LNBREAK(s,is_utf8)                                               \
27 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
28 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
29     ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )                   \
30 : ( is_utf8 ) ?                                                             \
31     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
32         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
33     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
34 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
35
36 /*** GENERATED CODE ***/
37 #define is_LNBREAK_safe(s,e,is_utf8)                                        \
38 ( ((e)-(s) > 2) ?                                                           \
39     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
40     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
41         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
42     : ( is_utf8 ) ?                                                         \
43         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
44             ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
45         : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
46     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
47 : ((e)-(s) > 1) ?                                                           \
48     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
49     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
50         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
51     : ( is_utf8 ) ?                                                         \
52         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
53     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
54 : ((e)-(s) > 0) ?                                                           \
55     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
56     : ( !( is_utf8 ) ) ?                                                    \
57         ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )                           \
58     : 0 )                                                                   \
59 : 0 )
60
61 /*** GENERATED CODE ***/
62 #define is_LNBREAK_utf8(s)                                                  \
63 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
64 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
65     ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )                   \
66 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
67     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )                   \
68 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
69
70 /*** GENERATED CODE ***/
71 #define is_LNBREAK_utf8_safe(s,e)                                           \
72 ( ((e)-(s) > 2) ?                                                           \
73     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
74     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
75         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
76     : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
77         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
78     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
79 : ((e)-(s) > 1) ?                                                           \
80     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
81     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
82         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
83     : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
84 : ((e)-(s) > 0) ?                                                           \
85     ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D )\
86 : 0 )
87
88 /*** GENERATED CODE ***/
89 #define is_LNBREAK_latin1(s)                                                \
90 ( ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
91 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
92     ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )                   \
93 : 0 )
94
95 /*** GENERATED CODE ***/
96 #define is_LNBREAK_latin1_safe(s,e)                                         \
97 ( ((e)-(s) > 1) ?                                                           \
98     ( ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
99     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
100         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
101     : 0 )                                                                   \
102 : ((e)-(s) > 0) ?                                                           \
103     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )\
104 : 0 )
105
106 /*
107         HORIZWS: Horizontal Whitespace: \h \H
108
109         \p{HorizSpace}
110 */
111 /*** GENERATED CODE ***/
112 #define is_HORIZWS(s,is_utf8)                                               \
113 ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
114 : ( is_utf8 ) ?                                                             \
115     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
116         ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
117     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
118         ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
119     : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
120         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
121             ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
122         : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
123     : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
124 : ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
125
126 /*** GENERATED CODE ***/
127 #define is_HORIZWS_safe(s,e,is_utf8)                                        \
128 ( ((e)-(s) > 2) ?                                                           \
129     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
130     : ( is_utf8 ) ?                                                         \
131         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
132             ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
133         : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
134             ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
135         : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
136             ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                   \
137                 ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
138             : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
139         : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
140     : ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
141 : ((e)-(s) > 1) ?                                                           \
142     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
143     : ( is_utf8 ) ?                                                         \
144         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
145     : ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
146 : ((e)-(s) > 0) ?                                                           \
147     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
148     : ( !( is_utf8 ) ) ?                                                    \
149         ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) )                           \
150     : 0 )                                                                   \
151 : 0 )
152
153 /*** GENERATED CODE ***/
154 #define is_HORIZWS_utf8(s)                                                  \
155 ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
156 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
157     ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )                   \
158 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
159     ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
160 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
161     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
162         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
163     : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
164 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
165
166 /*** GENERATED CODE ***/
167 #define is_HORIZWS_utf8_safe(s,e)                                           \
168 ( ((e)-(s) > 2) ?                                                           \
169     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
170     : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
171         ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
172     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
173         ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
174     : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
175         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
176             ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
177         : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
178     : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
179 : ((e)-(s) > 1) ?                                                           \
180     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
181     : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
182 : ((e)-(s) > 0) ?                                                           \
183     ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) )\
184 : 0 )
185
186 /*** GENERATED CODE ***/
187 #define is_HORIZWS_latin1(s)                                                \
188 ( NATIVE_TO_LATIN1(((U8*)s)[0]) == 0x09 || ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x7F ) == 0x20 ) )
189
190 /*** GENERATED CODE ***/
191 #define is_HORIZWS_latin1_safe(s,e)                                         \
192 ( ((e)-(s) > 0) ?                                                           \
193     ( NATIVE_TO_LATIN1(((U8*)s)[0]) == 0x09 || ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x7F ) == 0x20 ) )\
194 : 0 )
195
196 /*** GENERATED CODE ***/
197 #define is_HORIZWS_high(s)                                                  \
198 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
199     ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
200 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
201     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
202         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
203     : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
204 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
205
206 /*** GENERATED CODE ***/
207 #define is_HORIZWS_high_safe(s,e)                                           \
208 ( ((e)-(s) > 2) ?                                                           \
209     ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
210         ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
211     : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
212         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
213             ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
214         : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
215     : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
216 : 0 )
217
218 /*** GENERATED CODE ***/
219 #define is_HORIZWS_cp(cp)                                                   \
220 ( 0x09 == NATIVE_TO_UNI(cp) || ( 0x09 < NATIVE_TO_UNI(cp) &&                \
221 ( 0x20 == NATIVE_TO_UNI(cp) || ( 0x20 < NATIVE_TO_UNI(cp) &&                \
222 ( 0xA0 == NATIVE_TO_UNI(cp) || ( 0xA0 < NATIVE_TO_UNI(cp) &&                \
223 ( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) &&            \
224 ( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
225 ( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) &&            \
226 ( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) ) ) )
227
228 /*** GENERATED CODE ***/
229 #define is_HORIZWS_cp_high(cp)                                              \
230 ( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) &&            \
231 ( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
232 ( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) &&            \
233 ( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) )
234
235 /*
236         VERTWS: Vertical Whitespace: \v \V
237
238         \p{VertSpace}
239 */
240 /*** GENERATED CODE ***/
241 #define is_VERTWS(s,is_utf8)                                                \
242 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
243 : ( is_utf8 ) ?                                                             \
244     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
245         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
246     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
247 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
248
249 /*** GENERATED CODE ***/
250 #define is_VERTWS_safe(s,e,is_utf8)                                         \
251 ( ((e)-(s) > 2) ?                                                           \
252     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
253     : ( is_utf8 ) ?                                                         \
254         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
255             ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
256         : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
257     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
258 : ((e)-(s) > 1) ?                                                           \
259     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
260     : ( is_utf8 ) ?                                                         \
261         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
262     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
263 : ((e)-(s) > 0) ?                                                           \
264     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
265     : ( !( is_utf8 ) ) ?                                                    \
266         ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )                           \
267     : 0 )                                                                   \
268 : 0 )
269
270 /*** GENERATED CODE ***/
271 #define is_VERTWS_utf8(s)                                                   \
272 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
273 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
274     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )                   \
275 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
276
277 /*** GENERATED CODE ***/
278 #define is_VERTWS_utf8_safe(s,e)                                            \
279 ( ((e)-(s) > 2) ?                                                           \
280     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
281     : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
282         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
283     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
284 : ((e)-(s) > 1) ?                                                           \
285     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
286     : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
287 : ((e)-(s) > 0) ?                                                           \
288     ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D )\
289 : 0 )
290
291 /*** GENERATED CODE ***/
292 #define is_VERTWS_high(s)                                                   \
293 ( ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
294
295 /*** GENERATED CODE ***/
296 #define is_VERTWS_high_safe(s,e)                                            \
297 ( ( ( ( ((e)-(s) > 2) && ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
298
299 /*** GENERATED CODE ***/
300 #define is_VERTWS_latin1(s)                                                 \
301 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )
302
303 /*** GENERATED CODE ***/
304 #define is_VERTWS_latin1_safe(s,e)                                          \
305 ( ((e)-(s) > 0) ?                                                           \
306     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )\
307 : 0 )
308
309 /*** GENERATED CODE ***/
310 #define is_VERTWS_cp(cp)                                                    \
311 ( ( 0x0A <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x0D ) || ( 0x0D < NATIVE_TO_UNI(cp) &&\
312 ( 0x85 == NATIVE_TO_UNI(cp) || ( 0x85 < NATIVE_TO_UNI(cp) &&                \
313 ( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) ) ) ) ) )
314
315 /*** GENERATED CODE ***/
316 #define is_VERTWS_cp_high(cp)                                               \
317 ( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) )
318
319 /*
320         XDIGIT: Hexadecimal digits
321
322         \p{XDigit}
323 */
324 /*** GENERATED CODE ***/
325 #define is_XDIGIT_utf8(s)                                                   \
326 ( ( ( 0x30 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x39 ) || ( 0x41 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x46 ) || ( 0x61 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x66 ) ) ? 1\
327 : ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
328     ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
329         ( ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x99 ) || ( 0xA1 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA6 ) ) ? 3 : 0 )\
330     : ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
331 : 0 )
332
333 /*** GENERATED CODE ***/
334 #define is_XDIGIT_high(s)                                                   \
335 ( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
336     ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
337         ( ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x99 ) || ( 0xA1 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA6 ) ) ? 3 : 0 )\
338     : ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
339 : 0 )
340
341 /*** GENERATED CODE ***/
342 #define is_XDIGIT_cp_high(cp)                                               \
343 ( ( 0xFF10 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF19 ) || ( 0xFF19 < NATIVE_TO_UNI(cp) &&\
344 ( ( 0xFF21 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF26 ) || ( 0xFF41 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF46 ) ) ) )
345
346 /*
347         XPERLSPACE: \p{XPerlSpace}
348
349         \p{XPerlSpace}
350 */
351 /*** GENERATED CODE ***/
352 #define is_XPERLSPACE(s,is_utf8)                                            \
353 ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
354 : ( is_utf8 ) ?                                                             \
355     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
356         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
357     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
358         ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
359     : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
360         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
361             ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
362         : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
363     : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
364 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
365
366 /*** GENERATED CODE ***/
367 #define is_XPERLSPACE_utf8(s)                                               \
368 ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
369 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
370     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
371 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
372     ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
373 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
374     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
375         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
376     : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
377 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
378
379 /*** GENERATED CODE ***/
380 #define is_XPERLSPACE_high(s)                                               \
381 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
382     ( ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
383 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
384     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
385         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
386     : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
387 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
388
389 /*** GENERATED CODE ***/
390 #define is_XPERLSPACE_cp_high(cp)                                           \
391 ( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) &&            \
392 ( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
393 ( 0x2028 == NATIVE_TO_UNI(cp) || ( 0x2028 < NATIVE_TO_UNI(cp) &&            \
394 ( 0x2029 == NATIVE_TO_UNI(cp) || ( 0x2029 < NATIVE_TO_UNI(cp) &&            \
395 ( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) &&            \
396 ( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) )
397
398 /*
399         REPLACEMENT: Unicode REPLACEMENT CHARACTER
400
401         0xFFFD
402 */
403 /*** GENERATED CODE ***/
404 #define is_REPLACEMENT_utf8_safe(s,e)                                       \
405 ( ( ( ( ((e)-(s) > 2) && ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
406
407 /*
408         NONCHAR: Non character code points
409
410         \p{Nchar}
411 */
412 /*** GENERATED CODE ***/
413 #define is_NONCHAR_utf8(s)                                                  \
414 ( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
415     ( ( 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
416         ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xAF ) ? 3 : 0 )\
417     : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xBE ) ) ? 3 : 0 )\
418 : ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
419     ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) == 0x9F || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xEF ) == 0xAF ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )\
420 : ( 0xF1 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0xF3 ) ?\
421     ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xCF ) == 0x8F ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )\
422 : ( ( ( ( 0xF4 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x8F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )
423
424 /*
425         SURROGATE: Surrogate characters
426
427         \p{Gc=Cs}
428 */
429 /*** GENERATED CODE ***/
430 #define is_SURROGATE_utf8(s)                                                \
431 ( ( ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xA0 ) ) ? 3 : 0 )
432
433 /*
434         GCB_L: Grapheme_Cluster_Break=L
435
436         \p{_X_GCB_L}
437 */
438 /*** GENERATED CODE ***/
439 #define is_GCB_L_utf8(s)                                                    \
440 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
441     ( ( 0x84 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
442         3                                                                   \
443     : ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9F ) ) ? 3 : 0 )\
444 : ( ( ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xA0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBC ) ) ? 3 : 0 )
445
446 /*
447         GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
448
449         \p{_X_LV_LVT_V}
450 */
451 /*** GENERATED CODE ***/
452 #define is_GCB_LV_LVT_V_utf8(s)                                             \
453 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
454     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
455         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA0 ) ? 3 : 0 )               \
456     : ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA7 ) ) ? 3 : 0 )\
457 : ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
458     ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xB0 ) ?                           \
459         3                                                                   \
460     : 0 )                                                                   \
461 : ( 0xEB == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xEC == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
462     3                                                                       \
463 : ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
464     ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9D ) ?                           \
465         3                                                                   \
466     : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
467         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA3 ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ) ? 3 : 0 )\
468     : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
469 : 0 )
470
471 /*
472         GCB_Prepend: Grapheme_Cluster_Break=Prepend
473
474         \p{_X_GCB_Prepend}
475 */
476 /*** GENERATED CODE ***/
477 #define is_GCB_Prepend_utf8(s)                                              \
478 ( 0 )
479
480 /*
481         GCB_RI: Grapheme_Cluster_Break=RI
482
483         \p{_X_RI}
484 */
485 /*** GENERATED CODE ***/
486 #define is_GCB_RI_utf8(s)                                                   \
487 ( ( ( ( ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xA6 ) ) ? 4 : 0 )
488
489 /*
490         GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
491
492         \p{_X_Special_Begin_Start}
493 */
494 /*** GENERATED CODE ***/
495 #define is_GCB_SPECIAL_BEGIN_START_utf8(s)                                  \
496 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
497     ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFC ) == 0x84 ) ?                \
498         3                                                                   \
499     : 0 )                                                                   \
500 : ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
501     ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
502         ( ( 0xA0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBC ) ? 3 : 0 )\
503     : ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xB0 ) ?                           \
504         3                                                                   \
505     : 0 )                                                                   \
506 : ( 0xEB == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xEC == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
507     3                                                                       \
508 : ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
509     ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9D ) ?                           \
510         3                                                                   \
511     : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
512         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA3 ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ) ? 3 : 0 )\
513     : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) || ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBB ) ) ) ? 3 : 0 )\
514 : ( ( ( ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xA6 ) ) ? 4 : 0 )
515
516 /*
517         GCB_T: Grapheme_Cluster_Break=T
518
519         \p{_X_GCB_T}
520 */
521 /*** GENERATED CODE ***/
522 #define is_GCB_T_utf8(s)                                                    \
523 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
524     ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
525         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA8 ) ? 3 : 0 )               \
526     : ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
527         3                                                                   \
528     : 0 )                                                                   \
529 : ( ( ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBB ) ) ? 3 : 0 )
530
531 /*
532         GCB_V: Grapheme_Cluster_Break=V
533
534         \p{_X_GCB_V}
535 */
536 /*** GENERATED CODE ***/
537 #define is_GCB_V_utf8(s)                                                    \
538 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
539     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
540         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA0 ) ? 3 : 0 )               \
541     : ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA7 ) ) ? 3 : 0 )\
542 : ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
543     ( ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
544         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ? 3 : 0 )               \
545     : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
546 : 0 )
547
548 /*
549         QUOTEMETA: Meta-characters that \Q should quote
550
551         \p{_Perl_Quotemeta}
552 */
553 /*** GENERATED CODE ***/
554 #define is_QUOTEMETA_high(s)                                                \
555 ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
556     ( ( 0x8F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )                   \
557 : ( 0xD8 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
558     ( ( 0x9C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )                   \
559 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
560     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
561         ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
562     : ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
563         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
564     : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
565         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xB4 ) ? 3 : 0 )    \
566     : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8E ) ) ? 3 : 0 )\
567 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
568     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
569         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBE ) ? 3 : 0 )               \
570     : ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
571         ( ( ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x93 ) || ( 0x95 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xAF ) ) ? 3 : 0 )\
572     : ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
573         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0x90 ) ? 3 : 0 )               \
574     : ( ( 0x87 <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x90 ) || ( 0x94 <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9C ) || ( 0x9F <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0xAF ) || ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFE ) == 0xB8 ) ?\
575         3                                                                   \
576     : ( 0x91 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
577         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9F ) ? 3 : 0 )               \
578     : ( 0x9D == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
579         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xB5 ) ? 3 : 0 )               \
580     : ( ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0x94 ) ) ? 3 : 0 )\
581 : ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
582     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
583         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x83 ) || ( 0x88 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA0 ) || 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
584     : ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xA4 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
585 : ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
586     ( ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
587         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xBE ) ? 3 : 0 )               \
588     : ( 0xB8 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
589         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8F ) ? 3 : 0 )               \
590     : ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
591         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x86 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
592     : ( 0xBB == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
593         ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
594     : ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
595         ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
596     : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xB8 ) ) ? 3 : 0 )\
597 : ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
598     ( ( ( ( 0x9D == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB3 <= NATIVE_TO_LATIN1(((U8*)s)[3]) && NATIVE_TO_LATIN1(((U8*)s)[3]) <= 0xBA ) ) ? 4 : 0 )\
599 : ( ( 0xF3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 4 : 0 )
600
601 /*
602         MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
603
604         do regen/regcharclass_multi_char_folds.pl
605         &regcharclass_multi_char_folds::multi_char_folds(1)
606 */
607 /*** GENERATED CODE ***/
608 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e)                             \
609 ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )
610
611
612 /*** GENERATED CODE ***/
613 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e)                             \
614 ( ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
615         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
616     : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
617         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
618     : ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
619         ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
620     : ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
621         ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
622     : ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
623         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ?            \
624             ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
625         : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
626             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
627                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
628                     ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
629                 : 0 )                                                       \
630             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
631         : ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
632             ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
633                 ( ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
634                     ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ?           \
635                         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) & 0xFE ) == 0x80 ) ? 6 : 0 )\
636                     : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 0 )\
637                 : 0 )                                                       \
638             : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
639         : 0 )                                                               \
640     : ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
641         ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
642             ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
643         : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
644             ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
645                 ( ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
646                     ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ?           \
647                         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) & 0xFE ) == 0x80 ) ? 6 : 0 )\
648                     : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 0 )\
649                 : ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
650                     ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ?           \
651                         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) & 0xFE ) == 0x80 ) ? 6 : 4 )\
652                     : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
653                 : 0 )                                                       \
654             : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
655         : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
656             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
657                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
658                     ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
659                 : 0 )                                                       \
660             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
661         : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
662     : ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
663         ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
664             ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
665         : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
666             ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
667         : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
668     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
669         ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
670             ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xD8 ) == 0x80 ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
671         : ( ( ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFB ) == 0xB0 ) || NATIVE_TO_LATIN1(((U8*)s)[2]) == 0xBC ) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
672     : 0 )
673
674
675 /*** GENERATED CODE ***/
676 #define is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e)                             \
677 ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
678         ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
679     : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
680         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
681             ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
682         : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
683     : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
684         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
685     : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
686         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
687     : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
688         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
689     : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
690         ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
691     : ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
692         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
693     : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
694         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
695     : ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
696         ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
697     : ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
698         ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
699     : ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
700         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ?            \
701             ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
702         : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
703             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
704                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
705             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
706         : ( ( ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
707     : ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
708         ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
709             ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
710         : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
711             ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
712                 ( ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
713             : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
714         : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
715             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
716                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
717             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
718         : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
719     : ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
720         ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
721             ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
722         : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
723             ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
724         : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
725     : 0 )
726
727
728 /*** GENERATED CODE ***/
729 #define is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e)                             \
730 ( ((e)-(s) > 2) ?                                                           \
731     ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
732         ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
733     : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
734         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
735             ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
736         : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
737     : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
738         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
739     : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
740         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
741     : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
742         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
743     : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
744         ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
745     : ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
746         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
747     : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
748         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
749     : ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
750 : ((e)-(s) > 1) ?                                                           \
751     ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
752         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
753     : ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
754 : 0 )
755
756
757 /*** GENERATED CODE ***/
758 #define is_MULTI_CHAR_FOLD_utf8_safe_part4(s,e)                             \
759 ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
760         ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
761     : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
762         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
763             ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
764         : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
765     : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
766         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
767     : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
768         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
769     : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
770         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
771     : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
772
773
774 /*** GENERATED CODE ***/
775 #define is_MULTI_CHAR_FOLD_utf8_safe_part5(s,e)                             \
776 ( ((e)-(s) > 4) ?                                                           \
777     ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
778         ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
779     : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
780         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
781             ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
782         : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
783     : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
784         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
785     : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
786         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
787     : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
788         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
789     : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
790         ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
791     : ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
792         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
793     : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
794         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
795     : ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
796         ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
797     : ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
798         ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
799     : ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
800         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ?            \
801             ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
802         : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
803             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
804                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
805             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
806         : ( ( ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
807     : ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
808         ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
809             ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
810         : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
811             ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
812                 ( ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
813             : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
814         : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
815             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
816                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
817             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
818         : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
819     : ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
820         ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
821             ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
822         : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
823             ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
824         : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
825     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
826         ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
827             ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xD8 ) == 0x80 ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
828         : ( ( ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFB ) == 0xB0 ) || NATIVE_TO_LATIN1(((U8*)s)[2]) == 0xBC ) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
829     : 0 )                                                                   \
830 : ((e)-(s) > 3) ? is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) )
831
832
833 /*** GENERATED CODE ***/
834 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e)                                   \
835 ( ((e)-(s) > 5) ? is_MULTI_CHAR_FOLD_utf8_safe_part4(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part5(s,e) )
836
837 /*
838         MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
839
840         &regcharclass_multi_char_folds::multi_char_folds(0)
841 */
842 /*** GENERATED CODE ***/
843 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e)                                 \
844 ( ((e)-(s) > 2) ?                                                           \
845     ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x46 ) ?                \
846         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x46 ) ?            \
847             ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
848         : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
849     : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x53 ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x53 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
850 : ((e)-(s) > 1) ?                                                           \
851     ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x46 ) ?                \
852         ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x46 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
853     : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x53 ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x53 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
854 : 0 )
855
856 /*
857         PATWS: pattern white space
858
859         \p{PatWS}
860 */
861 /*** GENERATED CODE ***/
862 #define is_PATWS(s,is_utf8)                                                 \
863 ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
864 : ( is_utf8 ) ?                                                             \
865     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
866         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
867     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
868 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
869
870 /*** GENERATED CODE ***/
871 #define is_PATWS_safe(s,e,is_utf8)                                          \
872 ( ((e)-(s) > 2) ?                                                           \
873     ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
874     : ( is_utf8 ) ?                                                         \
875         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
876             ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
877         : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
878     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
879 : ((e)-(s) > 1) ?                                                           \
880     ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
881     : ( is_utf8 ) ?                                                         \
882         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
883     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
884 : ((e)-(s) > 0) ?                                                           \
885     ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
886     : ( !( is_utf8 ) ) ?                                                    \
887         ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )                           \
888     : 0 )                                                                   \
889 : 0 )
890
891 /*** GENERATED CODE ***/
892 #define is_PATWS_non_low(s,is_utf8)                                         \
893 ( ( is_utf8 ) ?                                                             \
894     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
895         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
896     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
897 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
898
899 /*** GENERATED CODE ***/
900 #define is_PATWS_non_low_safe(s,e,is_utf8)                                  \
901 ( ((e)-(s) > 2) ?                                                           \
902     ( ( is_utf8 ) ?                                                         \
903         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
904             ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
905         : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
906     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
907 : ((e)-(s) > 1) ?                                                           \
908     ( ( is_utf8 ) ?                                                         \
909         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
910     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
911 : ( ((e)-(s) > 0) && ( !( is_utf8 ) ) ) ? ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) : 0 )
912
913 /*** GENERATED CODE ***/
914 #define is_PATWS_cp(cp)                                                     \
915 ( ( 0x09 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x0D ) || ( 0x0D < NATIVE_TO_UNI(cp) &&\
916 ( 0x20 == NATIVE_TO_UNI(cp) || ( 0x20 < NATIVE_TO_UNI(cp) &&                \
917 ( 0x85 == NATIVE_TO_UNI(cp) || ( 0x85 < NATIVE_TO_UNI(cp) &&                \
918 ( 0x200E == NATIVE_TO_UNI(cp) || ( 0x200E < NATIVE_TO_UNI(cp) &&            \
919 ( 0x200F == NATIVE_TO_UNI(cp) || ( 0x200F < NATIVE_TO_UNI(cp) &&            \
920 ( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) )
921
922
923 #endif /* H_REGCHARCLASS */
924
925 /* ex: set ro: */