2010-01-01から1年間の記事一覧

C++のPimpl

C++のプログラムでビルドに10秒程度かかることがあったので、ビルド時間の短縮のため(http://d.hatena.ne.jp/melpon/20101022/1287705842)にC++のイディオムであるPimpl(Pointer Implemetation)について調べてみた。そこで、ヒットしたのがこの記事 http:/…

PRML 多項式曲線フィッティング

『パターン認識と機械学習 上』通称PRML本に書いてある多項式曲線フィッティングをPythonで実装してみました。 http://gist.github.com/623904テストデータはこれ http://research.microsoft.com/en-us/um/people/cmbishop/PRML/webdatasets/curvefitting.tx…

C言語でタプルを生成

C言語でタプルを生成してみました。以下はそのメモ 他言語でPythonの拡張を作るには、BoostライブラリやSwigを使う方法など、いくつかあります。 そのなかで、今回はC言語でPythonのタプルを生成します。 方針はタプルを生成するCコードを書き、setup.pyでビ…

整数と少数の比較

Pythonに置ける整数と少数の比較で今後気をつけておくべきことを記憶の裏打ちがてら書いておく。 整数と少数の比較で以下のような挙動を示す。 $ python >>> 1.0 == 1 True >>> 1.000000000001 == 1 False >>> 1.0000000000000001 == 1 True 最後の比較は「1…

C++の覚書 デストラクタの注意点

今後の注意点として書いておく。 結論からいうとクラスを宣言したスコープでexit関数を呼び出すとそのクラスのデストラクタは呼び出されない。 以下がその例。 #include <iostream> class hoge { public: hoge() { std::cout << "called instance" << std::endl; }; ~h</iostream>…

C++STL(std::vector)

std::vectorに配列をコピーする方法のメモ。 std::vector v = {1,2,3,4,5}; みたいなことができたらいいのにな。これができなくてもstd::vectorが便利なことには代わりわない。 #include <iostream> #include <algorithm> #include <vector> void disp(int i) { std::cout << i << std::en</vector></algorithm></iostream>…

wizard 逆から読んでもwizard

元ネタ:http://alfalfalfa.com/archives/394584.html 解説 wizardを反転するとdraziwです。また、 abcdefghijklmnopqrstuvwxyzを反転すると zyxwvutsrqponmlkjihgfedcbaです。 それぞれ対応する文字を取ります。例えば d→w r→i となります。 このときdraziw…

モンテカルロ法で円周率を求めてみた

モンテカルロ法で円周率を求めてみました。 概要は、確率理論を用いいて円周率を求める方法です。 詳細は下記のURLです。このサイトを参考にしました。 http://hp.vector.co.jp/authors/VA014765/pi/montecalro.html ・ソース http://gist.github.com/403493…

Google Buzz

Google製ソーシャルネットワークGoogle Buzzが出た。 GoogleBuzzを利用するにはアカウントの設定があったのでめんどかった。 Twitterを一方的にインポートできる機能は便利だ。 専用クライアントソフトはiPhone版とAndroid版が出てた。 BlackBerry用は後から…