コレクション

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>
  • selfn番目の位置を返します。

    宣言

    func index(atOffset n: Int) -> Index
`Element`: `Collat​​able` で利用可能
  • 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です。