6.26.2011

Bitboards/bitsets in Python (installing .egg file)

Python: ビットボード(またはビットセット)の実装

bitarray パッケージを利用すればよい。
Windows環境におけるセットアップ手順は以下のとおり。

1. setuptools のインストール

以下のURLからexeファイルをダウンロードし実行。(たとえば、setuptools-0.6c11.win32-py2.7.exe
http://pypi.python.org/pypi/setuptools

image 「次へ」

image インストール先が正しいことを確認し、「次へ」

image 「次へ」

image 「完了」

2. bitarray パッケージのインストール

以下のURLからeggファイルをダウンロード。(たとえば、bitarray-0.3.5-py2.7-win32.egg
http://pypi.python.org/pypi/bitarray/

・コマンドプロンプトから、「easy_install eggファイル名」を実行するだけ (easy_install URLでも可とのこと)

   1: >easy_install bitarray-0.3.5-py2.7-win32.egg
   2: Processing bitarray-0.3.5-py2.7-win32.egg
   3: creating e:\python\python27\lib\site-packages\bitarray-0.3.5-py2.7-win32.egg
   4: Extracting bitarray-0.3.5-py2.7-win32.egg to e:\python\python27\lib\site-packages
   5: Adding bitarray 0.3.5 to easy-install.pth file
   6:  
   7: Installed e:\python\python27\lib\site-packages\bitarray-0.3.5-py2.7-win32.egg
   8: Processing dependencies for bitarray==0.3.5
   9: Finished processing dependencies for bitarray==0.3.5
  10:  
  11: >

3. bitarray のテスト

・ユニットテスト

>>> import bitarray
>>> bitarray.test()
bitarray is installed in: E:\Python\Python27\lib\site-packages\bitarray-0.3.5-py2.7-win32.egg\bitarray
bitarray version: 0.3.5
2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)]
...........................................................................................
----------------------------------------------------------------------
Ran 91 tests in 3.016s

OK
<unittest.runner.TextTestResult run=91 errors=0 failures=0>
>>> 

・簡単なテスト(論理和、論理積)

>>> from bitarray import bitarray
>>> a = bitarray(10)
>>> a.setall(False)
>>> b = bitarray(10)
>>> b.setall(True)
>>> a
bitarray('0000000000')
>>> b
bitarray('1111111111')
>>> a[1] = True
>>> b[2] = False
>>> a
bitarray('0100000000')
>>> b
bitarray('1101111111')
>>> a & b
bitarray('0100000000')
>>> a | b
bitarray('1101111111')
>>> 


参考:
http://d.hatena.ne.jp/SumiTomohiko/20070609/1181406701
http://peak.telecommunity.com/DevCenter/setuptools

0 件のコメント:

コメントを投稿