Raccolta

extension Collection
extension Collection where Element: Collatable
  • Restituisce una vista di questa raccolta con gli elementi riordinati in modo tale che l'elemento nella posizione specificata finisca per primo.

    La sequenza successiva della raccolta fino a i viene spostata a dopo la sequenza successiva che inizia da i . Per il resto l'ordine degli elementi all'interno di ciascuna partizione rimane invariato.

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

    Dichiarazione

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

    Parametri

    i

    La posizione nella raccolta che dovrebbe essere la prima nel risultato. i essere un indice valido della raccolta.

    Valore di ritorno

    Una vista ruotata sugli elementi di questa raccolta, in modo che l'elemento i sia il primo.

  • Dichiarazione

    func stablyPartitioned(
      isSuffixElement p: (Element) -> Bool
    ) -> [Element]
  • Restituisce l'indice del primo elemento della raccolta che corrisponde al predicato.

    La raccolta deve essere già partizionata in base al predicato, come se self.partition(by: predicate) fosse già stato chiamato.

    • Efficienza: al massimo log(N) invocazioni di predicate , dove N è la lunghezza di self . Al massimo log(N) operazioni di compensazione dell'indice se self è conforme a RandomAccessCollection ; al massimo N tali operazioni altrimenti.

    Dichiarazione

    func partitionPoint(
      where predicate: (Element) throws -> Bool
    ) rethrows -> Index
  • Restituisce self.map(transform) , calcolato in parallelo su blocchi di self di dimensione minBatchSize o minBatchSize + 1 .

    Richiede

    transform è sicura da chiamare da più thread.

    Dichiarazione

    func concurrentMap<B>(
      minBatchSize: Int = 1,
      _ transform: (Element) -> B
    ) -> [B]
  • Restituisce una raccolta di elementi di self nelle posizioni e nell'ordine specificato dalla selection senza leggere gli elementi di nessuna delle raccolte.

    Complessità

    O(1)

    Dichiarazione

    public func sampled<Selection: Collection>(at selection: Selection)
      -> Sampling<Self, Selection>
  • Restituisce le sezioni di self non sovrapposte più lunghe, a partire dal primo elemento, avente una lunghezza massima pari a batchSize .

    Dichiarazione

    public func inBatches(of batchSize: Int) -> Slices<Self>
  • Restituisce l' n posizione in self .

    Dichiarazione

    func index(atOffset n: Int) -> Index
Disponibile dove "Elemento": "Collatable".
  • Il risultato della raccolta degli elementi del self .

    Dichiarazione

    public var collated: Element { get }
  • Restituisce gli elementi di self , riempiti alla forma massima con padValue e raccolti.

    Dichiarazione

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

    Parametri

    atStart

    aggiunge il riempimento all'inizio se questo è true e alla fine altrimenti. Il valore predefinito è false .

,
extension Collection
extension Collection where Element: Collatable
  • Restituisce una vista di questa raccolta con gli elementi riordinati in modo tale che l'elemento nella posizione specificata finisca per primo.

    La sequenza successiva della raccolta fino a i viene spostata a dopo la sequenza successiva che inizia da i . Per il resto l'ordine degli elementi all'interno di ciascuna partizione rimane invariato.

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

    Dichiarazione

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

    Parametri

    i

    La posizione nella raccolta che dovrebbe essere la prima nel risultato. i essere un indice valido della raccolta.

    Valore di ritorno

    Una vista ruotata sugli elementi di questa raccolta, in modo che l'elemento i sia il primo.

  • Dichiarazione

    func stablyPartitioned(
      isSuffixElement p: (Element) -> Bool
    ) -> [Element]
  • Restituisce l'indice del primo elemento della raccolta che corrisponde al predicato.

    La raccolta deve essere già partizionata in base al predicato, come se self.partition(by: predicate) fosse già stato chiamato.

    • Efficienza: al massimo log(N) invocazioni di predicate , dove N è la lunghezza di self . Al massimo log(N) operazioni di compensazione dell'indice se self è conforme a RandomAccessCollection ; al massimo N tali operazioni altrimenti.

    Dichiarazione

    func partitionPoint(
      where predicate: (Element) throws -> Bool
    ) rethrows -> Index
  • Restituisce self.map(transform) , calcolato in parallelo su blocchi di self di dimensione minBatchSize o minBatchSize + 1 .

    Richiede

    transform è sicura da chiamare da più thread.

    Dichiarazione

    func concurrentMap<B>(
      minBatchSize: Int = 1,
      _ transform: (Element) -> B
    ) -> [B]
  • Restituisce una raccolta di elementi di self nelle posizioni e nell'ordine specificato dalla selection senza leggere gli elementi di nessuna delle raccolte.

    Complessità

    O(1)

    Dichiarazione

    public func sampled<Selection: Collection>(at selection: Selection)
      -> Sampling<Self, Selection>
  • Restituisce le sezioni di self non sovrapposte più lunghe, a partire dal primo elemento, avente una lunghezza massima pari a batchSize .

    Dichiarazione

    public func inBatches(of batchSize: Int) -> Slices<Self>
  • Restituisce l' n posizione in self .

    Dichiarazione

    func index(atOffset n: Int) -> Index
Disponibile dove "Elemento": "Collatable".
  • Il risultato della raccolta degli elementi del self .

    Dichiarazione

    public var collated: Element { get }
  • Restituisce gli elementi di self , riempiti alla forma massima con padValue e raccolti.

    Dichiarazione

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

    Parametri

    atStart

    aggiunge il riempimento all'inizio se questo è true e alla fine altrimenti. Il valore predefinito è false .