ByteNdArray

পাবলিক ইন্টারফেস ByteNdArray
পরিচিত পরোক্ষ উপশ্রেণী

বাইটের একটি NdArray .

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

বিমূর্ত ByteNdArray
কপিটু ( NdArray <Byte> dst)
বিমূর্ত NdArraySequence < ByteNdArray >
উপাদান (int dimensionIdx)
একটি প্রদত্ত মাত্রায় সমস্ত উপাদানের একটি ক্রম দেখায়।
বিমূর্ত ByteNdArray
পান (দীর্ঘ... স্থানাঙ্ক)
প্রদত্ত স্থানাঙ্কে এই বিন্যাসের N-মাত্রিক উপাদান প্রদান করে।
বিমূর্ত বাইট
getByte (দীর্ঘ... স্থানাঙ্ক)
প্রদত্ত স্থানাঙ্কে পাওয়া স্কেলারের বাইট মান প্রদান করে।
বিমূর্ত বাইট
getObject (দীর্ঘ... স্থানাঙ্ক)
প্রদত্ত স্থানাঙ্কে পাওয়া স্কেলারের মান প্রদান করে।
বিমূর্ত ByteNdArray
বিমূর্ত ByteNdArray
বিমূর্ত NdArraySequence < ByteNdArray >
স্কেলার ()
এই অ্যারের সমস্ত স্কেলারের একটি ক্রম দেখায়।
বিমূর্ত ByteNdArray
সেট ( NdArray <Byte> src, দীর্ঘ... স্থানাঙ্ক)
বিমূর্ত ByteNdArray
সেটবাইট (বাইটের মান, দীর্ঘ... স্থানাঙ্ক)
প্রদত্ত স্থানাঙ্কে পাওয়া স্কেলারের বাইট মান নির্ধারণ করে।
বিমূর্ত ByteNdArray
setObject (বাইট মান, দীর্ঘ... স্থানাঙ্ক)
বিমূর্ত ByteNdArray
স্লাইস ( সূচক... সূচক)
প্রদত্ত সূচক নির্বাচকদের এক বা একাধিক মাত্রা ম্যাপ করে এই অ্যারের একটি বহুমাত্রিক দৃশ্য (বা স্লাইস) তৈরি করে।
বিমূর্ত ByteNdArray
বিমূর্ত ByteNdArray
লিখুন ( DataBuffer <Byte> src)

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

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

সর্বজনীন বিমূর্ত ByteNdArray copyTo ( NdArray <Byte> dst)

সর্বজনীন বিমূর্ত NdArraySequence < ByteNdArray > উপাদান (int dimensionIdx)

একটি প্রদত্ত মাত্রায় সমস্ত উপাদানের একটি ক্রম দেখায়।

যৌক্তিকভাবে, N-মাত্রিক বিন্যাস একটি একক ভেক্টরে সমতল করা যেতে পারে, যেখানে (n - 1) তম উপাদানের স্কেলারগুলি (n) তম উপাদানের আগে থাকে, মোট size() মানের জন্য।

উদাহরণস্বরূপ, [x, y] অক্ষগুলিতে একটি nxm ম্যাট্রিক্স দেওয়া হলে, উপাদানগুলিকে নিম্নলিখিত ক্রমে পুনরাবৃত্তি করা হয়:

x 0 y 0 , x 0 y 1 , ..., x 0 y m-1 , x 1 y 0 , x 1 y 1 , ..., x n-1 y m-1

প্রত্যাবর্তিত ক্রমটি প্রতিটি উপাদান দেখার জন্য পুনরাবৃত্তি করা যেতে পারে, হয় forEach(Consumer) অথবা forEachIndexed(BiConsumer) কল করে।

// Iterate matrix for initializing each of its vectors
    matrixOfFloats.elements(0).forEach(v -> {
      v.set(vector(1.0f, 2.0f, 3.0f));
    );

    // Iterate a vector for reading each of its scalar
    vectorOfFloats.scalars().forEachIdx((coords, s) -> {
      System.out.println("Value " + s.getFloat() + " found at " + coords);
    });
 }

পরামিতি
dimensionIdx মাত্রার সূচক
রিটার্নস
  • একটি NdArray ক্রম

সর্বজনীন বিমূর্ত ByteNdArray পান (দীর্ঘ... স্থানাঙ্ক)

প্রদত্ত স্থানাঙ্কে এই বিন্যাসের N-মাত্রিক উপাদান প্রদান করে।

