extension Collection
extension Collection where Element: Collatable
Bu koleksiyonun, verilen konumdaki öğe ilk önce bitecek şekilde yeniden sıralanmış öğelerle birlikte bir görünümünü döndürür.
Koleksiyonun
i
kadar olan alt dizisi,i
başlayan alt diziden sonraya kaydırılır. Aksi takdirde her bölüm içindeki öğelerin sırası değişmez.let a = [10, 20, 30, 40, 50, 60, 70] let r = a.rotated(shiftingToStart: 3) // r.elementsEqual([40, 50, 60, 70, 10, 20, 30])
beyan
func rotated(shiftingToStart i: Index) -> RotatedCollection<Self>
Parametreler
i
Koleksiyonda sonuçta ilk sırada olması gereken konum. koleksiyonun geçerli bir dizini
i
.Geri dönüş değeri
Bu koleksiyonun öğelerinin,
i
öğe ilk sırada olacak şekilde döndürülmüş görünümü.beyan
func stablyPartitioned( isSuffixElement p: (Element) -> Bool ) -> [Element]
Koleksiyondaki yüklemle eşleşen ilk öğenin dizinini döndürür.
Koleksiyon, sanki
self.partition(by: predicate)
zaten çağrılmış gibi, yüklemlere göre zaten bölümlenmiş olmalıdır.- Verimlilik:
predicate
en fazla log(N) çağrılması; burada N,self
uzunluğudur.self
RandomAccessCollection
ile uyumluysa çoğu log(N) dizin dengeleme işleminde; aksi halde en fazla N bu tür işlemler.
beyan
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- Verimlilik:
minBatchSize
veyaminBatchSize + 1
boyutundaki self parçaları üzerinde paralel olarak hesaplananself.map(transform)
döndürür.Gereklilikler
transform
birden fazla iş parçacığından çağrılması güvenlidir.beyan
func concurrentMap<B>( minBatchSize: Int = 1, _ transform: (Element) -> B ) -> [B]
Her iki koleksiyonun öğelerini okumadan,
selection
belirtilen konumlarda ve sıraylaself
öğelerinin bir koleksiyonunu döndürür.Karmaşıklık
Ç(1)beyan
public func sampled<Selection: Collection>(at selection: Selection) -> Sampling<Self, Selection>
İlk öğesinden başlayarak, maksimum
batchSize
uzunluğuna sahipself
öğesinin üst üste binmeyen en uzun dilimlerini döndürür.beyan
public func inBatches(of batchSize: Int) -> Slices<Self>
self
içindekin
konumu döndürür.beyan
func index(atOffset n: Int) -> Index
self
öğelerinin harmanlanmasının sonucu.beyan
public var collated: Element { get }
padValue
ile maksimum şekle doldurulmuş ve harmanlanmışself
öğelerini döndürür.beyan
public func paddedAndCollated<Scalar: Numeric>( with padValue: Scalar, atStart: Bool = false ) -> Element where Element == Tensor<Scalar>
Parametreler
atStart
bu
true
başlangıca, aksi takdirde sonuna dolgu eklenir. Varsayılan değerfalse
.