math: new exp and exp2
[musl] / src / ctype / iswalpha.c
index 0f031ea..1c5485d 100644 (file)
@@ -1,6 +1,21 @@
 #include <wctype.h>
 
+static const unsigned char table[] = {
+#include "alpha.h"
+};
+
 int iswalpha(wint_t wc)
 {
-       return (32U|wc)-'a'<26;
+       if (wc<0x20000U)
+               return (table[table[wc>>8]*32+((wc&255)>>3)]>>(wc&7))&1;
+       if (wc<0x2fffeU)
+               return 1;
+       return 0;
 }
+
+int __iswalpha_l(wint_t c, locale_t l)
+{
+       return iswalpha(c);
+}
+
+weak_alias(__iswalpha_l, iswalpha_l);