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 dai
. 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 diself
. Al massimo log(N) operazioni di compensazione dell'indice seself
è conforme aRandomAccessCollection
; al massimo N tali operazioni altrimenti.
Dichiarazione
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- Efficienza: al massimo log(N) invocazioni di
Restituisce
self.map(transform)
, calcolato in parallelo su blocchi di self di dimensioneminBatchSize
ominBatchSize + 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 dallaselection
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 abatchSize
.Dichiarazione
public func inBatches(of batchSize: Int) -> Slices<Self>
Restituisce l'
n
posizione inself
.Dichiarazione
func index(atOffset n: Int) -> Index
Il risultato della raccolta degli elementi del
self
.Dichiarazione
public var collated: Element { get }
Restituisce gli elementi di
self
, riempiti alla forma massima conpadValue
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 dai
. 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 diself
. Al massimo log(N) operazioni di compensazione dell'indice seself
è conforme aRandomAccessCollection
; al massimo N tali operazioni altrimenti.
Dichiarazione
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- Efficienza: al massimo log(N) invocazioni di
Restituisce
self.map(transform)
, calcolato in parallelo su blocchi di self di dimensioneminBatchSize
ominBatchSize + 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 dallaselection
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 abatchSize
.Dichiarazione
public func inBatches(of batchSize: Int) -> Slices<Self>
Restituisce l'
n
posizione inself
.Dichiarazione
func index(atOffset n: Int) -> Index
Il risultato della raccolta degli elementi del
self
.Dichiarazione
public var collated: Element { get }
Restituisce gli elementi di
self
, riempiti alla forma massima conpadValue
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
.