[Python-checkins] CVS: python/dist/src/Modules ucnhash.c,NONE,1.1

M.-A. Lemburg python-dev@python.org
Wed, 28 Jun 2000 09:38:58 -0700


Update of /cvsroot/python/python/dist/src/Modules
In directory slayer.i.sourceforge.net:/tmp/cvs-serv20335/Modules

Added Files:
	ucnhash.c 
Log Message:
Marc-Andre Lemburg <mal@lemburg.com>:
New ucnhash module by Bill Tutt. This module contains the hash
table needed to map Unicode character names to Unicode ordinals
and is loaded on-the-fly by the standard unicode-escape codec.

--- NEW FILE ---
#include <ucnhash.h>

/*
 * The hash is produced using the algorithm described in
 * "Optimal algorithms for minimal perfect hashing",
 * G. Havas, B.S. Majewski.  Available as a technical report
 * from the CS department, University of Queensland
 * (ftp://ftp.cs.uq.oz.au/).
 *
 * Generated using a heavily tweaked version of Andrew Kuchling's
 * perfect_hash.py: 
 * http://starship.python.net/crew/amk/python/code/perfect-hash.html
 *
 * Generated on: Wed Jun 28 03:34:07 2000
 */

#define k_cHashElements 18836
#define k_cchMaxKey  83
#define k_cKeys  10538
[...12173 lines suppressed...]
  { "FULLWIDTH POUND SIGN", 0xffe1 },
  { "FULLWIDTH NOT SIGN", 0xffe2 },
  { "FULLWIDTH MACRON", 0xffe3 },
  { "FULLWIDTH BROKEN BAR", 0xffe4 },
  { "FULLWIDTH YEN SIGN", 0xffe5 },
  { "FULLWIDTH WON SIGN", 0xffe6 },
  { "HALFWIDTH FORMS LIGHT VERTICAL", 0xffe8 },
  { "HALFWIDTH LEFTWARDS ARROW", 0xffe9 },
  { "HALFWIDTH UPWARDS ARROW", 0xffea },
  { "HALFWIDTH RIGHTWARDS ARROW", 0xffeb },
  { "HALFWIDTH DOWNWARDS ARROW", 0xffec },
  { "HALFWIDTH BLACK SQUARE", 0xffed },
  { "HALFWIDTH WHITE CIRCLE", 0xffee },
  { "INTERLINEAR ANNOTATION ANCHOR", 0xfff9 },
  { "INTERLINEAR ANNOTATION SEPARATOR", 0xfffa },
  { "INTERLINEAR ANNOTATION TERMINATOR", 0xfffb },
  { "OBJECT REPLACEMENT CHARACTER", 0xfffc },
  { "REPLACEMENT CHARACTER", 0xfffd },
};