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 darii
. 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 panjangself
. Pada sebagian besar operasi penyeimbangan indeks log(N) jikaself
sesuai denganRandomAccessCollection
; paling banyak N operasi seperti itu sebaliknya.
Pernyataan
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- Efisiensi: Paling banyak log(N) pemanggilan
Mengembalikan
self.map(transform)
, dihitung secara paralel pada potongan self berukuranminBatchSize
atauminBatchSize + 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 melaluiselection
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 maksimumbatchSize
.Pernyataan
public func inBatches(of batchSize: Int) -> Slices<Self>
Mengembalikan posisi
n
diself
.Pernyataan
func index(atOffset n: Int) -> Index
Hasil menyusun unsur-unsur
self
.Pernyataan
public var collated: Element { get }
Mengembalikan elemen
self
, yang diisi ke bentuk maksimal denganpadValue
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 adalahfalse
.