এই অ্যারের যেকোনো মাত্রার উপাদান পুনরুদ্ধার করা যেতে পারে। উদাহরণস্বরূপ, যদি স্থানাঙ্কের সংখ্যা এই অ্যারের মাত্রার সংখ্যার সমান হয়, তাহলে একটি র‌্যাঙ্ক-0 (স্ক্যালার) অ্যারে দেওয়া হবে, যে মানটি তখন `array.getObject()` কল করে পাওয়া যেতে পারে।

প্রত্যাবর্তিত উপাদানগুলিতে প্রয়োগ করা যে কোনও পরিবর্তন এই অ্যারের ডেটাকেও প্রভাবিত করে, কারণ এতে কোনও অনুলিপি জড়িত নেই।

মনে রাখবেন যে এই পদ্ধতিটি চালু করা এই অ্যারেটিকে একক স্কেলারে স্লাইস করার একটি সমতুল্য এবং আরও কার্যকর উপায়, যেমন array.get(x, y, z) হল array.slice(at(x), at(y), at(z))

পরামিতি
স্থানাঙ্ক অ্যাক্সেস করার জন্য উপাদানের স্থানাঙ্ক, কেউ এই অ্যারে ফিরিয়ে দেবে না
রিটার্নস
  • এই সূচকের উপাদান

পাবলিক বিমূর্ত বাইট getByte (দীর্ঘ... স্থানাঙ্ক)

প্রদত্ত স্থানাঙ্কে পাওয়া স্কেলারের বাইট মান প্রদান করে।

স্কেলার এলিমেন্ট অ্যাক্সেস করতে, প্রদত্ত স্থানাঙ্কের সংখ্যা অবশ্যই এই অ্যারের মাত্রার সংখ্যার সমান হতে হবে (অর্থাৎ এর র‍্যাঙ্ক)। যেমন:

ByteNdArray matrix = NdArrays.ofBytes(shape(2, 2));  // matrix rank = 2
  matrix.getByte(0, 1);  // succeeds, returns 0
  matrix.getByte(0);  // throws IllegalRankException

  ByteNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.getByte();  // succeeds, returns 0
 

পরামিতি
স্থানাঙ্ক সমাধানের জন্য স্কেলারের স্থানাঙ্ক
রিটার্নস
  • যে স্কেলার মান
নিক্ষেপ করে
IndexOutOfBoundsException যদি কিছু স্থানাঙ্ক তাদের নিজ নিজ মাত্রার সীমার বাইরে থাকে
অবৈধ র‌্যাঙ্ক ব্যতিক্রম যদি স্থানাঙ্কের সংখ্যা একটি স্কেলার উপাদান অ্যাক্সেস করার জন্য যথেষ্ট না হয়

সর্বজনীন বিমূর্ত বাইট getObject (দীর্ঘ... স্থানাঙ্ক)

প্রদত্ত স্থানাঙ্কে পাওয়া স্কেলারের মান প্রদান করে।

স্কেলার এলিমেন্ট অ্যাক্সেস করতে, প্রদত্ত স্থানাঙ্কের সংখ্যা অবশ্যই এই অ্যারের মাত্রার সংখ্যার সমান হতে হবে (অর্থাৎ এর র‍্যাঙ্ক)। যেমন:

FloatNdArray matrix = NdArrays.ofFloats(shape(2, 2));  // matrix rank = 2
  matrix.getObject(0, 1);  // succeeds, returns 0.0f
  matrix.getObject(0);  // throws IllegalRankException

  FloatNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.getObject();  // succeeds, returns 0.0f
 
দ্রষ্টব্য: যদি এই অ্যারেটি একটি আদিম প্রকারের মান সঞ্চয় করে, তবে সেই ধরণের জন্য সাবক্লাসে বিশেষ পদ্ধতির ব্যবহার পছন্দ করুন। উদাহরণস্বরূপ, floatArray.getFloat(0); .

পরামিতি
স্থানাঙ্ক সমাধানের জন্য স্কেলারের স্থানাঙ্ক
রিটার্নস
  • যে স্কেলার মান

সর্বজনীন বিমূর্ত ByteNdArray পড়া ( DataBuffer <Byte> dst)

পাবলিক বিমূর্ত ByteNdArray রিড ( ByteDataBuffer dst)

সর্বজনীন বিমূর্ত NdArraySequence < ByteNdArray > স্কেলার ()

এই অ্যারের সমস্ত স্কেলারের একটি ক্রম দেখায়।

