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>
self
의n
번째 위치를 반환합니다.선언
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
입니다.