Coleção

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 em i . 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 de self . No máximo log(N) operações de compensação de índice se self estiver em conformidade com RandomAccessCollection ; no máximo N tais operações caso contrário.

    Declaração

    func partitionPoint(
      where predicate: (Element) throws -> Bool
    ) rethrows -> Index
  • Retorna self.map(transform) , calculado em paralelo em pedaços de self de tamanho minBatchSize ou minBatchSize + 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 pela selection , 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 de batchSize .

    Declaração

    public func inBatches(of batchSize: Int) -> Slices<Self>
  • Retorna a n posição em self .

    Declaração

    func index(atOffset n: Int) -> Index
Disponível onde `Element`: `Collatable`
  • 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 com padValue 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 .