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

制限解除union

C++

しばらくブログを書いていなかったが、実際のところペーパーワークに駆られて(現在進行形で駆られている)コードをほぼ書けていない。そのストレスで日曜日に何の関係もないコードをゴリゴリ書いていた。そこでタイトルにあるものを使って、ボンミスで時間…

typedef typename trait::template something<T>::type type;

C++

あるstructのメンバであるtemplate structをtemplate argumentとして受け取ってその中身をtypedefする、というときの書き方が(もう少し普通な状況でも出てくると思うが調べていない)、この18行目の文法がキモい2017だったので置いておく。 [Wandbox]三へ( …

vtkで分子を描画

C++

vtk7.0.0が出たという記事を見た時、といってももう1年も前なのだと今気付いたが、分子のためのクラスがあることを知った。で、以前vtkで分子を表示するために複数個の球体を浮かべようと悪戦苦闘した記憶が思い起こされ、こういうものがあるなら使ってみた…

スコープ内の時間計測

C++

以前、関数の時間計測のために返り値をラップする構造体を作っていたが、これはRAII的に考えて Logger logger; /*... codes ...*/ { stop_watch<std::chrono::milliseconds> sw("block-name", logger); /* do_something */ } とスコープの先頭で宣言すればスコープ内でかかった時間のロ</std::chrono::milliseconds>…

bobthefishでstring関係のエラーが出た

状況:fishでbobthefishを使うとエラーメッセージが出てテーマどころではない 原因:bobthefishがfish-2.2にはないコマンドstringを使っているから 解決策:fish-shell公式サイトにあるaptレポジトリから最新版を持ってくる。 もちろん.debをダウンロードし…

関数の時間計測

C++

C++のthreadライブラリを使っている。いかんせん並列化の経験が少ないのでちゃんとthreadが立ち上がっているのかとか、並列に処理されているのかとかがよくわからないし、ツールもよく知らない。VTuneのことは知っているが個人で持っているようなものでもな…

コンテナ内の一括計算

C++

を、たまにコードを見たりしている後輩が自分のためのコードの中でよくやっている。要するにこういうことだ。 std::vector<double> v1; std::vector<double> v2; // do something... assert(v1.size() == v2.size()); std::vector<double> v3(v1.size()); for(std::size_t i=0; i</double></double></double>

CUDAの練習2: Ising model

というわけで続きである。今回はIsingモデルを書く。openGLとかで動画を眺めたりはしない。

CUDAの練習1: mandelbrot集合

を正月休みにしていた。CUDAに関しては雑な知識しかなかったので、『CUDA BY EXAMPLE』なる書籍を読んだ。『CUDA C プロフェッショナルプログラミング』なる本が名著であると勧められてはいたが、まずモチベーションを殺さないために短めのものを一読してか…