ज्ञात अप्रत्यक्ष उपवर्ग |
बाइट्स का एक NdArray
.
सार्वजनिक तरीके
सार ByteNdArray | |
सार NdArraySequence < ByteNdArray > | तत्व (पूर्णांक आयामआईडीएक्स) किसी दिए गए आयाम पर सभी तत्वों का अनुक्रम लौटाता है। |
सार ByteNdArray | प्राप्त करें (लंबा...निर्देशांक) दिए गए निर्देशांक पर इस सरणी का एन-आयामी तत्व लौटाता है। |
सार बाइट | गेटबाइट (लंबा...निर्देशांक) दिए गए निर्देशांक पर पाए गए स्केलर का बाइट मान लौटाता है। |
सार बाइट | getObject (लंबा...निर्देशांक) दिए गए निर्देशांक पर पाए गए अदिश मान को लौटाता है। |
सार ByteNdArray | |
सार ByteNdArray | पढ़ें ( ByteDataBuffer dst) |
सार NdArraySequence < ByteNdArray > | अदिश () इस सरणी में सभी अदिशों का अनुक्रम लौटाता है। |
सार ByteNdArray | |
सार ByteNdArray | सेटबाइट (बाइट मान, लंबा...निर्देशांक) दिए गए निर्देशांक पर पाए गए स्केलर का बाइट मान निर्दिष्ट करता है। |
सार ByteNdArray | सेटऑब्जेक्ट (बाइट मान, लंबा... निर्देशांक) |
सार ByteNdArray | स्लाइस ( सूचकांक... सूचकांक) दिए गए सूचकांक चयनकर्ताओं के लिए एक या अधिक आयामों को मैप करके इस सरणी का एक बहु-आयामी दृश्य (या स्लाइस) बनाता है। |
सार ByteNdArray | लिखें ( ByteDataBuffer src) |
सार ByteNdArray |
विरासत में मिली विधियाँ
सार्वजनिक तरीके
सार्वजनिक सार NdArraySequence < ByteNdArray > तत्व (int आयामIdx)
किसी दिए गए आयाम पर सभी तत्वों का अनुक्रम लौटाता है।
तार्किक रूप से, एन-आयामी सरणी को एक ही वेक्टर में समतल किया जा सकता है, जहां कुल size()
मानों के लिए (n - 1)
वें तत्व के स्केलर (n)
वें तत्व से पहले होते हैं।
उदाहरण के लिए, [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);
});
}
पैरामीटर
आयामIdx | आयाम का सूचकांक |
---|
रिटर्न
- एक
NdArray
अनुक्रम
सार्वजनिक सार ByteNdArray प्राप्त करें (लंबे... निर्देशांक)
दिए गए निर्देशांक पर इस सरणी का एन-आयामी तत्व लौटाता है।
इस सरणी के किसी भी आयाम के तत्वों को पुनः प्राप्त किया जा सकता है। उदाहरण के लिए, यदि निर्देशांक की संख्या इस सरणी के आयामों की संख्या के बराबर है, तो एक रैंक-0 (स्केलर) सरणी लौटा दी जाती है, जिसका मान `array.getObject()` पर कॉल करके प्राप्त किया जा सकता है।
लौटाए गए तत्वों पर लागू कोई भी परिवर्तन इस सरणी के डेटा को भी प्रभावित करता है, क्योंकि इसमें कोई प्रतिलिपि शामिल नहीं है।
ध्यान दें कि इस विधि को लागू करना इस सरणी को एकल स्केलर पर स्लाइस करने का एक समतुल्य और अधिक कुशल तरीका है, यानी array.get(x, y, z)
array.slice(at(x), at(y), at(z))
के बराबर है array.slice(at(x), at(y), at(z))
पैरामीटर
COORDINATES | एक्सेस करने के लिए तत्व के निर्देशांक, कोई भी इस सरणी को वापस नहीं करेगा |
---|
रिटर्न
- इस सूचकांक में तत्व
सार्वजनिक सार बाइट 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
पैरामीटर
COORDINATES | हल करने के लिए अदिश के निर्देशांक |
---|
रिटर्न
- उस अदिश राशि का मान
फेंकता
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);
. पैरामीटर
COORDINATES | हल करने के लिए अदिश के निर्देशांक |
---|
रिटर्न
- उस अदिश राशि का मान
सार्वजनिक सार NdArraySequence < ByteNdArray > स्केलर ()
इस सरणी में सभी अदिशों का अनुक्रम लौटाता है।
यह कॉल elements(shape().numDimensions() - 1)
के बराबर है
रिटर्न
- एक
NdArray
अनुक्रम
सार्वजनिक सार 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
पैरामीटर
कीमत | असाइन किया जाने वाला मान |
---|---|
COORDINATES | निर्दिष्ट करने के लिए अदिश के निर्देशांक |
रिटर्न
- यह सरणी
फेंकता
IndexOutOfBoundsException | यदि कुछ निर्देशांक अपने संबंधित आयाम की सीमा से बाहर हैं |
---|---|
अवैध रैंक अपवाद | यदि किसी अदिश तत्व तक पहुँचने के लिए निर्देशांकों की संख्या पर्याप्त नहीं है |
सार्वजनिक सार ByteNdArray स्लाइस ( सूचकांक... सूचकांक)
दिए गए सूचकांक चयनकर्ताओं के लिए एक या अधिक आयामों को मैप करके इस सरणी का एक बहु-आयामी दृश्य (या स्लाइस) बनाता है।
स्लाइस किसी एन-आयामी सरणी को उसके किसी भी अक्ष में पार करने और/या केवल रुचि के तत्वों को फ़िल्टर करने की अनुमति देते हैं। उदाहरण के लिए, [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 से प्रारंभ करते हुए, प्रति आयाम सूचकांक चयनकर्ता। |
---|
रिटर्न
- सूचकांक चयन का परिणामी तत्व