憂鬱な午後のひととき
とりあえず
ET Q&Aのリンク先資料などを読んで疑問点をまとめておく, でOKかな.
全くの門外漢だが1カ月あるし, なんとかなるだろう.
なんとなく『フェルマーの大定理』(足立恒雄)を読んでみた.
第3版で追加されたという6章の部分は同筆者のブルーバックスの『フェルマーの大定理が解けた!―オイラーからワイルズの証明まで』と殆ど同じやったのね.
先日の
ためしてガッテンで
ムペンバ効果というのが紹介されていた.
「(ある条件下で?)お湯は水より早く凍る」という現象らしい. 熱いお湯と水道水で試してみたが差は見られなかった. 少し検索した限りでは状況がいまいち分からない.
現状では再現性が確実な条件も不確かというレベルなんだろうか. 「早く氷を作る方法」として紹介すべきものではない印象を受けた.
番組内で水の温度と凍る時間のグラフで, 20度を超えると単調減少するものが提示されていたけど, あれは本当かなあ.
水の状態が温度だけでは決まらないのは過冷却という現象からも分かるが, そんなにきれいなグラフになるような内部パラメータがあるとは思えない.
『吹雪の山荘』(笠井潔 他 リレー小説)
「過去の実作を具に検討し」たそうだが全体としてはいまいちだった. なんとかつなげようと互いに気を付けすぎてこじんまりとしてしまった印象.
大昔に読んだ『堕天使殺人事件』の方が破綻はしてたけど途中ははちゃめちゃで楽しめた(リレー小説の意味をわかってない自己完結の人もいたけど)気がする.
まあそれでも法月綸太郎と巽昌章の章はにやにやしながら楽しめた. ただ岩崎正吾の「私」は許せない. 「私」はそんな言葉づかいしない.
Lightweight Language Futureのチケットを購入しようとしたが,
同じ日に
わんくま横浜勉強会があるのに気がついた.
うー, どっちにしよう.
あろは先生を問い詰める会にも行ってみたい.
・寝不足+夏ばて+その他もろもろでかなりへたってた. 折角有給で5連休になってたのにひたすら寝ていた. まだ全快ではない.
・↓今更だがand dword [ecx], 0は3byte.
同様にmov dword [ecx], -1したければor dword [ecx], byte -1が3byte.
μOPって
こないだも触れた
anger.orgのpdfあたりが割と詳しい.
golf的にはmov dword [ecx], 0は6byteなんだが, 基本はxor eax, eax / mov dword [ecx], eaxの4byteで, でも3byteですむ方法もあるよ(遅いけど)とか.
・boostでも使われてるVCのautolink機構は便利なんだけどgccでサポートされないのは何故だろう.
Makefileの中でややこしいifdefによるライブラリ指定よりはライブラリのことを知っているコンパイラとライブラリヘッダに任せるのは正当な気がするんやけど.
久々にC++の初歩的な文法につまずく.
Xbyakのラベルはconst char*で受けてるのだけどconst std::string&の方が便利だよなあと思って変更した.
Lは(const char *label)と(const void *addr)の二つオーバーロードしていたときは, L("lp")はconst char *にマッチしていたのが
(const std::string&)に変更すると(const void *addr)にマッチして誤動作した.
んで, まさにそのその理由でconst char*にしていたのを思い出した. どんくさ.
関数名変えるべきだったかなあ. 今更遅いけど.
いや, 関数名変えると余計なことを覚える必要があるので止めたのだった. うーむ, 頭が働いてない.
最近文字列の調査してるのでboost::regex + ICUを使うときのメモ.
VC9はリリースモードでもSTLなどの配列やiteratorのチェックが入るので/D_SECURE_SCL=0をつけないと
遅い.
ただデフォルトのboost::regexはSCLありでコンパイルされているので組み合わせるとエラーになってしまう. buildし直すには
>cd boost/libs/regex/build
>bjam -sICU_PATH=c:/p/icu --toolset=msvc-9.0 \
cxxflags=-D_SECURE_SCL=0 link=static,shared release stage
とかする. ICUも同様に. boostはライブラリ名に-scl-offみたいなのつけるように変更した方がよいかなあ.
JANTに参加.
たまたまか, 理学部の人たちの発表はOHP&黒板だった. なつかしー.
スライドの更新は, 次のを用意してから現在のと取り替えるべきなんだよな.
先に現在のを取ってしまうと聴講者にとって無駄なブランクが発生する(スライドの下の方はゆっくりみたいのに).
第88回カーネル読書会に参加.
随時入る
shinhさんのコメントが面白かった.
そういや
kosakiさんと初めて(だったよなあ?)お話しできてよかった.
blogに使ってる写真は検索で見つけたものらしい. 自分で合成してはると思ってた.
VC9のstd::swapは交換前に変数が同じかどうかをチェックしていた.
// utility
template<class _Ty> inline
void swap(_Ty& _Left, _Ty& _Right)
{ // exchange values stored at _Left and _Right
if (&_Left != &_Right)
{ // different, worth swapping
_Ty _Tmp = _Left;
_Left = _Right;
_Right = _Tmp;
}
}
ほとんどのケースでは_Left != _Rightだろうし, ifを除去しにくいためコンパイラの最適化を阻害する.
特にPOD型の場合は邪魔以外なにものでもない. 余計なお節介だ.
もう一年か. 早かったようなゆっくりだったような.
昔
御意見は光成滋生<herumi@nifty.com>までお願いします