C

量子力学でよく出てきそうな計算をboostで

試してはいない。間違いとかもっといい方法あれば教えてください。 Trace sum( matrix_vector_range(A, range(0, A.size1()), range(0, A.size2()) ) );http://lists.boost.org/MailArchives/ublas/2007/06/2158.php sum( prod( scalar_vector(A.size1(), 1.…

OpenMPメモ

お手軽並列化(?)のOpenMPを使ってみる。 準備 omp.hをincludeする。gccでのコンパイルは以下のような感じで。 $ g++ -fopenmp hoge.cc 環境変数 OMP_NUM_THREADSで並列数を指定する。デフォルトはCPUのコア数? 他にも挙動を制御する環境変数多数あり。 $ OMP…

無名共用体

C

前に書いたのは間違ってないみたい。 http://wisdom.sakura.ne.jp/programming/cpp/cpp44.html http://www1.kcn.ne.jp/~robe/cpphtml/html03/cpp03012.html

時間その2

C

// -------------------------------------------------------- // ftime -------------------------------------------------- // -------------------------------------------------------- double ftime(void) { double t; #ifdef WIN32 t = (double)tim…

union

C

unionってどんな感じに使えばいいんだっけか。 class vector3d { protected: union { double p[3]; struct { double x, y, z; }; }; public: int test(void); };こんなふうに書いたらとりあえずコンパイルできたけど、もうちっとスマートに書けないものだろ…

時間

C

短い時間を計りたいときは、 windows -> timeGetTime linux -> gettimeofday を使う。

srand

C

srand(time(NULL));ってのが普通らしいけど、srand(getpid());の方がいいと思う。まぁ、システム起動時に使われるようなプログラムではダメだけど、でも、そんなとこでrand関数は使わんだろ。

inline

C

inline関数は他のファイルに記述できない。複数ファイルで共有するときはヘッダファイルに関数の定義も含めて全部書く。 class内で定義された関数は自動的にinlineになる。 高校のときに書いたコード読んだけどよくできてる。ところどころにバグを発見したけ…