ToDo:
SAD本体のコードは20年選手なので、紆余曲折を経て謎コードに なっている部分を理解するには、古いコードを発掘して変更内容を 追跡することが必要になったりしますが、関連する変更箇所を探しながら 時間方向に遡る作業は CVS向きでは無いのでCVS repositoryを コピーしてきて調査用の Subversion repositoryを生成してみる。
ふむ、CVS repository上最古のコードは 1995年なのか... その時点で呼び出し元と呼び出し先で引数の数と型が 整合していない例を見たことがあるが、そこから遡る追跡調査は 至難の技かな
「ソースがドキュメントだ」とか「ソースにすべて書いてある」とか 言う人もいますが、下記の理由によりコードやデータ構造を理解するには インクリメンタルな変更差分から変更意図を類推する作業が必要です。
コメントを読む限り、 src/inc/MACPHYS.incの echargには、 昔は elementary chargeがC単位で入っていたようなのですが、 途中からエネルギーの単位がJからeVに変更され echargが1になっているが、参照コードによっては 1.602176487x 10^-19 Cであることを期待しているものが 見受けられる。
同じ物理定数が異なる名前で、複数箇所で定義されている。 光速cや真空の透磁率$\mu_0$のように定義値に なってるものはまだ良いが、観測量なものに関しては複数箇所で 定義するのは保守性の悪化を招く。 (kg(シリコン単結晶の真球を使ってアボガドロ数を定義値にして定める)か J(ホール効果等からプランク定数hを定義値にして定める)を定義値に するって話は出てるけど、置き換えまだ〜)
事実、収録元か収録時期が異なる観測量な物理定数が存在する。 また、こうした定数は 2003年から更新されていない。
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記