diff options
Diffstat (limited to 'lib/unicode/prop/uprop_is_dia.c')
-rw-r--r-- | lib/unicode/prop/uprop_is_dia.c | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/lib/unicode/prop/uprop_is_dia.c b/lib/unicode/prop/uprop_is_dia.c new file mode 100644 index 0000000..3d0a783 --- /dev/null +++ b/lib/unicode/prop/uprop_is_dia.c @@ -0,0 +1,217 @@ +/* This file is autogenerated by gen/prop/bool-props; DO NOT EDIT. */ + +#include "__bsearch.h" +#include "bitset.h" +#include "rune.h" +#include "unicode/prop.h" + +/* clang-format off */ + +static constexpr bitset(bs, LATIN1_MAX) = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x90, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const struct { + rune lo, hi; +} lookup[] = { + {RUNE_C(0x0002B0), RUNE_C(0x00034E)}, + {RUNE_C(0x000350), RUNE_C(0x000357)}, + {RUNE_C(0x00035D), RUNE_C(0x000362)}, + {RUNE_C(0x000374), RUNE_C(0x000375)}, + {RUNE_C(0x00037A), RUNE_C(0x00037A)}, + {RUNE_C(0x000384), RUNE_C(0x000385)}, + {RUNE_C(0x000483), RUNE_C(0x000487)}, + {RUNE_C(0x000559), RUNE_C(0x000559)}, + {RUNE_C(0x000591), RUNE_C(0x0005A1)}, + {RUNE_C(0x0005A3), RUNE_C(0x0005BD)}, + {RUNE_C(0x0005BF), RUNE_C(0x0005BF)}, + {RUNE_C(0x0005C1), RUNE_C(0x0005C2)}, + {RUNE_C(0x0005C4), RUNE_C(0x0005C4)}, + {RUNE_C(0x00064B), RUNE_C(0x000652)}, + {RUNE_C(0x000657), RUNE_C(0x000658)}, + {RUNE_C(0x0006DF), RUNE_C(0x0006E0)}, + {RUNE_C(0x0006E5), RUNE_C(0x0006E6)}, + {RUNE_C(0x0006EA), RUNE_C(0x0006EC)}, + {RUNE_C(0x000730), RUNE_C(0x00074A)}, + {RUNE_C(0x0007A6), RUNE_C(0x0007B0)}, + {RUNE_C(0x0007EB), RUNE_C(0x0007F5)}, + {RUNE_C(0x000818), RUNE_C(0x000819)}, + {RUNE_C(0x000898), RUNE_C(0x00089F)}, + {RUNE_C(0x0008C9), RUNE_C(0x0008D2)}, + {RUNE_C(0x0008E3), RUNE_C(0x0008FE)}, + {RUNE_C(0x00093C), RUNE_C(0x00093C)}, + {RUNE_C(0x00094D), RUNE_C(0x00094D)}, + {RUNE_C(0x000951), RUNE_C(0x000954)}, + {RUNE_C(0x000971), RUNE_C(0x000971)}, + {RUNE_C(0x0009BC), RUNE_C(0x0009BC)}, + {RUNE_C(0x0009CD), RUNE_C(0x0009CD)}, + {RUNE_C(0x000A3C), RUNE_C(0x000A3C)}, + {RUNE_C(0x000A4D), RUNE_C(0x000A4D)}, + {RUNE_C(0x000ABC), RUNE_C(0x000ABC)}, + {RUNE_C(0x000ACD), RUNE_C(0x000ACD)}, + {RUNE_C(0x000AFD), RUNE_C(0x000AFF)}, + {RUNE_C(0x000B3C), RUNE_C(0x000B3C)}, + {RUNE_C(0x000B4D), RUNE_C(0x000B4D)}, + {RUNE_C(0x000B55), RUNE_C(0x000B55)}, + {RUNE_C(0x000BCD), RUNE_C(0x000BCD)}, + {RUNE_C(0x000C3C), RUNE_C(0x000C3C)}, + {RUNE_C(0x000C4D), RUNE_C(0x000C4D)}, + {RUNE_C(0x000CBC), RUNE_C(0x000CBC)}, + {RUNE_C(0x000CCD), RUNE_C(0x000CCD)}, + {RUNE_C(0x000D3B), RUNE_C(0x000D3C)}, + {RUNE_C(0x000D4D), RUNE_C(0x000D4D)}, + {RUNE_C(0x000DCA), RUNE_C(0x000DCA)}, + {RUNE_C(0x000E47), RUNE_C(0x000E4C)}, + {RUNE_C(0x000E4E), RUNE_C(0x000E4E)}, + {RUNE_C(0x000EBA), RUNE_C(0x000EBA)}, + {RUNE_C(0x000EC8), RUNE_C(0x000ECC)}, + {RUNE_C(0x000F18), RUNE_C(0x000F19)}, + {RUNE_C(0x000F35), RUNE_C(0x000F35)}, + {RUNE_C(0x000F37), RUNE_C(0x000F37)}, + {RUNE_C(0x000F39), RUNE_C(0x000F39)}, + {RUNE_C(0x000F3E), RUNE_C(0x000F3F)}, + {RUNE_C(0x000F82), RUNE_C(0x000F84)}, + {RUNE_C(0x000F86), RUNE_C(0x000F87)}, + {RUNE_C(0x000FC6), RUNE_C(0x000FC6)}, + {RUNE_C(0x001037), RUNE_C(0x001037)}, + {RUNE_C(0x001039), RUNE_C(0x00103A)}, + {RUNE_C(0x001063), RUNE_C(0x001064)}, + {RUNE_C(0x001069), RUNE_C(0x00106D)}, + {RUNE_C(0x001087), RUNE_C(0x00108D)}, + {RUNE_C(0x00108F), RUNE_C(0x00108F)}, + {RUNE_C(0x00109A), RUNE_C(0x00109B)}, + {RUNE_C(0x00135D), RUNE_C(0x00135F)}, + {RUNE_C(0x001714), RUNE_C(0x001715)}, + {RUNE_C(0x0017C9), RUNE_C(0x0017D3)}, + {RUNE_C(0x0017DD), RUNE_C(0x0017DD)}, + {RUNE_C(0x001939), RUNE_C(0x00193B)}, + {RUNE_C(0x001A75), RUNE_C(0x001A7C)}, + {RUNE_C(0x001A7F), RUNE_C(0x001A7F)}, + {RUNE_C(0x001AB0), RUNE_C(0x001ABE)}, + {RUNE_C(0x001AC1), RUNE_C(0x001ACB)}, + {RUNE_C(0x001B34), RUNE_C(0x001B34)}, + {RUNE_C(0x001B44), RUNE_C(0x001B44)}, + {RUNE_C(0x001B6B), RUNE_C(0x001B73)}, + {RUNE_C(0x001BAA), RUNE_C(0x001BAB)}, + {RUNE_C(0x001C36), RUNE_C(0x001C37)}, + {RUNE_C(0x001C78), RUNE_C(0x001C7D)}, + {RUNE_C(0x001CD0), RUNE_C(0x001CE8)}, + {RUNE_C(0x001CED), RUNE_C(0x001CED)}, + {RUNE_C(0x001CF4), RUNE_C(0x001CF4)}, + {RUNE_C(0x001CF7), RUNE_C(0x001CF9)}, + {RUNE_C(0x001D2C), RUNE_C(0x001D6A)}, + {RUNE_C(0x001DC4), RUNE_C(0x001DCF)}, + {RUNE_C(0x001DF5), RUNE_C(0x001DFF)}, + {RUNE_C(0x001FBD), RUNE_C(0x001FBD)}, + {RUNE_C(0x001FBF), RUNE_C(0x001FC1)}, + {RUNE_C(0x001FCD), RUNE_C(0x001FCF)}, + {RUNE_C(0x001FDD), RUNE_C(0x001FDF)}, + {RUNE_C(0x001FED), RUNE_C(0x001FEF)}, + {RUNE_C(0x001FFD), RUNE_C(0x001FFE)}, + {RUNE_C(0x002CEF), RUNE_C(0x002CF1)}, + {RUNE_C(0x002E2F), RUNE_C(0x002E2F)}, + {RUNE_C(0x00302A), RUNE_C(0x00302F)}, + {RUNE_C(0x003099), RUNE_C(0x00309C)}, + {RUNE_C(0x0030FC), RUNE_C(0x0030FC)}, + {RUNE_C(0x00A66F), RUNE_C(0x00A66F)}, + {RUNE_C(0x00A67C), RUNE_C(0x00A67D)}, + {RUNE_C(0x00A67F), RUNE_C(0x00A67F)}, + {RUNE_C(0x00A69C), RUNE_C(0x00A69D)}, + {RUNE_C(0x00A6F0), RUNE_C(0x00A6F1)}, + {RUNE_C(0x00A700), RUNE_C(0x00A721)}, + {RUNE_C(0x00A788), RUNE_C(0x00A78A)}, + {RUNE_C(0x00A7F8), RUNE_C(0x00A7F9)}, + {RUNE_C(0x00A8C4), RUNE_C(0x00A8C4)}, + {RUNE_C(0x00A8E0), RUNE_C(0x00A8F1)}, + {RUNE_C(0x00A92B), RUNE_C(0x00A92E)}, + {RUNE_C(0x00A953), RUNE_C(0x00A953)}, + {RUNE_C(0x00A9B3), RUNE_C(0x00A9B3)}, + {RUNE_C(0x00A9C0), RUNE_C(0x00A9C0)}, + {RUNE_C(0x00A9E5), RUNE_C(0x00A9E5)}, + {RUNE_C(0x00AA7B), RUNE_C(0x00AA7D)}, + {RUNE_C(0x00AABF), RUNE_C(0x00AAC2)}, + {RUNE_C(0x00AAF6), RUNE_C(0x00AAF6)}, + {RUNE_C(0x00AB5B), RUNE_C(0x00AB5F)}, + {RUNE_C(0x00AB69), RUNE_C(0x00AB6B)}, + {RUNE_C(0x00ABEC), RUNE_C(0x00ABED)}, + {RUNE_C(0x00FB1E), RUNE_C(0x00FB1E)}, + {RUNE_C(0x00FE20), RUNE_C(0x00FE2F)}, + {RUNE_C(0x00FF3E), RUNE_C(0x00FF3E)}, + {RUNE_C(0x00FF40), RUNE_C(0x00FF40)}, + {RUNE_C(0x00FF70), RUNE_C(0x00FF70)}, + {RUNE_C(0x00FF9E), RUNE_C(0x00FF9F)}, + {RUNE_C(0x00FFE3), RUNE_C(0x00FFE3)}, + {RUNE_C(0x0102E0), RUNE_C(0x0102E0)}, + {RUNE_C(0x010780), RUNE_C(0x010785)}, + {RUNE_C(0x010787), RUNE_C(0x0107B0)}, + {RUNE_C(0x0107B2), RUNE_C(0x0107BA)}, + {RUNE_C(0x010AE5), RUNE_C(0x010AE6)}, + {RUNE_C(0x010D22), RUNE_C(0x010D27)}, + {RUNE_C(0x010EFD), RUNE_C(0x010EFF)}, + {RUNE_C(0x010F46), RUNE_C(0x010F50)}, + {RUNE_C(0x010F82), RUNE_C(0x010F85)}, + {RUNE_C(0x011046), RUNE_C(0x011046)}, + {RUNE_C(0x011070), RUNE_C(0x011070)}, + {RUNE_C(0x0110B9), RUNE_C(0x0110BA)}, + {RUNE_C(0x011133), RUNE_C(0x011134)}, + {RUNE_C(0x011173), RUNE_C(0x011173)}, + {RUNE_C(0x0111C0), RUNE_C(0x0111C0)}, + {RUNE_C(0x0111CA), RUNE_C(0x0111CC)}, + {RUNE_C(0x011235), RUNE_C(0x011236)}, + {RUNE_C(0x0112E9), RUNE_C(0x0112EA)}, + {RUNE_C(0x01133C), RUNE_C(0x01133C)}, + {RUNE_C(0x01134D), RUNE_C(0x01134D)}, + {RUNE_C(0x011366), RUNE_C(0x01136C)}, + {RUNE_C(0x011370), RUNE_C(0x011374)}, + {RUNE_C(0x011442), RUNE_C(0x011442)}, + {RUNE_C(0x011446), RUNE_C(0x011446)}, + {RUNE_C(0x0114C2), RUNE_C(0x0114C3)}, + {RUNE_C(0x0115BF), RUNE_C(0x0115C0)}, + {RUNE_C(0x01163F), RUNE_C(0x01163F)}, + {RUNE_C(0x0116B6), RUNE_C(0x0116B7)}, + {RUNE_C(0x01172B), RUNE_C(0x01172B)}, + {RUNE_C(0x011839), RUNE_C(0x01183A)}, + {RUNE_C(0x01193D), RUNE_C(0x01193E)}, + {RUNE_C(0x011943), RUNE_C(0x011943)}, + {RUNE_C(0x0119E0), RUNE_C(0x0119E0)}, + {RUNE_C(0x011A34), RUNE_C(0x011A34)}, + {RUNE_C(0x011A47), RUNE_C(0x011A47)}, + {RUNE_C(0x011A99), RUNE_C(0x011A99)}, + {RUNE_C(0x011C3F), RUNE_C(0x011C3F)}, + {RUNE_C(0x011D42), RUNE_C(0x011D42)}, + {RUNE_C(0x011D44), RUNE_C(0x011D45)}, + {RUNE_C(0x011D97), RUNE_C(0x011D97)}, + {RUNE_C(0x013447), RUNE_C(0x013455)}, + {RUNE_C(0x016AF0), RUNE_C(0x016AF4)}, + {RUNE_C(0x016B30), RUNE_C(0x016B36)}, + {RUNE_C(0x016F8F), RUNE_C(0x016F9F)}, + {RUNE_C(0x016FF0), RUNE_C(0x016FF1)}, + {RUNE_C(0x01AFF0), RUNE_C(0x01AFF3)}, + {RUNE_C(0x01AFF5), RUNE_C(0x01AFFB)}, + {RUNE_C(0x01AFFD), RUNE_C(0x01AFFE)}, + {RUNE_C(0x01CF00), RUNE_C(0x01CF2D)}, + {RUNE_C(0x01CF30), RUNE_C(0x01CF46)}, + {RUNE_C(0x01D167), RUNE_C(0x01D169)}, + {RUNE_C(0x01D16D), RUNE_C(0x01D172)}, + {RUNE_C(0x01D17B), RUNE_C(0x01D182)}, + {RUNE_C(0x01D185), RUNE_C(0x01D18B)}, + {RUNE_C(0x01D1AA), RUNE_C(0x01D1AD)}, + {RUNE_C(0x01E030), RUNE_C(0x01E06D)}, + {RUNE_C(0x01E130), RUNE_C(0x01E136)}, + {RUNE_C(0x01E2AE), RUNE_C(0x01E2AE)}, + {RUNE_C(0x01E2EC), RUNE_C(0x01E2EF)}, + {RUNE_C(0x01E8D0), RUNE_C(0x01E8D6)}, + {RUNE_C(0x01E944), RUNE_C(0x01E946)}, + {RUNE_C(0x01E948), RUNE_C(0x01E94A)}, +}; + +__MLIB_DEFINE_BSEARCH_CONTAINS(lookup) + +bool +uprop_is_dia(rune ch) +{ + return ch <= LATIN1_MAX ? TESTBIT(bs, ch) : mlib_lookup_contains(ch); +} |