Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hydat.ts内定義のクラス利用状況について #115

Open
k-yamada39 opened this issue Sep 16, 2021 · 2 comments
Open

hydat.ts内定義のクラス利用状況について #115

k-yamada39 opened this issue Sep 16, 2021 · 2 comments
Assignees

Comments

@k-yamada39
Copy link
Contributor

hydat.ts内で定義されているHydatParameterIntervalRaw2クラスは、HydatParameterIntervalRawクラスの要素を配列でない形で保持しているようなクラスとして定義されているが、これらの使い分けがなされているのか不明瞭に感じた。
同ファイル内で定義されているtranslateParameterMap関数では、HydatParameterIntervalRaw2の要素を用いている部分が見られるが、条件分岐の結果として当該部分に突入する入力が想定されうるのかも不明。
もしtranslateParameterMap関数内の分岐を削減できるのであれば、クラスを統一することが出来るのではないだろうか。
スクリーンショット 2021-09-15 142823
スクリーンショット 2021-09-15 143234

@sano-jin
Copy link
Contributor

ありがとうございます!!!
ソースコードなのですが,permalink を貼ってもらえるとより良いです(その方が楽だと思います).

permalink の貼り方

  1. リンクを貼りたいコード(の github 上のページ)の上限部分の左の行番号をクリック
  2. シフトキーを押しながら,下限部分の左の行番号をクリック
  3. permalink がゴニョゴニョと多分出るのでクリック
  4. ペースト

です(推定 2 分).

時間のある時で大丈夫です.

詳しくは
https://stackoverflow.com/questions/23821235/how-to-link-to-specific-line-number-on-github
などを参照

@nikosai
Copy link
Contributor

nikosai commented Sep 17, 2021

Raw2 の追加が行われたIssue(#29)とP-R(#30)を発見しました。これらを読んで思い出したのですが、当時は

  1. HyLaGIからは必ず(Issueに書かれている歴史的な理由で)Raw の配列形式で送られてくる
  2. しかし、現在ではこれらの配列は必ず要素0個か1個である
  3. よって、0個の場合、すなわち上下限が存在しない場合は (-)Infinity を上下限として入れた上で単一の変数で扱うのが適切であり、他の部分のコードでもそのほうが簡潔に書けるようになる(例えば、lower_bounds = [5], upper_bounds = [] なら lower_bound = 5, upper_bound = Infinity に直す)
  4. 上記理由からwebHydLaでは上下限を配列でなく単一変数で保持している
  5. これだけならHyLaGIから Raw を受け取って上記3.の変換をかませるだけで良く、Raw2 は不要に見えるが、そうはいかない
  6. hydat.ts はHyLaGIからの応答の解釈だけでなく、一旦localStorageに保存したHydatを再度呼び出す際にも使われている
  7. このため、単一変数形式に変換されたhydatも解釈できるようにしておく必要がある(ので Raw2 が要る)

という経緯でした。今後については、

  1. Raw2 という名前がナンセンスだというのは同意します(Issue解決のために慌ててつけた名前です)し、適切な名称があれば変えてほしいです
  2. 将来的にはHyLaGIの時点で Raw2 形式を吐き出すようにして、 Raw の方を消す(かdeprecatedにする)のが理想です
  3. ただし、そうしてしまうと旧形式のHydatが全部読めなくなるので、それが問題ないかはHydLa班側の判断になるかと思います

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants