IndexedSeq[Double]
ドメイン固有の数値計算ライブラリを設計するときに使用する適切なデータ型 ( など) を探します。この質問では、範囲を の 1 次元配列の操作に限定していますDouble
。ライブラリは、1D 配列の各要素に通常適用される数値関数を定義します。
考慮事項:
Vector
またはなどの不変のデータ型を優先するIndexedSeq
- データ変換を最小限に抑えたい
- スペースと時間の合理的な効率
- 図書館を利用する人にやさしい
- エレガントでクリーンな API
など、コレクション階層の上位にあるものを使用する必要がありますSeq
か?
それとも、単一要素の関数を定義して、マッピング/反復をエンド ユーザーに任せた方がよいでしょうか?
これは効率が悪いように見えますが (一部の計算は一連の呼び出しごとに 1 回実行される可能性があるため)、同時に、より柔軟な API です。これは、どのタイプのコレクションでも機能するためです。
推奨事項はありますか?