月別アーカイブ: 2014年10月

GMPでの基本的なデータ型

GMPで扱う数値の型は基本的には次の3つです.
 
1) mpz_t : 多倍長整数
2) mpq_t : 多倍長有理数(分数表現)
3) mpf_t : 多倍長浮動小数点数
 
【mpz_t】
 桁の長い整数の計算を行う場合に用いる型です.計算機環境の記憶資源が許す限り大きな桁数の計算ができます.
 
【mpq_t】
 除算(割り算)を行う場合に精度を落とさずに計算を行うには有利数(分数)を用います.ただし有理数の値の乗算・除算を繰り返すと分母,分子ともに大きな数になっていくので,記憶資源の消費量と計算時間がともに大きくなっていきます.
 計算の有効桁数(精度)を限定すると記憶資源の消費量と計算時間を一定の程度に抑えることができるので,その場合は次の mpf_t の型で計算を行うのが良いです.
 
【mpf_t】
 有効桁数を指定して(長く指定することも可)精度を限って計算を行う場合に使用する型です.

コマンドサーチパスの設定(Windows)

 コマンドとして起動できるプログラムの在処は,環境変数 PATH に設定しおきます.そのための設定作業を以下に示します.

1) デスクトップの「コンピュータ」アイコンを右クリックし,ポップアップメニューから「プロパティー」を選択します.
EnvPath0

2) 「システムの詳細設定」をクリックします.
EnvPath1

3) 「詳細設定」タブの「環境設定」ボタンをクリックします.
EnvPath2

4) 「システム環境設定」セクションの Path を選択して「編集ボタン」をクリックします.
EnvPath3

5) 「変数値」の項目にコマンドを格納するディレクトリのパスを追加します.
EnvPath4
 「変数値」には既に何らかのコマンドサーチパスが設定されており,それを破壊すべきではありません.既存のサーチパスにセミコロン「;」を区切り文字に使用して追加していきます.

wxWidgetsのインストール

ここでは,MinGW環境下でのwxWidgetsのインストール方法をまとめます.

UNIX環境下でソフトウェアをインストールする場合,C言語などで記述されたソースプログラムからコンパイルしてインストールすることが一般的な方法の1つとなっています.

MinGW環境下ではC言語のコンパイラ(GCC)が使用できるので,これに基いてコンパイルとインストールを行うわけです.

wxWidgetsは https://www.wxwidgets.org/ のサイトで配布されています.
 
 
例.ソースパッケージ wxWidgets-3.0.2.zip をインストールする作業

Step-0: wxWidgets-3.0.2.zipを展開してソースパッケージ用フォルダ wxWidgets-3.0.2 を作ります.これを C:¥ に配置します.
 
 
Step-1: MinGWのヘッダファイルの編集
C:¥MinGW¥include¥commctrl.hの中に

#define TV_DISPINFO __AW(NMTVDISPINFO)

という行がありますが,(探してください)これを,

#define TV_DISPINFO NMTVDISPINFO

に変えてください.(くれぐれも慎重に!.全角文字はNG!)
 
 
Step-2: MinGW Shellを起動して,カレントディレクトリを C:¥wxWidgets-3.0.2 に移動する.
 
 
Step-3: 下記のコマンドを発行する.(コンパイル環境の準備)

./configure --prefix=/mingw --enable-unicode --disable-debug --disable-shared --with-msw --with-regex

この処理を確実にしないといけません(試練!)
しかもこの処理は結構時間がかかります.マシンの性能が低い場合は30分くらいかかったりします.
 
 
Step-4: 下記のコマンドを発行する.(コンパイル処理)

make all

 
Step-5: 下記のコマンドを発行する.(インストール処理)

make install

参考)Step-4 を省略して,Step-5を実行してもよい.

この処理も確実にしないといけません(試練!)
Step-4〜5はかなり時間がかかります.マシンの性能が低い場合は1時間くらいかかったりします!
 
 
トラブル対処例: コンパイル中に「wctype.hが無い!」と言われたら…

C:¥MinGW¥include¥wctype.h

C:¥MinGW¥msys¥1.0¥include

に複写してStep-3に戻ってみてください.
 
 
インストールが完了したら,C:¥wxWidgets-3.0.2¥samples 配下のどれかのサンプルを make して,そのアプリが出来上がること,またそれが実行できることを確認してください.

MinGWのインストール

MinGWは http://www.mingw.org/ のサイトから入手できます.

インストールすると(デフォルトでは)C:¥MinGW ディレクトリに関連パッケージがインストールされます.

MinGWには,UNIX系のOSで利用できる基本的な開発ツール(C言語コンパイラ関連など)が含まれており,徐々にソフトウェアを追加インストールしてゆくとUNIXに近い環境ができます.

MinGWインストール後は MinGW Installer(下記)がデスクトップに表示されるので,以後はこれを起動してパッケージの追加や削除,更新などの管理ができます.
MinGWinstaller
MinGW Installer を起動すると次のようなウィンドウが表示され,ここでパッケージを選択して追加,削除,更新を行います.
MinGWpkgSel
どのパッケージが必要かを判断するのが面倒な場合は,思い切って全部インストールしても良いと思います.
全部インストールすると時間もかかるので,”bin”,”dev”,”dll”のクラスのものだけ選んでインストールすると良いかもしれません.(”lic”はよくわからないのでとりあえずインストール…)

MinGW の利用は基本的にはコマンドシェル(UNIX系OSでよく用いられるコマンドプロンプト)による操作となります.「MinGW Shell」を起動すると,UNIX独自のコマンドプロンプト(bash)が起動して,コマンド入力による操作が可能になります.

WindowsのコマンドプロンプトでMinGWのコマンドを利用することも可能ですが,そのためにはMinGWのコマンドが格納されているディレクトリにコマンドサーチパスを設定しておく必要があります.
環境変数 PATH に「C:\MinGW\bin;C:\MinGW\mingw32\bin;C:\MinGW\msys\1.0\bin;C:\MinGW\msys\1.0\sbin」の順序で追加しておくと良いでしょう.(コマンドサーチパスの追加方法に関してはこちらを参照のこと

WordPressの記事の中で各種ソースプログラムを綺麗に表示する方法

プラグイン「WP-Syntax」をインストールし,記事の中で

<pre lang=”コンピュータ言語” line=”開始行番号”>ソースコード</pre>

とタグを記述する.

例えば:

1
2
3
4
5
6
#include <stdio.h>
 
int main()
{
	printf("Hello, World.¥n");
}

また,”line=”を省略すると,

#include <stdio.h>
 
int main()
{
	printf("Hello, World.¥n");
}

と,行番号無しとなる.