এটি কল elements(shape().numDimensions() - 1)

রিটার্নস
  • একটি NdArray ক্রম

সর্বজনীন বিমূর্ত ByteNdArray সেট ( NdArray <Byte> src, দীর্ঘ... স্থানাঙ্ক)

সর্বজনীন বিমূর্ত ByteNdArray setByte (বাইটের মান, দীর্ঘ... স্থানাঙ্ক)

প্রদত্ত স্থানাঙ্কে পাওয়া স্কেলারের বাইট মান নির্ধারণ করে।

স্কেলার এলিমেন্ট অ্যাক্সেস করতে, প্রদত্ত স্থানাঙ্কের সংখ্যা অবশ্যই এই অ্যারের মাত্রার সংখ্যার সমান হতে হবে (অর্থাৎ এর র‍্যাঙ্ক)। যেমন:

ByteNdArray matrix = NdArrays.ofBytes(shape(2, 2));  // matrix rank = 2
  matrix.setByte(10, 0, 1);  // succeeds
  matrix.setByte(10, 0);  // throws IllegalRankException

  ByteNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.setByte(10);  // succeeds
 

পরামিতি
মান বরাদ্দ করার মান
স্থানাঙ্ক বরাদ্দ করার জন্য স্কেলারের স্থানাঙ্ক
রিটার্নস
  • এই অ্যারে
নিক্ষেপ করে
IndexOutOfBoundsException যদি কিছু স্থানাঙ্ক তাদের নিজ নিজ মাত্রার সীমার বাইরে থাকে
অবৈধ র‌্যাঙ্ক ব্যতিক্রম যদি স্থানাঙ্কের সংখ্যা একটি স্কেলার উপাদান অ্যাক্সেস করার জন্য যথেষ্ট না হয়

সর্বজনীন বিমূর্ত ByteNdArray setObject (বাইটের মান, দীর্ঘ... স্থানাঙ্ক)

পাবলিক বিমূর্ত ByteNdArray স্লাইস ( সূচক... সূচক)

প্রদত্ত সূচক নির্বাচকদের এক বা একাধিক মাত্রা ম্যাপ করে এই অ্যারের একটি বহুমাত্রিক দৃশ্য (বা স্লাইস) তৈরি করে।

স্লাইসগুলি এর যেকোন অক্ষে একটি N-মাত্রিক বিন্যাস অতিক্রম করতে এবং/অথবা শুধুমাত্র আগ্রহের উপাদানগুলিকে ফিল্টার করতে দেয়। উদাহরণস্বরূপ, [x, y] অক্ষের একটি প্রদত্ত ম্যাট্রিক্সের জন্য, সমস্ত x এর জন্য y=0 এ উপাদানগুলিকে পুনরাবৃত্তি করা সম্ভব।

প্রত্যাবর্তিত স্লাইসে প্রয়োগ করা যেকোনো পরিবর্তন এই অ্যারের ডেটাকেও প্রভাবিত করে, কারণ এতে কোনো অনুলিপি জড়িত নেই।

ব্যবহারের উদাহরণ:

FloatNdArray matrix3d = NdArrays.ofFloats(shape(3, 2, 4));  // with [x, y, z] axes

    // Iterates elements on the x axis by preserving only the 3rd value on the z axis,
    // (i.e. [x, y, 2])
    matrix3d.slice(all(), all(), at(2)).elements(0).forEach(m -> {
      assertEquals(shape(2), m); // y=2, z=0 (scalar)
    );

    // Creates a slice that contains only the last element of the y axis and elements with an
    // odd `z` coordinate.
    FloatNdArray slice = matrix3d.slice(all(), at(1), odd());
    assertEquals(shape(3, 2), slice.shape());  // x=3, y=0 (scalar), z=2 (odd coordinates)

    // Iterates backward the elements on the x axis
    matrix3d.slice(flip()).elements(0).forEach(m -> {
      assertEquals(shape(2, 4), m);  // y=2, z=4
    });
 }

পরামিতি
সূচক প্রতি মাত্রা সূচক নির্বাচক, এই অ্যারের মাত্রা 0 থেকে শুরু করে।
রিটার্নস
  • সূচক নির্বাচনের ফলে উপাদান

সর্বজনীন বিমূর্ত ByteNdArray লিখুন ( ByteDataBuffer src)

সর্বজনীন বিমূর্ত ByteNdArray লিখুন ( DataBuffer <Byte> src)