独り言 - デジャブ

factory-searchを作っていてAをBに書き換えていたとき何かデジャブを感じた。

A

for (var frame = frame_min; ; frame ++) {
	for (var hour = 0; hour < 24; hour ++) {
		for (var high = 0; high < 0x100; high ++) {
			var fseed = (high << 24 | hour << 16 | frame) >>> 0;
			// なんかする
		}
	}
}

B

var fseed = frame_min;
while (true) {
	// なんかする
	fseed = succ_fseed(fseed) >>> 0;
}

function succ_fseed(seed) {
	if (seed >>> 24 !== 0xff) {
		return seed + 0x01000000;
	} else if (seed >>> 16 !== 0xff17) {
		return (seed & 0xffffff) + 0x010000;
	} else {
		return (seed & 0xffff) + 1;
	}
}
筆者: oupo (連絡先: oupo.nejiki@gmail.com)