FastElementSequence

পাবলিক ফাইনাল ক্লাস FastElementSequence

একটি অনুক্রম একই NdArray দৃষ্টান্ত পুনর্ব্যবহার করে যখন এর উপাদানগুলি পুনরাবৃত্তি করে

পাবলিক কনস্ট্রাক্টর

FastElementSequence ( AbstractNdArray <T, U> ndArray, int dimensionIdx, U উপাদান, DataBufferWindow <?> elementWindow)

পাবলিক পদ্ধতি

NdArraySequence <U>
টুকরা ()
প্রতিটি উপাদানকে একটি নতুন স্লাইস হিসাবে ফেরত দেয়।
অকার্যকর
প্রতিটি সূচকের জন্য (দ্বিভোক্তা<long[], U> ভোক্তা)
পুনরাবৃত্তিকারী<U>

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

পাবলিক কনস্ট্রাক্টর

সর্বজনীন FastElementSequence ( AbstractNdArray <T, U> ndArray, int dimensionIdx, U উপাদান, DataBufferWindow <?> elementWindow)

পাবলিক পদ্ধতি

পাবলিক NdArraySequence <U> asSlices ()

প্রতিটি উপাদানকে একটি নতুন স্লাইস হিসাবে ফেরত দেয়।

প্রচলিত জাভা সংগ্রহের বিপরীতে, একটি NdArraySequence এর উপাদানগুলি ক্ষণস্থায়ী, অর্থাৎ প্রতিটি পুনরাবৃত্তির জন্য নতুন NdArray উদাহরণ বরাদ্দ করা হয়। কর্মক্ষমতা উন্নত করতে, DataBufferWindow ব্যবহার করে এই অনুক্রমের সমস্ত উপাদান দেখতে একই উদাহরণ পুনর্ব্যবহৃত করা যেতে পারে।

যদিও কিছু ক্ষেত্রে, ফিরে আসা প্রতিটি উপাদান আসল অ্যারের একটি নতুন স্লাইস তা নিশ্চিত করার জন্য এই ধরনের অপ্টিমাইজেশনগুলি অক্ষম করা বাঞ্ছনীয় হতে পারে। উদাহরণস্বরূপ, যদি পরিদর্শন করা এক বা একাধিক উপাদান অবশ্যই ক্রম পুনরাবৃত্তির সুযোগের বাইরে থাকতে হবে, asSlices() নিশ্চিত করে যে ক্রম দ্বারা প্রত্যাবর্তিত সমস্ত উপাদান অনন্য উদাহরণ।

final List<IntNdArray> vectors = new ArrayList<>();
     IntNdArray matrix = NdArrays.ofInts(Shape.of(6, 6));
     ndArray.elements(0).forEach(e -> vectors::add);  // Not safe, as `e` might always be the same recycled instance
     ndArray.elements(0).asSlices().forEach(e -> vectors::add);  // Safe, each `e` is a distinct NdArray instance
 

রিটার্নস
  • একটি ক্রম যা প্রতিটি উপাদানকে একটি নতুন স্লাইস হিসাবে পুনরাবৃত্তি করে

EachIndexed (BiConsumer<long[], U> ভোক্তার জন্য সর্বজনীন শূন্যতা )

সর্বজনীন পুনরাবৃত্তিকারী<U> পুনরাবৃত্তিকারী ()