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)
بالفعل.- الكفاءة: في معظم استدعاءات سجل (N)
predicate
، حيث N هو طولself
. في معظم عمليات تعويض فهرس السجل (N) إذاself
تتوافق معRandomAccessCollection
؛ على الأكثر N مثل هذه العمليات خلاف ذلك.
تصريح
func partitionPoint( where predicate: (Element) throws -> Bool ) rethrows -> Index
- الكفاءة: في معظم استدعاءات سجل (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
.