mutable/vector 設計
責務
- 実行指向の
Vector[T]を提供し、内部ではArray[T]をラップします。 - インプレース更新が必要なワークロード向けに、直接のインデックス読み書きを提供します。
- 新しい値を返す変換も選べるように、
inplace接尾辞を持たない代数ヘルパーも残します。 dot()やlin_comb(...)のようなスカラー帰着・組み合わせヘルパーは可変パッケージ側に置きます。
不変条件
*_inplaceメソッドは既存のベクトルを変更し、Unitを返します。map、スケールヘルパー、zip_with、行列変換ヘルパーは新しい値を返します。- 共有される操作部分では、
@immut.Vectorと代数意味論を揃えます。 dot()やlin_comb(...)のように長さへ依存するヘルパーは、不整合な入力を明示的に拒否します。