คอลเล็กชัน

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
  • ส่งคืน 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