איסוף

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 מבלי לקרוא את האלמנטים של אף אוסף.

    מוּרכָּבוּת

    O(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 .