زیر کلاس های غیر مستقیم شناخته شده |
NdArray
از longs.
روش های عمومی
LongNdArray انتزاعی | |
Abstract NdArraySequence < LongNdArray > | عناصر (int dimensionIdx) دنباله ای از همه عناصر را در یک بعد معین برمی گرداند. |
LongNdArray انتزاعی | دریافت (طولانی... مختصات) عنصر N بعدی این آرایه را در مختصات داده شده برمی گرداند. |
انتزاعی طولانی | getLong (طولانی... مختصات) مقدار طولانی اسکالر موجود در مختصات داده شده را برمیگرداند. |
چکیده طولانی | getObject (مختصات طولانی...) مقدار اسکالر موجود در مختصات داده شده را برمیگرداند. |
LongNdArray انتزاعی | خواندن ( DataBuffer <Long> dst) |
LongNdArray انتزاعی | خواندن ( LongDataBuffer dst) |
Abstract NdArraySequence < LongNdArray > | اسکالر () دنباله ای از تمام اسکالرها در این آرایه را برمی گرداند. |
LongNdArray انتزاعی | |
LongNdArray انتزاعی | setLong (مقدار طولانی، طولانی ... مختصات) مقدار طولانی اسکالر موجود در مختصات داده شده را اختصاص می دهد. |
LongNdArray انتزاعی | setObject (مقدار طولانی، طولانی ... مختصات) |
LongNdArray انتزاعی | |
LongNdArray انتزاعی | نوشتن ( LongDataBuffer src) |
LongNdArray انتزاعی | نوشتن ( DataBuffer <Long> src) |
روش های ارثی
روش های عمومی
چکیده عمومی NdArraySequence < LongNdArray > عناصر (int dimensionIdx)
دنباله ای از همه عناصر را در یک بعد معین برمی گرداند.
به طور منطقی، آرایه بعدی N را می توان در یک بردار واحد مسطح کرد، جایی که اسکالرهای عنصر (n - 1)
قبل از عنصر (n)
ام، برای کل مقادیر size()
می گیرند.
برای مثال، با توجه به یک ماتریس nxm
روی محورهای [x, y]
، عناصر به ترتیب زیر تکرار میشوند:
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
دریافت انتزاعی عمومی LongNdArray (مختصات طولانی...)
عنصر N بعدی این آرایه را در مختصات داده شده برمی گرداند.
عناصر هر یک از ابعاد این آرایه قابل بازیابی هستند. به عنوان مثال، اگر تعداد مختصات برابر با تعداد ابعاد این آرایه باشد، یک آرایه رتبه-0 (اسکالر) برگردانده می شود که با فراخوانی «array.getObject()» مقدار آن را می توان به دست آورد.
هر تغییری که در عناصر برگشتی اعمال شود، داده های این آرایه را نیز تحت تأثیر قرار می دهد، زیرا هیچ کپی در کار نیست.
توجه داشته باشید که فراخوانی این روش روشی معادل و کارآمدتر برای برش این آرایه بر روی یک اسکالر است، یعنی array.get(x, y, z)
برابر است با array.slice(at(x), at(y), at(z))
پارامترها
مختصات | مختصات عنصر برای دسترسی، هیچ یک این آرایه را بر نمی گرداند |
---|
برمی گرداند
- عنصر موجود در این شاخص
انتزاعی عمومی long getLong (مختصات طولانی...)
مقدار طولانی اسکالر موجود در مختصات داده شده را برمیگرداند.
برای دسترسی به عنصر اسکالر، تعداد مختصات ارائه شده باید با تعداد ابعاد این آرایه (یعنی رتبه آن) برابر باشد. به عنوان مثال:
LongNdArray matrix = NdArrays.ofLongs(shape(2, 2)); // matrix rank = 2
matrix.getLong(0, 1); // succeeds, returns 0L
matrix.getLong(0); // throws IllegalRankException
LongNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.getLong(); // succeeds, returns 0L
پارامترها
مختصات | مختصات اسکالر برای حل کردن |
---|
برمی گرداند
- ارزش آن اسکالر
پرتاب می کند
IndexOutOfBoundsException | اگر برخی از مختصات خارج از محدوده بعد مربوطه خود باشند |
---|---|
IllegalRankException | اگر تعداد مختصات برای دسترسی به یک عنصر اسکالر کافی نباشد |
چکیده عمومی Long 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);
. پارامترها
مختصات | مختصات اسکالر برای حل کردن |
---|
برمی گرداند
- ارزش آن اسکالر
چکیده عمومی NdArraySequence < LongNdArray > اسکالرها ()
دنباله ای از تمام اسکالرها در این آرایه را برمی گرداند.
این معادل فراخوانی elements(shape().numDimensions() - 1)
برمی گرداند
- یک دنباله
NdArray
خلاصه عمومی LongNdArray setLong (مقدار طولانی، طولانی ... مختصات)
مقدار طولانی اسکالر موجود در مختصات داده شده را اختصاص می دهد.
برای دسترسی به عنصر اسکالر، تعداد مختصات ارائه شده باید با تعداد ابعاد این آرایه (یعنی رتبه آن) برابر باشد. به عنوان مثال:
LongNdArray matrix = NdArrays.ofLongs(shape(2, 2)); // matrix rank = 2
matrix.setLong(10L, 0, 1); // succeeds
matrix.setLong(10L, 0); // throws IllegalRankException
LongNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.setLong(10L); // succeeds
پارامترها
ارزش | ارزش برای اختصاص دادن |
---|---|
مختصات | مختصات اسکالر برای تخصیص |
برمی گرداند
- این آرایه
پرتاب می کند
IndexOutOfBoundsException | اگر برخی از مختصات خارج از محدوده بعد مربوطه خود باشند |
---|---|
IllegalRankException | اگر تعداد مختصات برای دسترسی به یک عنصر اسکالر کافی نباشد |
برش LongNdArray انتزاعی عمومی ( شاخص ... شاخص)
یک نمای چند بعدی (یا برش) از این آرایه با نگاشت یک یا چند بعد به انتخابگرهای شاخص داده شده ایجاد می کند.
برش ها امکان عبور از یک آرایه N-بعدی را در هر یک از محورهای آن و/یا فیلتر کردن فقط عناصر مورد علاقه را فراهم می کنند. به عنوان مثال، برای یک ماتریس معین روی محورهای [x, y]
، می توان عناصر را در y=0
برای همه x
تکرار کرد.
هر گونه تغییر اعمال شده در برش برگشتی، داده های این آرایه را نیز تحت تأثیر قرار می دهد، زیرا هیچ کپی در کار نیست.
مثال استفاده:
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 این آرایه شروع می شود. |
---|
برمی گرداند
- عنصر حاصل از انتخاب شاخص