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)
ถูกเรียกไปแล้ว- ประสิทธิภาพ: ที่การเรียกใช้ log(N) ส่วนใหญ่ของ
predicate
โดยที่ N คือความยาวของself
การดำเนินการออฟเซ็ตดัชนี log(N) ส่วนใหญ่หากself
สอดคล้องกับRandomAccessCollection
; อย่างมาก N การดำเนินการดังกล่าวเป็นอย่างอื่น
คำประกาศ
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- ประสิทธิภาพ: ที่การเรียกใช้ log(N) ส่วนใหญ่ของ
ส่งคืน
self.map(transform)
ซึ่งคำนวณแบบขนานบนชิ้นส่วนขนาดของตัวเองminBatchSize
หรือminBatchSize + 1
กำหนดให้มี
transform
สามารถโทรจากหลายเธรดได้อย่างปลอดภัยคำประกาศ
func concurrentMap<B>( minBatchSize: Int = 1, _ transform: (Element) -> B ) -> [B]
ส่งคืนคอลเลกชันองค์ประกอบของ
self
ที่ตำแหน่งและตามลำดับที่ระบุโดยselection
โดยไม่ต้องอ่านองค์ประกอบของคอลเลกชันใดคอลเลกชันหนึ่งความซับซ้อน
โอ(1)คำประกาศ
public func sampled<Selection: Collection>(at selection: Selection) -> Sampling<Self, Selection>
ส่งคืนส่วนที่ยาวที่สุดที่ไม่ทับซ้อนกันของ
self
โดยเริ่มจากองค์ประกอบแรก โดยมีความยาวสูงสุดเป็นbatchSize
คำประกาศ
public func inBatches(of batchSize: Int) -> Slices<Self>
ส่งกลับตำแหน่งที่
n
ในself
คำประกาศ
func index(atOffset n: Int) -> Index
ผลของการเรียงธาตุแห่ง
self
คำประกาศ
public var collated: Element { get }
ส่งคืนองค์ประกอบของ
self
, เสริมรูปร่างให้สูงสุดด้วยpadValue
และจัดเรียงคำประกาศ
public func paddedAndCollated<Scalar: Numeric>( with padValue: Scalar, atStart: Bool = false ) -> Element where Element == Tensor<Scalar>
พารามิเตอร์
atStart
เพิ่มช่องว่างภายในที่จุดเริ่มต้นหากเป็น
true
และจุดสิ้นสุดเป็นอย่างอื่น ค่าเริ่มต้นคือfalse