ToDo:
ReleaseVectorで長いVector化リストコンテナの操作時にStack overflowすることから気づいたが、
ReleaseVector[Vector[{x___}]]^:={x};
みたいなパターンマッチだと、xの部分をスタックに展開しているので、 {x}がStack Depthより長いリストコンテナだと失敗する
このケースは、頭部照合のみなので、
ReleaseVector[Vector[x_List]]^:=x;
と書き換えるとコンテナ長に依存したStack消費がなくなる
また、パターン照合処理でのコンテナ参照を配列参照に書き換えても、 右辺{x}の構築処理で、List関数呼び出しで引数をStack展開する処理が発生するのでNG
したがって、コンテナコンテンツの照合処理・部分抽出までサポートするには、 コンテナからの配列参照によるパターン照合処理とヒープ上の配列(例えばseq_utils)を引数とした関数呼び出し処理が必要になる
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記