Colección

extension Collection
extension Collection where Element: Collatable
  • Devuelve una vista de esta colección con los elementos reordenados de modo que el elemento en la posición dada termine primero.

    La subsecuencia de la colección hasta i se desplaza después de la subsecuencia que comienza en i . Por lo demás, 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 ser un índice válido de la colección.

    Valor de retorno

    Una vista rotada de los elementos de esta colección, de modo que el elemento en i sea el 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 estar particionada según el predicado, como si ya se hubiera llamado self.partition(by: predicate) .

    • Eficiencia: como máximo, log(N) invocaciones de predicate , donde N es la longitud de self . Como máximo, operaciones de compensación de índice log(N) si self se ajusta a RandomAccessCollection ; en caso contrario, como máximo N operaciones de este tipo.

    Declaración

    func partitionPoint(
      where predicate: (Element) throws -> Bool
    ) rethrows -> Index
  • Devuelve self.map(transform) , calculado en paralelo en fragmentos de self de tamaño minBatchSize o minBatchSize + 1 .

    Requiere

    Es seguro llamar transform 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 por selection sin leer los elementos de ninguna de las colecciones.

    Complejidad

    O(1)

    Declaración

    public func sampled<Selection: Collection>(at selection: Selection)
      -> Sampling<Self, Selection>
  • Devuelve las porciones de self más largas que no se superponen, comenzando con su primer elemento, con una longitud máxima de batchSize .

    Declaración

    public func inBatches(of batchSize: Int) -> Slices<Self>
  • Devuelve la n posición en self .

    Declaración

    func index(atOffset n: Int) -> Index
Disponible donde `Elemento`: `Colatable`
  • El resultado de cotejar los elementos del self .

    Declaración

    public var collated: Element { get }
  • Devuelve los elementos de self , rellenados a su forma máxima con padValue y cotejados.

    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 al final en caso contrario. El valor predeterminado es false .