C

memo

とりあえずメモしておきます。 ときどきの雑記帖 i戦士篇 仕様の話とか深い話をしているので興味深いです。inlineって標準予約語だったんですね odz buffer 神様なんて信じない僕らのために NyaRuRuの日記 同じく。 その他メモ。 GoogleのMapReduceアルゴリ…

回転の成分を正規化する

以前書いた角度を正規化するRadianNormalize関数は問題があったので、今更書き直しました。関数の引数に回転値を与えると、0〜2*PIまでの値を返します。英語のコメントに関しては現在間違っているので修正します。(追記:正しい英文に直しました) #define …

角度を正規化するソースコード

C C++

メモ。正規化する関数は無限ループで止まる可能性があるので注意です。 (追記:こちらの雑記で修正版を書きました) float RadianNormalize(float rad) { float d; if (rad > 0) d = -PI * 2; else d = PI * 2; // ラジアンを正規化する while (!(0.0 <= ra…

テキストファイルから一行を速く読み込む方法(2)

昨日の続きですが、一行を分割するのにstrtokを使えば楽なのでは?と考えました。 そこで、検索前のポインタを残しておきstrchrで検索→\0代入する速度と、strtokで検索する速度を比較しました。40000回でstrchrが大体[4ms]、strtokが大体[9ms]でした。二倍ぐ…

テキストファイルから一行を速く読み込む方法

テキストファイルを読み込むときに、一度バッファに読み込んでしまったら改行ってどうやって判断するんだろう?と考えていた時期がありました。しかし今思えば、strchrで改行を検索してしまえば一発ということに気がつきました。というわけで、毎回ファイル…

文字列ライブラリ

C

私は現在、3DモデルフォーマットのXファイルを自前で読み込むときにはstrchrとかstrstrを使ってごり押しで読み込んでいます。 しかし、ShortCordingを立ち読みしてstrtolという文字で気付いたのですが、strtokを使用すればもっとコードが綺麗にまとまるんじ…

C言語で書くクイックソート

試験に出てきたので、復習も兼ねて。C言語は久しぶりだったので色々駄目でしたよ。(笑) クイックソートとは、データの中のある適当な数値を軸として、各データを調べます。調べながら各データを軸より小さいものは左側(array[0]側)、大きいものは右側(a…