extension Collection
extension Collection where Element: Collatable
Devuelve una vista de esta colección con los elementos reordenados de manera que el elemento en la posición dada termine primero.
La subsecuencia de la colección hasta
i
se desplaza a después de la subsecuencia a partir dei
. El orden de los elementos dentro de cada partición no cambia.let a = [10, 20, 30, 40, 50, 60, 70] let r = a.rotated(shiftingToStart: 3) // r.elementsEqual([40, 50, 60, 70, 10, 20, 30])
Declaración
func rotated(shiftingToStart i: Index) -> RotatedCollection<Self>
Parámetros
i
La posición en la colección que debería ser la primera en el resultado.
i
debe ser un índice válido de la colección.Valor devuelto
Una vista girada en los elementos de esta colección, de modo que el elemento en
i
es primero.Declaración
func stablyPartitioned( isSuffixElement p: (Element) -> Bool ) -> [Element]
Devuelve el índice del primer elemento de la colección que coincide con el predicado.
La colección ya debe ser dividida de acuerdo con el predicado, como si
self.partition(by: predicate)
ya había sido llamado.- Eficacia: En la mayoría log (N) invocaciones de
predicate
, donde N es la longitud delself
. A lo sumo log (N) índice de operaciones si la compensación deself
ajusta aRandomAccessCollection
; como máximo N operaciones de este tipo en caso contrario.
Declaración
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- Eficacia: En la mayoría log (N) invocaciones de
Las devoluciones
self.map(transform)
, computado en paralelo en trozos de tamaño de autominBatchSize
ominBatchSize + 1
.Requiere
transform
es seguro llamar desde varios subprocesos.Declaración
func concurrentMap<B>( minBatchSize: Int = 1, _ transform: (Element) -> B ) -> [B]
Devuelve una colección de elementos de
self
en las posiciones y en el orden especificado porselection
sin necesidad de leer los elementos de cualquiera de colección.Complejidad
O (1)Declaración
public func sampled<Selection: Collection>(at selection: Selection) -> Sampling<Self, Selection>
Devuelve el más largo que no se solapan rebanadas de
self
, comenzando con su primer elemento, que tienen una longitud máxima debatchSize
.Declaración
public func inBatches(of batchSize: Int) -> Slices<Self>
Devuelve el
n
º posición enself
.Declaración
func index(atOffset n: Int) -> Index
El resultado del cotejo de los elementos del
self
.Declaración
public var collated: Element { get }
Devuelve los elementos de
self
, acolchado en forma máxima conpadValue
y estudiada.Declaración
public func paddedAndCollated<Scalar: Numeric>( with padValue: Scalar, atStart: Bool = false ) -> Element where Element == Tensor<Scalar>
Parámetros
atStart
agrega el relleno al principio si esto es
true
y el extremo contrario. El valor por defecto esfalse
.