00:23:40
icon

名前ちゃんとするか

00:30:08
icon

これ労働時間バグるやつだ

00:30:17
icon

精神もバグる

01:07:10
icon

design documentの修正したらやる気が尽きた

01:18:39
icon

いやこれ寝ないと死ぬな

03:35:41
icon

ねれん

09:41:43
icon

36.5℃

09:50:56
icon

void* がdoubleと同じくらい大きい環境だとtrue.object_idは20になるっぽい。見た感じFixnumと同じノリで小さめの値はVALUEに直接突っ込んでそう github.com/ruby/ruby/blob/9e41

Web site image
ruby/include/ruby/internal/special_consts.h at 9e41a75255d15765648279629fd3134cae076398 · ruby/ruby
10:17:35
icon

doubleを62bitに削るのどうやるんだろうと思ったら、上位3ビットが011か100のときだけ決め打ちで復元する前提で先頭2ビットを落としてるのか。なんでこのパターンなんだろう github.com/ruby/ruby/blob/1035

Web site image
ruby/internal/numeric.h at 1035a3b202ee86bf2b0a1d00eefcfff0d7ab9f6b · ruby/ruby
10:23:45
icon

011...は正の無限大(exponent=0x3ff)かなあ。100...はよく分からん

10:25:31
icon

0x7ffだった

10:26:52
icon

でもそんな変な値をVALUEに埋め込んでも嬉しくなくないか?なんか勘違いしてる気がする

10:32:49
icon

いや違うわ、3ビットローテートしてるから符号ビットだけ保存してexponentの先頭2ビットを消し飛ばしてるのか。復元するときは符号ビットに応じて00か11を埋めるから、結局Fixnumと同じで小さめの値を埋め込んでる

10:33:16
icon

当たり前体操

10:37:58
icon

で、Float埋め込みの関係上、今までは即値フラグの1ビットだけをVALUEの下位ビットに持たせとけば良かったのが整数かFloatかの区別のためもう1ビット必要になったから、0x02にいたQtrueが空いてるところに動かされて0x14になったという話ですね

13:19:28
icon

確かに謎の仕切りあるわ

13:27:13
icon

いのちの輝き

Attach image
13:38:35
icon

1年分くらいの天一を摂取した

14:02:44
icon

なんか完全に今日を生きるプランが破綻した

23:41:38
icon

ポカリスエットおいしいわかる

23:42:10
icon

酒を飲んだのでポカリスエットがうまい

23:49:47
icon

あずさ

23:50:24
icon

せいべついに割れてしまったん

23:54:27
icon

あっ電車間違えた……

23:55:06
icon

いやリカバリーできるっぽいな

23:55:50
icon

田端に行こうとして田町に向かっていた

23:57:53
icon

田無に行ったら完全に詰みですね……

23:59:08
icon

いやどうなんだろう、埼玉に近付くという意味では悪くないのか?