トップ «前の日記(2018-12-14) 最新 次の日記(2018-12-19)» 編集

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|

2018-12-17 [長年日記]

_ [SAD]itfmaloc.fの整理作業まとめ

  • tfmsize(作業完了)
    • list2array_utils内の MatrixQで置き換え可能
    • 真偽値を返す関数なので、適切にirtc/itfmessageを呼び出すコードが書く必要がある
    • また、現在は private functionなので publicへ切り替える必要がある
  • itfmaloc(作業完了 2018.12.19)
    • Cモジュールからの呼び出しがある(src/sim/sad_api.cにwrapper有り)
    • list2array_utilsに、mallocしたFortran配列を返すAPIを用意するのが得策
    • bind(C)で定義して、src/sim側には関数プロトタイプのみを用意する
  • itfmalocp
    • src/tffswake.fでWakePotentialを展開した2次元配列を得るのに使っている
    • 割り当てた配列は、Beamline要素毎のテーブルとして連結され、tturn等で参照される
    • pointerベースで実装しなおす
      • ルートノード及び操作コードの同定
      • 永続化させるデータ構造の設計と実装
        • 同一の2次元配列を複数箇所から参照する設計なので、destruction管理のために、参照カウンタが必要
  • それ以外
    • 基本的にFortran配列からListオブジェクトの生成API
    • C bindingを考えるとbind(C)で定義したinterface moduleをuseする方が良い?
      • src/sim側のwrapperが不要になる
    • 命名規則の再設計をした方が良いか?

カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記