Python: ビットボード(またはビットセット)の実装
bitarray パッケージを利用すればよい。
Windows環境におけるセットアップ手順は以下のとおり。
1. setuptools のインストール
以下のURLからexeファイルをダウンロードし実行。(たとえば、setuptools-0.6c11.win32-py2.7.exe)
http://pypi.python.org/pypi/setuptools
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 のテスト
・ユニットテスト
1 2 3 4 5 6 7 8 9 10 11 12 | >>> 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 > >>> |
・簡単なテスト(論理和、論理積)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | >>> 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 件のコメント:
コメントを投稿