extension Collection
extension Collection where Element: Collatable
Trả về chế độ xem của bộ sưu tập này với các phần tử được sắp xếp lại sao cho phần tử ở vị trí nhất định sẽ kết thúc trước.
Chuỗi con của bộ sưu tập lên tới
i
được chuyển sang sau chuỗi con bắt đầu tạii
. Thứ tự của các phần tử trong mỗi phân vùng không thay đổ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])
Tuyên ngôn
func rotated(shiftingToStart i: Index) -> RotatedCollection<Self>
Thông số
i
Vị trí trong bộ sưu tập phải là vị trí đầu tiên trong kết quả.
i
phải là một chỉ mục hợp lệ của bộ sưu tập.Giá trị trả về
Chế độ xem được xoay trên các phần tử của bộ sưu tập này, sao cho phần tử tại
i
là đầu tiên.Tuyên ngôn
func stablyPartitioned( isSuffixElement p: (Element) -> Bool ) -> [Element]
Trả về chỉ mục của phần tử đầu tiên trong bộ sưu tập khớp với vị từ.
Bộ sưu tập phải được phân vùng theo vị ngữ, như thể
self.partition(by: predicate)
đã được gọi.- Hiệu quả: Hầu hết các lệnh gọi log(N) của
predicate
, trong đó N là độ dài củaself
. Hầu hết các hoạt động bù đắp chỉ mục log(N) nếuself
tuân thủRandomAccessCollection
; nhiều nhất N hoạt động như vậy nếu không.
Tuyên ngôn
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- Hiệu quả: Hầu hết các lệnh gọi log(N) của
Trả về
self.map(transform)
, được tính song song trên các khối có cùng kích thướcminBatchSize
hoặcminBatchSize + 1
.Đòi hỏi
transform
là an toàn để gọi từ nhiều luồng.Tuyên ngôn
func concurrentMap<B>( minBatchSize: Int = 1, _ transform: (Element) -> B ) -> [B]
Trả về một tập hợp các phần tử của
self
tại các vị trí và theo thứ tự được chỉ định bởi phépselection
mà không cần đọc các phần tử của một trong hai bộ sưu tập.Độ phức tạp
O(1)Tuyên ngôn
public func sampled<Selection: Collection>(at selection: Selection) -> Sampling<Self, Selection>
Trả về các lát không chồng chéo dài nhất của
self
, bắt đầu với phần tử đầu tiên của nó, có độ dài tối đabatchSize
.Tuyên ngôn
public func inBatches(of batchSize: Int) -> Slices<Self>
Trả về vị trí
n
trongself
.Tuyên ngôn
func index(atOffset n: Int) -> Index
Kết quả của việc đối chiếu các phần tử của
self
.Tuyên ngôn
public var collated: Element { get }
Trả về các phần tử của
self
, được đệm về hình dạng tối đa vớipadValue
và được đối chiếu.Tuyên ngôn
public func paddedAndCollated<Scalar: Numeric>( with padValue: Scalar, atStart: Bool = false ) -> Element where Element == Tensor<Scalar>
Thông số
atStart
thêm phần đệm vào đầu nếu điều này
true
và phần cuối nếu ngược lại. Giá trị mặc định làfalse
.