on master help sign in
Tidy up Utf8 a little

--HG-- extra : convert_revision : 34ed95d951bdd58e091bb231c99a8ea5e25634fc

commitc84c55950f59835f154de0ce3566b10e7c12c7d0 authorBryan O'Sullivan <bos@serpentine.com> dateThu 14 Oct 2010, 22:26 (16 years ago) parentf71d4dc
1 file changed+11−16
Data/Text/Encoding/Utf8.hs+11−16
Data/Text/Encoding/Utf8.hs+11−16
@@ -48,7 +48,7 @@ between :: Word8 -- ^ byte to check
4848between x y z = x >= y && x <= z
4949{-# INLINE between #-}
5050
51−ord2 :: Char -> (Word8,Word8)
51+ord2 :: Char -> (Word8,Word8)
5252ord2 c =
5353#if defined(ASSERTS)
5454 assert (n >= 0x80 && n <= 0x07ff)
@@ -59,7 +59,7 @@ ord2 c =
5959 x1 = fromIntegral $ (n `shiftR` 6) + 0xC0
6060 x2 = fromIntegral $ (n .&. 0x3F) + 0x80
6161
62−ord3 :: Char -> (Word8,Word8,Word8)
62+ord3 :: Char -> (Word8,Word8,Word8)
6363ord3 c =
6464#if defined(ASSERTS)
6565 assert (n >= 0x0800 && n <= 0xffff)
@@ -71,7 +71,7 @@ ord3 c =
7171 x2 = fromIntegral $ ((n `shiftR` 6) .&. 0x3F) + 0x80
7272 x3 = fromIntegral $ (n .&. 0x3F) + 0x80
7373
74−ord4 :: Char -> (Word8,Word8,Word8,Word8)
74+ord4 :: Char -> (Word8,Word8,Word8,Word8)
7575ord4 c =
7676#if defined(ASSERTS)
7777 assert (n >= 0x10000)
@@ -84,7 +84,7 @@ ord4 c =
8484 x3 = fromIntegral $ ((n `shiftR` 6) .&. 0x3F) + 0x80
8585 x4 = fromIntegral $ (n .&. 0x3F) + 0x80
8686
87−chr2 :: Word8 -> Word8 -> Char
87+chr2 :: Word8 -> Word8 -> Char
8888chr2 (W8# x1#) (W8# x2#) = C# (chr# (z1# +# z2#))
8989 where
9090 !y1# = word2Int# x1#
@@ -93,7 +93,7 @@ chr2 (W8# x1#) (W8# x2#) = C# (chr# (z1# +# z2#))
9393 !z2# = y2# -# 0x80#
9494{-# INLINE chr2 #-}
9595
96−chr3 :: Word8 -> Word8 -> Word8 -> Char
96+chr3 :: Word8 -> Word8 -> Word8 -> Char
9797chr3 (W8# x1#) (W8# x2#) (W8# x3#) = C# (chr# (z1# +# z2# +# z3#))
9898 where
9999 !y1# = word2Int# x1#
@@ -118,20 +118,17 @@ chr4 (W8# x1#) (W8# x2#) (W8# x3#) (W8# x4#) =
118118 !z4# = y4# -# 0x80#
119119{-# INLINE chr4 #-}
120120
121−validate1 :: Word8 -> Bool
121+validate1 :: Word8 -> Bool
122122validate1 x1 = x1 <= 0x7F
123123{-# INLINE validate1 #-}
124124
125−validate2 :: Word8 -> Word8 -> Bool
125+validate2 :: Word8 -> Word8 -> Bool
126126validate2 x1 x2 = between x1 0xC2 0xDF && between x2 0x80 0xBF
127127{-# INLINE validate2 #-}
128128
129−validate3 :: Word8 -> Word8 -> Word8 -> Bool
129+validate3 :: Word8 -> Word8 -> Word8 -> Bool
130130{-# INLINE validate3 #-}
131−validate3 x1 x2 x3 = validate3_1 ||
132− validate3_2 ||
133− validate3_3 ||
134− validate3_4
131+validate3 x1 x2 x3 = validate3_1 || validate3_2 || validate3_3 || validate3_4
135132 where
136133 validate3_1 = (x1 == 0xE0) &&
137134 between x2 0xA0 0xBF &&
@@ -146,11 +143,9 @@ validate3 x1 x2 x3 = validate3_1 ||
146143 between x2 0x80 0xBF &&
147144 between x3 0x80 0xBF
148145
149−validate4 :: Word8 -> Word8 -> Word8 -> Word8 -> Bool
146+validate4 :: Word8 -> Word8 -> Word8 -> Word8 -> Bool
150147{-# INLINE validate4 #-}
151−validate4 x1 x2 x3 x4 = validate4_1 ||
152− validate4_2 ||
153− validate4_3
148+validate4 x1 x2 x3 x4 = validate4_1 || validate4_2 || validate4_3
154149 where
155150 validate4_1 = x1 == 0xF0 &&
156151 between x2 0x90 0xBF &&