컬렉션

extension Collection
extension Collection where Element: Collatable
  • 주어진 위치의 요소가 먼저 끝나도록 요소가 재정렬된 이 컬렉션의 뷰를 반환합니다.

    i 까지의 컬렉션의 하위 시퀀스는 i 에서 시작하는 하위 시퀀스 이후로 이동됩니다. 그렇지 않으면 각 파티션 내의 요소 순서는 변경되지 않습니다.

    let a = [10, 20, 30, 40, 50, 60, 70]
    let r = a.rotated(shiftingToStart: 3)
    // r.elementsEqual([40, 50, 60, 70, 10, 20, 30])
    

    선언

    func rotated(shiftingToStart i: Index) -> RotatedCollection<Self>

    매개변수

    i

    결과에서 첫 번째로 표시되어야 하는 컬렉션의 위치입니다. i 컬렉션의 유효한 인덱스여야 합니다.

    반환 값

    i 의 요소가 첫 번째가 되도록 이 컬렉션의 요소에 대한 회전된 보기입니다.

  • 선언

    func stablyPartitioned(
      isSuffixElement p: (Element) -> Bool
    ) -> [Element]
  • 조건자와 일치하는 컬렉션의 첫 번째 요소 인덱스를 반환합니다.

    마치 self.partition(by: predicate) 이미 호출된 것처럼 컬렉션은 이미 조건자에 따라 분할되어야 합니다.

    • 효율성: predicate 의 최대 log(N) 호출. 여기서 N은 self 의 길이입니다. self RandomAccessCollection 준수하는 경우 최대 log(N) 인덱스 오프셋 작업; 그렇지 않으면 최대 N개의 그러한 작업이 수행됩니다.

    선언

    func partitionPoint(
      where predicate: (Element) throws -> Bool
    ) rethrows -> Index
  • minBatchSize 또는 minBatchSize + 1 크기의 자체 청크에서 병렬로 계산된 self.map(transform) 반환합니다.

    필요하다

    transform 여러 스레드에서 호출해도 안전합니다.

    선언

    func concurrentMap<B>(
      minBatchSize: Int = 1,
      _ transform: (Element) -> B
    ) -> [B]
  • 두 컬렉션의 요소를 읽지 않고 selection 에 의해 지정된 위치와 순서로 self 요소 컬렉션을 반환합니다.

    복잡성

    오(1)

    선언

    public func sampled<Selection: Collection>(at selection: Selection)
      -> Sampling<Self, Selection>
  • self 의 겹치지 않는 가장 긴 조각을 반환합니다. 첫 번째 요소부터 시작하여 최대 길이는 batchSize 입니다.

    선언

    public func inBatches(of batchSize: Int) -> Slices<Self>
  • selfn 번째 위치를 반환합니다.

    선언

    func index(atOffset n: Int) -> Index
`요소`: `조합 가능`에서 사용 가능
  • self 의 요소를 대조한 결과입니다.

    선언

    public var collated: Element { get }
  • padValue 로 최대 모양으로 채워지고 대조된 self 의 요소를 반환합니다.

    선언

    public func paddedAndCollated<Scalar: Numeric>(
      with padValue: Scalar, atStart: Bool = false
    ) -> Element
    where Element == Tensor<Scalar>

    매개변수

    atStart

    이것이 true 이면 시작 부분에 패딩을 추가하고 그렇지 않으면 끝 부분에 패딩을 추가합니다. 기본값은 false 입니다.