extension Collection
extension Collection where Element: Collatable
指定された位置にある要素が最初になるように、要素が並べ替えられたこのコレクションのビューを返します。
i
までのコレクションのサブシーケンスは、i
から始まるサブシーケンスの後にシフトされます。それ以外の場合、各パーティション内の要素の順序は変更されません。let a = [10, 20, 30, 40, 50, 60, 70] let r = a.rotated(shiftingToStart: 3) // r.elementsEqual([40, 50, 60, 70, 10, 20, 30])
宣言
func rotated(shiftingToStart i: Index) -> RotatedCollection<Self>
パラメーター
i
結果の最初に配置されるコレクション内の位置。
i
コレクションの有効なインデックスでなければなりません。戻り値
i
の要素が最初になるように、このコレクションの要素を回転したビュー。宣言
func stablyPartitioned( isSuffixElement p: (Element) -> Bool ) -> [Element]
述語に一致するコレクション内の最初の要素のインデックスを返します。
self.partition(by: predicate)
すでに呼び出されているかのように、コレクションは述語に従ってすでにパーティション化されている必要があります。- 効率:
predicate
の最大 log(N) 回の呼び出し (N はself
の長さ)。self
RandomAccessCollection
に準拠している場合、インデックス オフセット操作は最大でも log(N) 回です。それ以外の場合、そのような操作は最大でも N 個です。
宣言
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- 効率:
サイズ
minBatchSize
またはminBatchSize + 1
の self のチャンクに対して並列計算されたself.map(transform)
を返します。必要
transform
複数のスレッドから安全に呼び出すことができます。宣言
func concurrentMap<B>( minBatchSize: Int = 1, _ transform: (Element) -> B ) -> [B]
どちらのコレクションの要素も読み取らずに、
selection
で指定された位置および順序でself
の要素のコレクションを返します。複雑
○(1)宣言
public func sampled<Selection: Collection>(at selection: Selection) -> Sampling<Self, Selection>
最初の要素から始まり、最大長が
batchSize
である、重複しないself
の最長のスライスを返します。宣言
public func inBatches(of batchSize: Int) -> Slices<Self>
self
のn
番目の位置を返します。宣言
func index(atOffset n: Int) -> Index
self
の要素を照合した結果。宣言
public var collated: Element { get }
self
の要素を、padValue
で最大の形状に埋め込み、照合して返します。宣言
public func paddedAndCollated<Scalar: Numeric>( with padValue: Scalar, atStart: Bool = false ) -> Element where Element == Tensor<Scalar>
パラメーター
atStart
これが
true
の場合は先頭にパディングを追加し、そうでない場合は末尾にパディングを追加します。デフォルト値はfalse
です。