ByteNdArray

सार्वजनिक इंटरफ़ेस ByteNdArray
ज्ञात अप्रत्यक्ष उपवर्ग

बाइट्स का एक NdArray .

सार्वजनिक तरीके

सार ByteNdArray
कॉपीटू ( एनडीएरे <बाइट> डीएसटी)
सार NdArraySequence < ByteNdArray >
तत्व (पूर्णांक आयामआईडीएक्स)
किसी दिए गए आयाम पर सभी तत्वों का अनुक्रम लौटाता है।
सार ByteNdArray
प्राप्त करें (लंबा...निर्देशांक)
दिए गए निर्देशांक पर इस सरणी का एन-आयामी तत्व लौटाता है।
सार बाइट
गेटबाइट (लंबा...निर्देशांक)
दिए गए निर्देशांक पर पाए गए स्केलर का बाइट मान लौटाता है।
सार बाइट
getObject (लंबा...निर्देशांक)
दिए गए निर्देशांक पर पाए गए अदिश मान को लौटाता है।
सार ByteNdArray
पढ़ें ( डेटाबफर <बाइट> डीएसटी)
सार ByteNdArray
सार NdArraySequence < ByteNdArray >
अदिश ()
इस सरणी में सभी अदिशों का अनुक्रम लौटाता है।
सार ByteNdArray
सेट ( एनडीएरे <बाइट> स्रोत, लंबा... निर्देशांक)
सार ByteNdArray
सेटबाइट (बाइट मान, लंबा...निर्देशांक)
दिए गए निर्देशांक पर पाए गए स्केलर का बाइट मान निर्दिष्ट करता है।
सार ByteNdArray
सेटऑब्जेक्ट (बाइट मान, लंबा... निर्देशांक)
सार ByteNdArray
स्लाइस ( सूचकांक... सूचकांक)
दिए गए सूचकांक चयनकर्ताओं के लिए एक या अधिक आयामों को मैप करके इस सरणी का एक बहु-आयामी दृश्य (या स्लाइस) बनाता है।
सार ByteNdArray
सार ByteNdArray
लिखें ( डेटाबफर <बाइट> स्रोत)

विरासत में मिली विधियाँ

सार्वजनिक तरीके

सार्वजनिक सार ByteNdArray CopyTo ( NdArray <Byte> dst)

सार्वजनिक सार 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 हल करने के लिए अदिश के निर्देशांक
रिटर्न
  • उस अदिश राशि का मान

सार्वजनिक सार ByteNdArray पढ़ें ( DataBuffer <Byte> dst)

सार्वजनिक सार ByteNdArray पढ़ें ( ByteDataBuffer dst)

सार्वजनिक सार NdArraySequence < ByteNdArray > स्केलर ()

इस सरणी में सभी अदिशों का अनुक्रम लौटाता है।

यह कॉल elements(shape().numDimensions() - 1) के बराबर है

रिटर्न
  • एक NdArray अनुक्रम

सार्वजनिक सार ByteNdArray सेट ( NdArray <Byte> src, long... निर्देशांक)

सार्वजनिक सार 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 setObject (बाइट मान, लंबा... निर्देशांक)

सार्वजनिक सार 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 से प्रारंभ करते हुए, प्रति आयाम सूचकांक चयनकर्ता।
रिटर्न
  • सूचकांक चयन का परिणामी तत्व

सार्वजनिक सार ByteNdArray लिखें ( ByteDataBuffer src)

सार्वजनिक सार ByteNdArray लिखें ( DataBuffer <Byte> src)