Colección

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 de i . 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 del self . A lo sumo log (N) índice de operaciones si la compensación de self ajusta a RandomAccessCollection ; como máximo N operaciones de este tipo en caso contrario.

    Declaración

    func partitionPoint(
      where predicate: (Element) throws -> Bool
    ) rethrows -> Index
  • Las devoluciones self.map(transform) , computado en paralelo en trozos de tamaño de auto minBatchSize o minBatchSize + 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 por selection 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 de batchSize .

    Declaración

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

    Declaración

    func index(atOffset n: Int) -> Index

Disponible donde `Element`:` Collatable`

  • 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 con padValue 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 es false .