Collection

extension Collection
extension Collection where Element: Collatable
  • Mengembalikan tampilan koleksi ini dengan elemen yang disusun ulang sehingga elemen pada posisi tertentu berakhir terlebih dahulu.

    Urutan selanjutnya dari kumpulan hingga i digeser ke setelah urutan yang dimulai dari i . Urutan elemen dalam setiap partisi tidak berubah.

    let a = [10, 20, 30, 40, 50, 60, 70]
    let r = a.rotated(shiftingToStart: 3)
    // r.elementsEqual([40, 50, 60, 70, 10, 20, 30])
    

    Pernyataan

    func rotated(shiftingToStart i: Index) -> RotatedCollection<Self>

    Parameter

    i

    Posisi dalam koleksi yang harus menjadi hasil pertama. i harus menjadi indeks koleksi yang valid.

    Nilai Pengembalian

    Tampilan diputar pada elemen koleksi ini, sehingga elemen di i berada di urutan pertama.

  • Pernyataan

    func stablyPartitioned(
      isSuffixElement p: (Element) -> Bool
    ) -> [Element]
  • Mengembalikan indeks elemen pertama dalam koleksi yang cocok dengan predikat.

    Koleksinya harus sudah dipartisi sesuai predikatnya, seolah-olah self.partition(by: predicate) sudah dipanggil.

    • Efisiensi: Paling banyak log(N) pemanggilan predicate , dengan N adalah panjang self . Pada sebagian besar operasi penyeimbangan indeks log(N) jika self sesuai dengan RandomAccessCollection ; paling banyak N operasi seperti itu sebaliknya.

    Pernyataan

    func partitionPoint(
      where predicate: (Element) throws -> Bool
    ) rethrows -> Index
  • Mengembalikan self.map(transform) , dihitung secara paralel pada potongan self berukuran minBatchSize atau minBatchSize + 1 .

    Memerlukan

    transform aman untuk dipanggil dari banyak thread.

    Pernyataan

    func concurrentMap<B>(
      minBatchSize: Int = 1,
      _ transform: (Element) -> B
    ) -> [B]
  • Mengembalikan kumpulan elemen self pada posisi dan urutan yang ditentukan melalui selection tanpa membaca elemen koleksi mana pun.

    Kompleksitas

    HAI(1)

    Pernyataan

    public func sampled<Selection: Collection>(at selection: Selection)
      -> Sampling<Self, Selection>
  • Mengembalikan potongan self terpanjang yang tidak tumpang tindih, dimulai dengan elemen pertamanya, yang memiliki panjang maksimum batchSize .

    Pernyataan

    public func inBatches(of batchSize: Int) -> Slices<Self>
  • Mengembalikan posisi n di self .

    Pernyataan

    func index(atOffset n: Int) -> Index
Tersedia di mana `Elemen`: `Dapat Dikoleksi`
  • Hasil menyusun unsur-unsur self .

    Pernyataan

    public var collated: Element { get }
  • Mengembalikan elemen self , yang diisi ke bentuk maksimal dengan padValue dan disusun.

    Pernyataan

    public func paddedAndCollated<Scalar: Numeric>(
      with padValue: Scalar, atStart: Bool = false
    ) -> Element
    where Element == Tensor<Scalar>

    Parameter

    atStart

    menambahkan padding di awal jika ini true dan di akhir sebaliknya. Nilai defaultnya adalah false .