diff options
Diffstat (limited to 'lib/unicode/prop/uprop_is_sterm.c')
-rw-r--r-- | lib/unicode/prop/uprop_is_sterm.c | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/lib/unicode/prop/uprop_is_sterm.c b/lib/unicode/prop/uprop_is_sterm.c new file mode 100644 index 0000000..a375061 --- /dev/null +++ b/lib/unicode/prop/uprop_is_sterm.c @@ -0,0 +1,106 @@ +/* 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, 0x02, 0x40, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const struct { + rune lo, hi; +} lookup[] = { + {RUNE_C(0x000589), RUNE_C(0x000589)}, + {RUNE_C(0x00061D), RUNE_C(0x00061F)}, + {RUNE_C(0x0006D4), RUNE_C(0x0006D4)}, + {RUNE_C(0x000700), RUNE_C(0x000702)}, + {RUNE_C(0x0007F9), RUNE_C(0x0007F9)}, + {RUNE_C(0x000837), RUNE_C(0x000837)}, + {RUNE_C(0x000839), RUNE_C(0x000839)}, + {RUNE_C(0x00083D), RUNE_C(0x00083E)}, + {RUNE_C(0x000964), RUNE_C(0x000965)}, + {RUNE_C(0x00104A), RUNE_C(0x00104B)}, + {RUNE_C(0x001362), RUNE_C(0x001362)}, + {RUNE_C(0x001367), RUNE_C(0x001368)}, + {RUNE_C(0x00166E), RUNE_C(0x00166E)}, + {RUNE_C(0x001735), RUNE_C(0x001736)}, + {RUNE_C(0x0017D4), RUNE_C(0x0017D5)}, + {RUNE_C(0x001803), RUNE_C(0x001803)}, + {RUNE_C(0x001809), RUNE_C(0x001809)}, + {RUNE_C(0x001944), RUNE_C(0x001945)}, + {RUNE_C(0x001AA8), RUNE_C(0x001AAB)}, + {RUNE_C(0x001B5A), RUNE_C(0x001B5B)}, + {RUNE_C(0x001B5E), RUNE_C(0x001B5F)}, + {RUNE_C(0x001B7D), RUNE_C(0x001B7E)}, + {RUNE_C(0x001C3B), RUNE_C(0x001C3C)}, + {RUNE_C(0x001C7E), RUNE_C(0x001C7F)}, + {RUNE_C(0x00203C), RUNE_C(0x00203D)}, + {RUNE_C(0x002047), RUNE_C(0x002049)}, + {RUNE_C(0x002E2E), RUNE_C(0x002E2E)}, + {RUNE_C(0x002E3C), RUNE_C(0x002E3C)}, + {RUNE_C(0x002E53), RUNE_C(0x002E54)}, + {RUNE_C(0x003002), RUNE_C(0x003002)}, + {RUNE_C(0x00A4FF), RUNE_C(0x00A4FF)}, + {RUNE_C(0x00A60E), RUNE_C(0x00A60F)}, + {RUNE_C(0x00A6F3), RUNE_C(0x00A6F3)}, + {RUNE_C(0x00A6F7), RUNE_C(0x00A6F7)}, + {RUNE_C(0x00A876), RUNE_C(0x00A877)}, + {RUNE_C(0x00A8CE), RUNE_C(0x00A8CF)}, + {RUNE_C(0x00A92F), RUNE_C(0x00A92F)}, + {RUNE_C(0x00A9C8), RUNE_C(0x00A9C9)}, + {RUNE_C(0x00AA5D), RUNE_C(0x00AA5F)}, + {RUNE_C(0x00AAF0), RUNE_C(0x00AAF1)}, + {RUNE_C(0x00ABEB), RUNE_C(0x00ABEB)}, + {RUNE_C(0x00FE52), RUNE_C(0x00FE52)}, + {RUNE_C(0x00FE56), RUNE_C(0x00FE57)}, + {RUNE_C(0x00FF01), RUNE_C(0x00FF01)}, + {RUNE_C(0x00FF0E), RUNE_C(0x00FF0E)}, + {RUNE_C(0x00FF1F), RUNE_C(0x00FF1F)}, + {RUNE_C(0x00FF61), RUNE_C(0x00FF61)}, + {RUNE_C(0x010A56), RUNE_C(0x010A57)}, + {RUNE_C(0x010F55), RUNE_C(0x010F59)}, + {RUNE_C(0x010F86), RUNE_C(0x010F89)}, + {RUNE_C(0x011047), RUNE_C(0x011048)}, + {RUNE_C(0x0110BE), RUNE_C(0x0110C1)}, + {RUNE_C(0x011141), RUNE_C(0x011143)}, + {RUNE_C(0x0111C5), RUNE_C(0x0111C6)}, + {RUNE_C(0x0111CD), RUNE_C(0x0111CD)}, + {RUNE_C(0x0111DE), RUNE_C(0x0111DF)}, + {RUNE_C(0x011238), RUNE_C(0x011239)}, + {RUNE_C(0x01123B), RUNE_C(0x01123C)}, + {RUNE_C(0x0112A9), RUNE_C(0x0112A9)}, + {RUNE_C(0x01144B), RUNE_C(0x01144C)}, + {RUNE_C(0x0115C2), RUNE_C(0x0115C3)}, + {RUNE_C(0x0115C9), RUNE_C(0x0115D7)}, + {RUNE_C(0x011641), RUNE_C(0x011642)}, + {RUNE_C(0x01173C), RUNE_C(0x01173E)}, + {RUNE_C(0x011944), RUNE_C(0x011944)}, + {RUNE_C(0x011946), RUNE_C(0x011946)}, + {RUNE_C(0x011A42), RUNE_C(0x011A43)}, + {RUNE_C(0x011A9B), RUNE_C(0x011A9C)}, + {RUNE_C(0x011C41), RUNE_C(0x011C42)}, + {RUNE_C(0x011EF7), RUNE_C(0x011EF8)}, + {RUNE_C(0x011F43), RUNE_C(0x011F44)}, + {RUNE_C(0x016A6E), RUNE_C(0x016A6F)}, + {RUNE_C(0x016AF5), RUNE_C(0x016AF5)}, + {RUNE_C(0x016B37), RUNE_C(0x016B38)}, + {RUNE_C(0x016B44), RUNE_C(0x016B44)}, + {RUNE_C(0x016E98), RUNE_C(0x016E98)}, + {RUNE_C(0x01BC9F), RUNE_C(0x01BC9F)}, + {RUNE_C(0x01DA88), RUNE_C(0x01DA88)}, +}; + +__MLIB_DEFINE_BSEARCH_CONTAINS(lookup) + +bool +uprop_is_sterm(rune ch) +{ + return ch <= LATIN1_MAX ? TESTBIT(bs, ch) : mlib_lookup_contains(ch); +} |