1
0
mirror of https://github.com/golang/go synced 2024-10-05 08:21:22 -06:00
go/src/pkg/exp
Marcel van Lohuizen 9aa70984a9 exp/locale/collate: include composed characters into the table. This eliminates
the need to decompose characters for the majority of cases.  This considerably
speeds up collation while increasing the table size minimally.

To detect non-normalized strings, rather than relying on exp/norm, the table
now includes CCC information. The inclusion of this information does not
increase table size.

DETAILS
 - Raw collation elements are now a struct that includes the CCC, rather
   than a slice of ints.
 - Builder now ensures that NFD and NFC counterparts are included in the table.
   This also fixes a bug for Korean which is responsible for most of the growth
   of the table size.
 - As there is no more normalization step, code should now handle both strings
   and byte slices as input. Introduced source type to facilitate this.

NOTES
 - This change does not handle normalization correctly entirely for contractions.
   This causes a few failures with the regtest. table_test.go contains a few
   uncommented tests that can be enabled once this is fixed.  The easiest is to
   fix this once we have the new norm.Iter.
 - Removed a test cases in table_test that covers cases that are now guaranteed
   to not exist.

R=rsc, mpvl
CC=golang-dev
https://golang.org/cl/6971044
2012-12-24 16:42:29 +01:00
..
cookiejar exp/cookiejar: new package. 2012-11-27 18:20:44 +11:00
ebnf build: remove Make.pkg, Make.tool 2012-01-30 23:43:46 -05:00
ebnflint tools: update references to "x" to be "go tool x" 2012-02-04 07:03:20 +11:00
gotype exp/gotype: disable failing tests and add a few more 2012-12-17 14:32:46 -08:00
html gofmt: apply gofmt -w src misc 2012-10-30 13:38:01 -07:00
inotify exp/inotify: prevent data race 2012-06-25 14:08:09 -04:00
locale/collate exp/locale/collate: include composed characters into the table. This eliminates 2012-12-24 16:42:29 +01:00
norm all: fix typos 2012-12-19 03:04:09 +08:00
types all: fix typos 2012-12-19 03:04:09 +08:00
utf8string exp/utf8string: Correct package name in error messages 2012-04-02 12:06:05 -04:00
winfsnotify exp/winfsnotify: fix data race in TestNotifyClose 2012-11-28 17:01:22 +11:00
README explain exp 2009-10-15 11:02:18 -07:00

This directory tree contains experimental packages and
unfinished code that is subject to even more change than the
rest of the Go tree.