summaryrefslogtreecommitdiff
path: root/src/u8c/chk.h.d/isupper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/u8c/chk.h.d/isupper.c')
-rw-r--r--src/u8c/chk.h.d/isupper.c147
1 files changed, 147 insertions, 0 deletions
diff --git a/src/u8c/chk.h.d/isupper.c b/src/u8c/chk.h.d/isupper.c
new file mode 100644
index 0000000..8c5e2ab
--- /dev/null
+++ b/src/u8c/chk.h.d/isupper.c
@@ -0,0 +1,147 @@
+/*
+ Copyright 2021 Gabriel Jensen
+
+ This file is part of u8c.
+
+ u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ u8c is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with u8c.
+
+ If not, see <https://www.gnu.org/licenses/>.
+*/
+# include <stdbool.h>
+# include <stddef.h>
+# include <stdint.h>
+# include <u8c/chk.h>
+struct u8c_isupper_tuple u8c_isupper(char32_t const _chr) {
+ struct u8c_isupper_tuple ret = {
+ .stat = false,
+ };
+ switch(_chr) {
+ default:
+ ret.res = false;
+ break;
+ case U'A': /* LATIN CAPITAL LETTER A */
+ case U'B': /* LATIN CAPITAL LETTER B */
+ case U'C': /* LATIN CAPITAL LETTER C */
+ case U'D': /* LATIN CAPITAL LETTER D */
+ case U'E': /* LATIN CAPITAL LETTER E */
+ case U'F': /* LATIN CAPITAL LETTER F */
+ case U'G': /* LATIN CAPITAL LETTER G */
+ case U'H': /* LATIN CAPITAL LETTER H */
+ case U'I': /* LATIN CAPITAL LETTER I */
+ case U'J': /* LATIN CAPITAL LETTER J */
+ case U'K': /* LATIN CAPITAL LETTER K */
+ case U'L': /* LATIN CAPITAL LETTER L */
+ case U'M': /* LATIN CAPITAL LETTER M */
+ case U'N': /* LATIN CAPITAL LETTER N */
+ case U'O': /* LATIN CAPITAL LETTER O */
+ case U'P': /* LATIN CAPITAL LETTER P */
+ case U'Q': /* LATIN CAPITAL LETTER Q */
+ case U'R': /* LATIN CAPITAL LETTER R */
+ case U'S': /* LATIN CAPITAL LETTER S */
+ case U'T': /* LATIN CAPITAL LETTER T */
+ case U'U': /* LATIN CAPITAL LETTER U */
+ case U'V': /* LATIN CAPITAL LETTER V */
+ case U'X': /* LATIN CAPITAL LETTER Y */
+ case U'W': /* LATIN CAPITAL LETTER X */
+ case U'Y': /* LATIN CAPITAL LETTER Y */
+ case U'Z': /* LATIN CAPITAL LETTER Z */
+ case U'\u00C0': /* LATIN CAPITAL LETTER A WITH GRAVE */
+ case U'\u00C1': /* LATIN CAPITAL LETTER A WITH ACUTE */
+ case U'\u00C2': /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
+ case U'\u00C3': /* LATIN CAPITAL LETTER A WITH TILDE */
+ case U'\u00C4': /* LATIN CAPITAL LETTER A WITH DIAERESIS */
+ case U'\u00C5': /* LATIN CAPITAL LETTER A WITH RING ABOVE */
+ case U'\u00C6': /* LATIN CAPITAL LETTER AE */
+ case U'\u00C7': /* LATIN CAPITAL LETTER C WITH CEDILLA */
+ case U'\u00C8': /* LATIN CAPITAL LETTER E WITH GRAVE */
+ case U'\u00C9': /* LATIN CAPITAL LETTER E WITH ACUTE */
+ case U'\u00CA': /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
+ case U'\u00CB': /* LATIN CAPITAL LETTER E WITH DIAERESIS */
+ case U'\u00CC': /* LATIN CAPITAL LETTER I WITH GRAVE */
+ case U'\u00CD': /* LATIN CAPITAL LETTER I WITH ACUTE */
+ case U'\u00CE': /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
+ case U'\u00CF': /* LATIN CAPITAL LETTER I WITH DIAERESIS */
+ case U'\u00D0': /* LATIN CAPITAL LETTER ETH */
+ case U'\u00D1': /* LATIN CAPITAL LETTER N WITH TILDE */
+ case U'\u00D2': /* LATIN CAPITAL LETTER O WITH GRAVE */
+ case U'\u00D3': /* LATIN CAPITAL LETTER O WITH ACUTE */
+ case U'\u00D4': /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
+ case U'\u00D5': /* LATIN CAPITAL LETTER O WITH TILDE */
+ case U'\u00D6': /* LATIN CAPITAL LETTER O WITH DIAERESIS */
+ case U'\u00D8': /* LATIN CAPITAL LETTER O WITH STROKE */
+ case U'\u00D9': /* LATIN CAPITAL LETTER U WITH GRAVE */
+ case U'\u00DA': /* LATIN CAPITAL LETTER U WITH STROKE */
+ case U'\u00DB': /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
+ case U'\u00DC': /* LATIN CAPITAL LETTER U WITH DIAERESIS */
+ case U'\u00DD': /* LATIN CAPITAL LETTER Y WITH ACUTE */
+ case U'\u00DE': /* LATIN CAPITAL LETTER THORN */
+ case U'\u0100': /* LATIN CAPITAL LETTER A WITH MACRON */
+ case U'\u0102': /* LATIN CAPITAL LETTER A WITH BREVE */
+ case U'\u0104': /* LATIN CAPITAL LETTER A WITH OGONEK */
+ case U'\u0106': /* LATIN CAPITAL LETTER C WITH ACUTE */
+ case U'\u0108': /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
+ case U'\u010A': /* LATIN CAPITAL LETTER C WITH DOT ABOVE */
+ case U'\u010C': /* LATIN CAPITAL LETTER C WITH CARON */
+ case U'\u010E': /* LATIN CAPITAL LETTER D WITH CARON */
+ case U'\u0110': /* LATIN CAPITAL LETTER D WITH STROKE */
+ case U'\u0112': /* LATIN CAPITAL LETTER E WITH MACRON */
+ case U'\u0114': /* LATIN CAPITAL LETTER E WITH BREVE */
+ case U'\u0116': /* LATIN CAPITAL LETTER E WITH DOT ABOVE */
+ case U'\u0118': /* LATIN CAPITAL LETTER E WITH OGONEK */
+ case U'\u011A': /* LATIN CAPITAL LETTER E WITH CARON */
+ case U'\u011C': /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
+ case U'\u014A': /* LATIN CAPITAL LETTER ENG */
+ case U'\u0152': /* LATIN CAPITAL LIGATURE OE */
+ case U'\u0186': /* LATIN CAPITAL LETTER OPEN O */
+ case U'\u018E': /* LATIN CAPITAL LETTER REVERSED E */
+ case U'\u018F': /* LATIN CAPITAL LETTER SCHWA */
+ case U'\u0190': /* LATIN CAPITAL LETTER OPEN E */
+ case U'\u0194': /* LATIN CAPITAL LETTER GAMMA */
+ case U'\u0196': /* LATIN CAPITAL LETTER IOTA */
+ case U'\u01A9': /* LATIN CAPITAL LETTER ESH */
+ case U'\u01B1': /* LATIN CAPITAL LETTER UPSILON */
+ case U'\u01B2': /* LATIN CAPITAL LETTER V WITH HOOk */
+ case U'\u01B7': /* LATIN CAPITAL LETTER EZH */
+ case U'\u01F7': /* LATIN CAPITAL LETTER WYNN */
+ case U'\u021C': /* LATIN CAPITAL LETTER YOGH */
+ case U'\u0241': /* LATIN CAPITAL LETTER GLOTTAL STOP */
+ case U'\u0391': /* GREEK CAPITAL LETTER ALPHA */
+ case U'\u0392': /* GREEK CAPITAL LETTER BETA */
+ case U'\u0393': /* GREEK CAPITAL LETTER GAMMA */
+ case U'\u0394': /* GREEK CAPITAL LETTER DELTA */
+ case U'\u0395': /* GREEK CAPITAL LETTER EPSILON */
+ case U'\u0396': /* GREEK CAPITAL LETTER ZETA */
+ case U'\u0397': /* GREEK CAPITAL LETTER ETA */
+ case U'\u0398': /* GREEK CAPITAL LETTER THETA */
+ case U'\u0399': /* GREEK CAPITAL LETTER IOTA */
+ case U'\u039A': /* GREEK CAPITAL LETTER KAPPA */
+ case U'\u039B': /* GREEK CAPITAL LETTER LAMBDA */
+ case U'\u039C': /* GREEK CAPITAL LETTER MU */
+ case U'\u039D': /* GREEK CAPITAL LETTER NU */
+ case U'\u039E': /* GREEK CAPITAL LETTER XI */
+ case U'\u039F': /* GREEK CAPITAL LETTER OMICRON */
+ case U'\u03A0': /* GREEK CAPITAL LETTER PI */
+ case U'\u03A1': /* GREEK CAPITAL LETTER RHO */
+ case U'\u03A3': /* GREEK CAPITAL LETTER SIGMA */
+ case U'\u03A4': /* GREEK CAPITAL LETTER TAU */
+ case U'\u03A5': /* GREEK CAPITAL LETTER UPSILON */
+ case U'\u03A6': /* GREEK CAPITAL LETTER PHI */
+ case U'\u03A7': /* GREEK CAPITAL LETTER CHI */
+ case U'\u03A8': /* GREEK CAPITAL LETTER PSI */
+ case U'\u03A9': /* GREEK CAPITAL LETTER OMEGA */
+ case U'\u1E9E': /* LATIN CAPITAL LETTER SHARP S */
+ case U'\u2C6D': /* LATIN CAPITAL LETTER ALPHA */
+ case U'\uA77D': /* LATIN CAPITAL LETTER INSULAR G */
+ case U'\uA7B4': /* LATIN CAPITAL LETTER BETA */
+ case U'\uA7B6': /* LATIN CAPITAL LETTER OMEGA */
+ ret.res = true;
+ break;
+ }
+ return ret;
+}