on master help sign in
Tidy up the Utf16 module

--HG-- extra : convert_revision : a77c37a9df48b73e83d80f7c8d171d5c95ba69af

commitb9983b2cd14b5b73e5f5db7e99b47c36bc8b7cb7 authorBryan O'Sullivan <bos@serpentine.com> dateMon 19 Jan 2009, 12:24 (18 years ago) parent1c20faa
1 file changed+11−6
Data/Text/Utf16.hs+11−6
Data/Text/Utf16.hs+11−6
@@ -1,11 +1,14 @@
11{-# LANGUAGE MagicHash #-}
22
3−module Data.Text.Utf16 where
3+module Data.Text.Utf16
4+ (
5+ chr2
6+ , validate1
7+ , validate2
8+ ) where
49
510import GHC.Exts
6−import GHC.Word
7−
8−import Data.Word
11+import GHC.Word (Word16(..))
912
1013chr2 :: Word16 -> Word16 -> Char
1114chr2 (W16# a#) (W16# b#) = C# (chr# (upper# +# lower# +# 0x10000#))
@@ -18,7 +21,9 @@ chr2 (W16# a#) (W16# b#) = C# (chr# (upper# +# lower# +# 0x10000#))
1821
1922validate1 :: Word16 -> Bool
2023validate1 x1 = (x1 >= 0 && x1 < 0xD800) || (x1 > 0xDFFF && x1 < 0x10000)
24+{-# INLINE validate1 #-}
2125
2226validate2 :: Word16 -> Word16 -> Bool
23−validate2 x1 x2 = (x1 >= 0xD800 && x1 <= 0xDBFF) &&
24− (x2 >= 0xDC00 && x2 <= 0xDFFF)
27+validate2 x1 x2 = x1 >= 0xD800 && x1 <= 0xDBFF &&
28+ x2 >= 0xDC00 && x2 <= 0xDFFF
29+{-# INLINE validate2 #-}