Repo

kjana00@gmail.com

older <-

2013-02-26 02:31:30

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。どうもあんまりあったまってこないんだな……そして相も変わらずどこかが遅れている JR。

先週末見たのと別のモジュールの方も、細かい設定を見直しておこうかとごちゃごちゃ。二つのシミュレーションモードで結果が変に合わないところもあることだし。この default は FCN_ARG であるべきだなとか、そういう本当に細かいところはさくっと片付けて、シミュレーション結果の差異を生んでいるのは何かというのをしばらく調べる。

もう一つのモジュールの方で見たのと同じように前回値入力と今回値出力で同じ変数使ってるのが良くなさそうっていうのがあったんで直してみたけどそれでは改善が見られない。実際問題、それで出るような出力値でもないっていう話もあったし。それでもうちょっと真面目に見てみて……も結局わからなかったんで、生成コードの方を見てたらどうもこの INVALID 出力を生んでるのは 0 になる変数だなというのを発見。何でここで分母が 0 になるかって、時間のしきい値でリセットがかかる瞬間なわけね。

何でリセットがかかるかっていうと、この変数を使ってる出力の片方は本当にリセットがかからなきゃいけない変数だから。もう一方はリセットがかかる前の値を出力してるんだけど。……その二つの出力で同じ変数使ってちゃ駄目やんな? 分けてみて、それだけだと何故か生成されるコードが変わらないんで、何でだと思ったらもう一つ同じ変数を使うように設定されたブロックがあってそれに影響されてたんで設定がいらないところだったから消すとかしてたらちゃんと問題の出力は許容誤差の範囲内で一致するようになった。良し、良し。

先週末いじってた方のベースが更新されたんでまたマージ、またシミュレーション結果が二つのモードで合わなくなったんで調べたら、いらなくなったのに残してある Unit Delay に設定してある変数のせいだったんでそこを default に戻してごまかすとかしてたらまた別件の方で手伝ってくれという話が出たんでコードを眺めてみた。別段そんなにおかしいところも見当たらないんだけどなと動かしてみたら、特に即おかしいとはわからない結果が得られた。……うん? それで何がおかしいのかっていうのを聞きにいって、途中経過のこれが、というのを聞いたんで眺める。……その変数、ループ終了条件からして負になるのは全然構いません。while の条件からして負になった値は使われないでループを抜ける。負にならないとループを抜けられない。

そもそもここで途中経過見たいんだったら見るべき変数はそれじゃない、と途中経過を保存してるセル配列の方を見てみると、それはそれでちょっと微妙な感じ。むだ時間を考えて信号を切落す関数の出力が全然変わらない。何でかと思ったら、切落す量を計算する関数が変だった。そこで割ったらいけないでしょう、とか。それを直して、似たような話で別の問題があったんでそっちも直して、それでまだ何か変なんだけどなという感じのまま一旦終了。今思い出してたら明白なバグがもう一つあったような気がしてきたから明日確認してみよう……

元に戻ってもうちょっと色々調整したり、文書を更新したりして今日はおしまい。それで帰って晩ごはんにとりの唐揚げと豚汁うどん。冷奴でもないし、と思ったところで唐揚げ屋が来てるのを見掛けて、試食でおいしかったんで……冷めてもおいしい唐揚げ。変にあっためるとべしょべしょになりそうだったんで、そのまま食べた。実はいつものうどんに付けるには六個って多いよねとは思ったら案の定、食べ過ぎ気味。

後は WWW 見たりゲームしたり本を読んだり。地道にイークの洞窟で弱めなユニークモンスターと連戦したところで唐突にひどく眠くなったんで、ちょっと寝てみたらそのまま寝過ぎてこの時刻。ちゃんと寝ましょうね……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12