2007-12-01から1ヶ月間の記事一覧

続き

C++

どうもvector3_t、要するに3Dで使われるような座標のベクトルだった模様。 まぁIntel386系のコンパイラだとfloatは大体sizeof(float)==4なので3つ組だと12バイトなので16バイトアライメントにはなりませんなぁ。 #include <allocator.hpp> #include <vector> #include <iostream> struct </iostream></vector></allocator.hpp>…

アライメントアロケータ その弐

C++

こちらでアライメントされてるvectorのvectorがコンパイルエラーになるけれどカスタムアロケータならいけるのか聞かれたので早速実験してみるテスト #include <allocator.hpp> #include <vector> #include <iostream> struct hoge { char fuga[16]; }; int main() { typedef std::vector<hoge, risa_gl::aligned_allocator<hoge, 16> > ali</hoge,></iostream></vector></allocator.hpp>…

Y combinator. そして末尾再帰に取り付かれる

不動点演算子といってラムダ計算やらコンビネータ理論やらのものらしいです。 ちゃんと調べてないのでよくわかってません(笑)ただ、これを使うと無名関数を再帰することができる、ということです。で自分で実装して考えてみる。 まずは再帰のお供、fact関数…

アライメントされたメモリアロケータ

C++

メモリのアライメントでアライメントされたアロケータのアイデアがかかれてたのを実装したのが手元にあったので公開mmxとか用に使おうとおもって作ったやつがあるんですがよくよく調べてみたらどうせ拡張命令でしか使わないのであればmmxのintrinsics用ヘッ…