DoubleNdArray

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

युगलों का एक NdArray

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

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

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

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

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

सार्वजनिक सार NdArraySequence < DoubleNdArray > तत्व (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 अनुक्रम

सार्वजनिक सार DoubleNdArray प्राप्त करें (लंबे... निर्देशांक)

दिए गए निर्देशांक पर इस सरणी का एन-आयामी तत्व लौटाता है।

इस सरणी के किसी भी आयाम के तत्वों को पुनः प्राप्त किया जा सकता है। उदाहरण के लिए, यदि निर्देशांक की संख्या इस सरणी के आयामों की संख्या के बराबर है, तो एक रैंक-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 एक्सेस करने के लिए तत्व के निर्देशांक, कोई भी इस सरणी को वापस नहीं करेगा
रिटर्न
  • इस सूचकांक में तत्व

सार्वजनिक सार डबल getDouble (लंबे... निर्देशांक)

दिए गए निर्देशांक पर पाए गए अदिश का दोगुना मान लौटाता है।

स्केलर तत्व तक पहुंचने के लिए, प्रदान किए गए निर्देशांक की संख्या इस सरणी के आयामों की संख्या (यानी इसकी रैंक) के बराबर होनी चाहिए। उदाहरण के लिए:

DoubleNdArray matrix = NdArrays.ofDoubles(shape(2, 2));  // matrix rank = 2
  matrix.getDouble(0, 1);  // succeeds, returns 0.0
  matrix.getDouble(0);  // throws IllegalRankException

  DoubleNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.getDouble();  // succeeds, returns 0.0
 

पैरामीटर
COORDINATES हल करने के लिए अदिश के निर्देशांक
रिटर्न
  • उस अदिश राशि का मान
फेंकता
IndexOutOfBoundsException यदि कुछ निर्देशांक अपने संबंधित आयाम की सीमा से बाहर हैं
अवैध रैंक अपवाद यदि किसी अदिश तत्व तक पहुँचने के लिए निर्देशांकों की संख्या पर्याप्त नहीं है

सार्वजनिक सार डबल गेटऑब्जेक्ट (लंबा... निर्देशांक)

दिए गए निर्देशांक पर पाए गए अदिश मान को लौटाता है।

स्केलर तत्व तक पहुंचने के लिए, प्रदान किए गए निर्देशांक की संख्या इस सरणी के आयामों की संख्या (यानी इसकी रैंक) के बराबर होनी चाहिए। उदाहरण के लिए:

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

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

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

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

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

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

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

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

सार्वजनिक सार DoubleNdArray setDouble (डबल मान, लंबा... निर्देशांक)

दिए गए निर्देशांक पर पाए गए अदिश का दोगुना मान निर्दिष्ट करता है।

स्केलर तत्व तक पहुंचने के लिए, प्रदान किए गए निर्देशांक की संख्या इस सरणी के आयामों की संख्या (यानी इसकी रैंक) के बराबर होनी चाहिए। उदाहरण के लिए:

DoubleNdArray matrix = NdArrays.ofDoubles(shape(2, 2));  // matrix rank = 2
  matrix.setDouble(10.0, 0, 1);  // succeeds
  matrix.setDouble(10.0, 0);  // throws IllegalRankException

  DoubleNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.setDouble(10.0);  // succeeds
 

पैरामीटर
कीमत असाइन करने के लिए मान
COORDINATES निर्दिष्ट करने के लिए अदिश के निर्देशांक
रिटर्न
  • यह सरणी
फेंकता
IndexOutOfBoundsException यदि कुछ निर्देशांक अपने संबंधित आयाम की सीमा से बाहर हैं
अवैध रैंक अपवाद यदि किसी अदिश तत्व तक पहुँचने के लिए निर्देशांकों की संख्या पर्याप्त नहीं है

सार्वजनिक सार DoubleNdArray setObject (दोगुना मान, लंबा... निर्देशांक)

सार्वजनिक सार DoubleNdArray स्लाइस ( सूचकांक... सूचकांक)

दिए गए सूचकांक चयनकर्ताओं के लिए एक या अधिक आयामों को मैप करके इस सरणी का एक बहु-आयामी दृश्य (या स्लाइस) बनाता है।

स्लाइस किसी एन-आयामी सरणी को उसके किसी भी अक्ष में पार करने और/या केवल रुचि के तत्वों को फ़िल्टर करने की अनुमति देते हैं। उदाहरण के लिए, [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 से प्रारंभ करते हुए, प्रति आयाम सूचकांक चयनकर्ता।
रिटर्न
  • सूचकांक चयन का परिणामी तत्व

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

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