الفئات الفرعية غير المباشرة المعروفة |
NdArray
من القيم المنطقية.
الأساليب العامة
مجردة BooleanNdArray | |
ملخص NdArraySequence < BooleanNdArray > | العناصر (int DimensionIdx) إرجاع تسلسل لجميع العناصر في بعد معين. |
مجردة BooleanNdArray | الحصول على (طويلة... الإحداثيات) تُرجع العنصر N-الأبعاد لهذه المصفوفة عند الإحداثيات المحددة. |
منطقية مجردة | getBoolean (إحداثيات طويلة) تُرجع القيمة المنطقية للعددية الموجودة في الإحداثيات المحددة. |
منطقية مجردة | getObject (إحداثيات طويلة) إرجاع قيمة العددية الموجودة في الإحداثيات المحددة. |
مجردة BooleanNdArray | قراءة ( DataBuffer <Boolean> dst) |
مجردة BooleanNdArray | قراءة ( BooleanDataBuffer dst) |
ملخص NdArraySequence < BooleanNdArray > | العددية () إرجاع تسلسل لجميع الكميات الموجودة في هذه المصفوفة. |
مجردة BooleanNdArray | |
مجردة BooleanNdArray | setBoolean (قيمة منطقية، إحداثيات طويلة) يعين القيمة المنطقية للعددية الموجودة في الإحداثيات المحددة. |
مجردة BooleanNdArray | setObject (قيمة منطقية، إحداثيات طويلة) |
مجردة BooleanNdArray | |
مجردة BooleanNdArray | الكتابة ( DataBuffer <Boolean> src) |
مجردة BooleanNdArray | الكتابة ( BooleanDataBuffer src) |
الطرق الموروثة
الأساليب العامة
ملخص عام NdArraySequence <BooleanNdArray> العناصر (int DimensionIdx)
إرجاع تسلسل لجميع العناصر في بعد معين.
منطقيًا، يمكن تسوية المصفوفة ذات الأبعاد N في متجه واحد، حيث تسبق الكميات القياسية للعنصر (n - 1)
تلك الخاصة بالعنصر (n)
، لإجمالي قيم size()
.
على سبيل المثال، في حالة وجود مصفوفة nxm
على المحاور [x, y]
، يتم تكرار العناصر بالترتيب التالي:
س 0 ص 0 , س 0 ص 1 , ..., س 0 ص م-1 , س 1 ذ 0 , س 1 ذ 1 , ..., س ن-1 ص م-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
الحصول على الملخص العام BooleanNdArray (الإحداثيات الطويلة)
تُرجع العنصر N-الأبعاد لهذه المصفوفة عند الإحداثيات المحددة.
يمكن استرجاع عناصر أي من أبعاد هذه المصفوفة. على سبيل المثال، إذا كان عدد الإحداثيات يساوي عدد أبعاد هذه المصفوفة، فسيتم إرجاع مصفوفة من المرتبة 0 (عددية)، ويمكن بعد ذلك الحصول على القيمة عن طريق استدعاء `array.getObject()`.
أي تغييرات يتم تطبيقها على العناصر التي تم إرجاعها تؤثر على بيانات هذه المصفوفة أيضًا، حيث لا توجد نسخة معنية.
لاحظ أن استدعاء هذه الطريقة هو طريقة مكافئة وأكثر فعالية لتقسيم هذه المصفوفة إلى عددية فردية، على سبيل المثال array.get(x, y, z)
يساوي array.slice(at(x), at(y), at(z))
حدود
الإحداثيات | إحداثيات العنصر المراد الوصول إليه، لن يقوم أي منها بإرجاع هذه المصفوفة |
---|
المرتجعات
- العنصر في هذا الفهرس
getBoolean الملخص العام (الإحداثيات الطويلة)
تُرجع القيمة المنطقية للعددية الموجودة في الإحداثيات المحددة.
للوصول إلى العنصر العددي، يجب أن يكون عدد الإحداثيات المقدمة مساويًا لعدد أبعاد هذه المصفوفة (أي رتبتها). على سبيل المثال:
BooleanNdArray matrix = NdArrays.ofBooleans(shape(2, 2)); // matrix rank = 2
matrix.getBoolean(0, 1); // succeeds, returns false
matrix.getBoolean(0); // throws IllegalRankException
BooleanNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.getBoolean(); // succeeds, returns false
حدود
الإحداثيات | إحداثيات العددية لحلها |
---|
المرتجعات
- قيمة تلك العددية
رميات
IndexOutOfBoundsException | إذا كانت بعض الإحداثيات خارج حدود البعد الخاص بها |
---|---|
IllegalRankException | إذا كان عدد الإحداثيات غير كاف للوصول إلى عنصر عددي |
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 <BooleanNdArray> العدديات ()
إرجاع تسلسل لجميع الكميات الموجودة في هذه المصفوفة.
وهذا يعادل استدعاء elements(shape().numDimensions() - 1)
المرتجعات
- تسلسل
NdArray
الملخص العام BooleanNdArray setBoolean (قيمة منطقية، إحداثيات طويلة...)
يعين القيمة المنطقية للعددية الموجودة في الإحداثيات المحددة.
للوصول إلى العنصر العددي، يجب أن يكون عدد الإحداثيات المقدمة مساويًا لعدد أبعاد هذه المصفوفة (أي رتبتها). على سبيل المثال:
BooleanNdArray matrix = NdArrays.ofBooleans(shape(2, 2)); // matrix rank = 2
matrix.setBoolean(true, 0, 1); // succeeds
matrix.setBoolean(true, 0); // throws IllegalRankException
BooleanNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.setBoolean(true); // succeeds
حدود
قيمة | القيمة المراد تعيينها |
---|---|
الإحداثيات | إحداثيات العددية لتعيين |
المرتجعات
- هذه المصفوفة
رميات
IndexOutOfBoundsException | إذا كانت بعض الإحداثيات خارج حدود البعد الخاص بها |
---|---|
IllegalRankException | إذا كان عدد الإحداثيات غير كاف للوصول إلى عنصر عددي |
شريحة BooleanNdArray مجردة عامة ( فهرس... فهارس)
ينشئ عرضًا (أو شريحة) متعدد الأبعاد لهذه المصفوفة عن طريق تعيين بُعد واحد أو أكثر لمحددات الفهرس المحددة.
تسمح الشرائح باجتياز مصفوفة ذات أبعاد 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 لهذه المصفوفة. |
---|
المرتجعات
- العنصر الناتج عن اختيار الفهرس