extension Collection
extension Collection where Element: Collatable
Retorna uma visão desta coleção com os elementos reordenados de forma que o elemento na posição determinada termine primeiro.
A subsequência da coleção até
i
é deslocada para depois da subsequência começando emi
. A ordem dos elementos dentro de cada partição permanece inalterada.let a = [10, 20, 30, 40, 50, 60, 70] let r = a.rotated(shiftingToStart: 3) // r.elementsEqual([40, 50, 60, 70, 10, 20, 30])
Declaração
func rotated(shiftingToStart i: Index) -> RotatedCollection<Self>
Parâmetros
i
A posição na coleção que deve ser a primeira no resultado.
i
ser um índice válido da coleção.Valor de retorno
Uma visão rotacionada dos elementos desta coleção, de modo que o elemento em
i
seja o primeiro.Declaração
func stablyPartitioned( isSuffixElement p: (Element) -> Bool ) -> [Element]
Retorna o índice do primeiro elemento da coleção que corresponde ao predicado.
A coleção já deve estar particionada de acordo com o predicado, como se
self.partition(by: predicate)
já tivesse sido chamado.- Eficiência: No máximo log(N) invocações de
predicate
, onde N é o comprimento deself
. No máximo log(N) operações de compensação de índice seself
estiver em conformidade comRandomAccessCollection
; no máximo N tais operações caso contrário.
Declaração
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- Eficiência: No máximo log(N) invocações de
Retorna
self.map(transform)
, calculado em paralelo em pedaços de self de tamanhominBatchSize
ouminBatchSize + 1
.Requer
transform
é seguro para chamar de vários threads.Declaração
func concurrentMap<B>( minBatchSize: Int = 1, _ transform: (Element) -> B ) -> [B]
Retorna uma coleção de elementos de
self
nas posições e na ordem especificada pelaselection
, sem ler os elementos de nenhuma das coleções.Complexidade
O(1)Declaração
public func sampled<Selection: Collection>(at selection: Selection) -> Sampling<Self, Selection>
Retorna as fatias não sobrepostas mais longas de
self
, começando com seu primeiro elemento, tendo um comprimento máximo debatchSize
.Declaração
public func inBatches(of batchSize: Int) -> Slices<Self>
Retorna a
n
posição emself
.Declaração
func index(atOffset n: Int) -> Index
O resultado da comparação dos elementos de
self
.Declaração
public var collated: Element { get }
Retorna os elementos de
self
, preenchidos até a forma máxima compadValue
e agrupados.Declaração
public func paddedAndCollated<Scalar: Numeric>( with padValue: Scalar, atStart: Bool = false ) -> Element where Element == Tensor<Scalar>
Parâmetros
atStart
adiciona o preenchimento no início se isso for
true
e no final caso contrário. O valor padrão éfalse
.