Skip to content

mutable/vector 設計

責務

  • 実行指向の Vector[T] を提供し、内部では Array[T] をラップします。
  • インプレース更新が必要なワークロード向けに、直接のインデックス読み書きを提供します。
  • 新しい値を返す変換も選べるように、inplace 接尾辞を持たない代数ヘルパーも残します。
  • dot()lin_comb(...) のようなスカラー帰着・組み合わせヘルパーは可変パッケージ側に置きます。

不変条件

  • *_inplace メソッドは既存のベクトルを変更し、Unit を返します。
  • map、スケールヘルパー、zip_with、行列変換ヘルパーは新しい値を返します。
  • 共有される操作部分では、@immut.Vector と代数意味論を揃えます。
  • dot()lin_comb(...) のように長さへ依存するヘルパーは、不整合な入力を明示的に拒否します。