2007-01-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用ヘッ…

columnのdrop

sqlで面白そうなことやってたのでツッこんでみる 結果つけたら結構でかくなったのでこっちで。まずはテストテーブルの作成 sqlite> .explain on sqlite> create table test ( ...> id integer, ...> field1 text ...> ); カラムの追加 sqlite> alter table t…

wwwdll関連でいくつか修正+追加

web

まずNetscapeEnterpriseサーバ(まだ動いてるとこあるんだ・・・)がHTTP応答でContent-LengthをContent-lengthと返してきてサイズが取得できず、タイムアウト待ちになってた。 なのでHTTPPropertyを修正してComparatorをcase sensitiveではないように変更。つ…

wwwdllの修正

web

利用者の某氏から忍者の何とかする、ということでfilter.txtの変更とか。 ついでにfilter.txtでトークンセパレータのタブが一個じゃないとだめという問題を修正。あとヘッドトークンとターミナルトークンにそれぞれコンテンツの先頭、終端にマッチするパター…

Quatenionのつづき

SLERP(Spherical Linear interpolation、球面線形補間)を直す。式を勘違いしてた。 というかですね、プログラム言語ばっかり扱ってるとべき乗表記だったり空白ひとつあいてるだけだったりで「関数」とか表記されるのはわかりずらいんですよ・・・ とくに演算の…

Quatenion

をクラス化する。が、まだオイラー角による操作を作ってない。 まだテストをちゃんと作ってない(動作確認のサンプル作っただけ)のでさっさと作らないと・・・

よつばの。チェッカー

web

が、在庫量を取れてなかったので原因を調べて修正。 原因はstock[0-5].gifのパス表記がサーバ名含めたフルパスからサーバトップからのパスに変わっていたからだった。 ついでにソースコードのキャラクタセットを全部UTF-8に修正。

web更新チェッカ

チェック対象のメインが画像ファイルになるので1リソースとして識別できる。現状だとサイトの更新情報ページの更新をチェックして判断してるので更新情報を人が読み判断する必要がある(=面倒、手間がかかる)。サイトの構造をツリーとして持っていればリソ…