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) invocations של
predicate
, כאשר N הוא אורךself
. לכל היותר log(N) פעולות קיזוז אינדקס אםself
תואם ל-RandomAccessCollection
; לכל היותר N פעולות כאלה אחרת.
הַצהָרָה
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- יעילות: לכל היותר log(N) invocations של
מחזירה
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
.