2014-06-01から1ヶ月間の記事一覧

Python 3で小数点以下n桁を表示する

C/C++でいうprintf("%.20f", val)のように、小数点以下n桁を表示するには以下のように書く。これは小数点以下20桁を表示する例。 val = 1 / 3 print("{0:.20f}".format(val)) 結果は以下の通り。 0.33333333333333331483 この書き方苦手だ…

C/C++でガンマ関数tgamma()

ガンマ関数といえば、階乗を整数から整数以外に拡張したもの。それがC/C++の標準ライブラリで提供されているとは知らなかった。 std::tgamma - cppreference.com C言語関数辞典 - tgamma, tgammaf, tgammal 例は以下。 std::cout << std::tgamma(5.0); \( \G…

SIMD命令を使って高速に計算する

C++

マルチコアを用いた画像処理 from Fukushima Norishige このスライドに出てくるSIMD命令を試したくなったので試してみました。 IntelのCPUでSIMD命令を使う場合、SSEという命令セットと、その後継であるAVXという命令セットのどちらかを使うことになると思い…

gitで一部のファイルの変更のみコミットする

git

gitで、複数のファイルに変更が加えられているとき、一部のファイルの変更のみをコミットしたいときがある。普通はgit addしてからgit commitだが、次にように書くと一度に実行できる。 git commit -m "change a.txt" a.txt

C/C++11で直角三角形の斜辺の長さを求める関数hypot()

C++

ピタゴラスの定理を使うと、直角三角形の直角を挟む二辺の長さから、斜辺の長さを計算できるのはおなじみでしょう。それを計算してくれる関数がmath.hまたはcmathで提供されているhypot()です。 以下はC++11の例です。 #include <iostream> #include <cmath> using namespace </cmath></iostream>…

C++11で数字→文字列はstd::to_string()、文字列→数字はstd::stoi()とかstd::stod()とか

C++

数字から文字列 スクリプト言語でよくある、数字を文字列に変換する関数がC++11でも提供されています。std::to_string(100)などと書くだけで数字が文字列に変換できます。 #include <iostream> #include <string> int main() { std::string str = "Holland, " + std::to_string</string></iostream>…

Matlabで構造体を使う

C/C++で構造体を扱うときは型宣言を行う。以下はC++の例。 struct my_struct { int a; int b; }; Matlabでも構造体は存在するが、C/C++のように宣言する仕組みはない。「変数.フィールド名 = 値」と書くだけでフィールドがいつでも追加されてしまう。 my_str…