luna-utils
luna-utils は Luna-Flow プロジェクト向けの小さなユーティリティパッケージです。配列ヘルパーと比較ヘルパーを提供し、その数値的な制約は luna-generic の trait に由来するため、必要な構造を実装した任意の型で使えます。
公開関数
このパッケージは関数のみをエクスポートし、独自の型や trait は定義しません。
| 関数 | 制約 | 動作 |
|---|---|---|
arr_sum | AddMonoid | 要素の総和。空配列では zero()。 |
arr_abs_sum | Num + Compare | 要素の絶対値の総和。 |
zero_arr | AddMonoid | zero() で埋めた長さ n の配列。 |
arr_max, arr_min | Compare | 最大または最小の要素。空配列では panic します。 |
find | Eq | 値が最初に現れる位置のインデックス。見つからなければ None。 |
reverse | なし | 要素を逆順に並べた新しい配列。 |
reverse_inplace | なし | 配列をその場で反転します。 |
same | Eq | すべての要素が先頭の要素と等しいか。空配列では panic します。 |
same_to | Eq | すべての要素が指定したサンプル値と等しいか。 |
map_same, map_same_to | 結果の型に Eq | 写像した配列に same と same_to を適用します。 |
clamp | Compare | 値を min から max までの閉区間に制限します。 |
is_between | Compare | 値が min から max までの閉区間にあるか。 |
インターフェースファイル pkg.generated.mbti がシグネチャの正式な一覧で、生成された API ドキュメントは mooncakes.io にあります。
モジュール
パッケージ Luna-Flow/luna-utils には二つのソースファイルがあり、このマニュアルではそれぞれを一つのモジュールとして説明します。
array_utilsはsrc/array_utils.mbtにあり、配列に対する関数(総和、最大値と最小値、検索、反転、一様性の判定)を収めています。API リファレンス、設計ノート、チュートリアルを参照してください。comparisonはsrc/comparison.mbtにあり、値を閉区間と比較するclampとis_betweenを収めています。API リファレンス、設計ノート、チュートリアルを参照してください。
コントリビュート
コードスタイル、命名、コミット、レビューの規則は貢献ガイドラインにあります。