kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

Reasoned Schemer (18) adderoまとめ

表にしてみた

b n m r overlap 計算
1 =0   =0   6(n=1 m=0) 8(n=2 m=0) (== n r)
2 =0 =0 >0   -- (== m r)
3 =1   =0   6(n=1 m=0) 8(n=2 m=0) (addero 0 n '(1) r)
4 =1 =0 >0   -- (addero 0 '(1) m r)
5   =1 =1   6(n=1 m=1) (full-addero b 1 1 a c)
6   =1     1 3 5 (gen-addero b n m r)
7   >1 =1 >1 8(n=2 m=1) (addero b '(1) n r)
8   >1     1 3 7 (gen-addero b n m r)

1〜4行目で0が出現する場合、5〜7行目で1が出現する場合、8行目でその他の場合をカバーしてる

ところどころ non-overlapping にしようとしてるように見えたけど
全体的には overlapp のことは気にしてない感じかな
どういうポリシーなんだろう

条件つけてないとちゃんと動かない部分をガードしてるだけかな?
overlapしないようにするっていうのはそこまで絶対守るべきものではないのかな
掟とか戒律とかにはなってないし
重複してると同じ結果が複数回出てくることがある(んだよな?)程度の話、ってこと?

あと7行目のrの条件は何をガードしているの
これがないとどんな答えが出るの