Koleksiyon

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
  • minBatchSize veya minBatchSize + 1 boyutundaki self parçaları üzerinde paralel olarak hesaplanan self.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ırayla self öğ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 sahip self öğesinin üst üste binmeyen en uzun dilimlerini döndürür.

    beyan

    public func inBatches(of batchSize: Int) -> Slices<Self>
  • self içindeki n konumu döndürür.

    beyan

    func index(atOffset n: Int) -> Index
'Öğe': 'Harmanlanabilir' olduğunda kullanılabilir
  • 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ğer false .