DoubleNdArray

อินเทอร์เฟซสาธารณะ DoubleNdArray
คลาสย่อยทางอ้อมที่รู้จัก

NdArray ของคู่

วิธีการสาธารณะ

นามธรรม DoubleNdArray
copyTo ( NdArray <สองเท่า> dst)
นามธรรม NdArraySequence < DoubleNdArray >
องค์ประกอบ (int dimensionsIdx)
ส่งกลับลำดับขององค์ประกอบทั้งหมดในมิติที่กำหนด
นามธรรม DoubleNdArray
รับ (ยาว... พิกัด)
ส่งกลับองค์ประกอบมิติ N ของอาร์เรย์นี้ที่พิกัดที่กำหนด
นามธรรมสองเท่า
getDouble (พิกัดยาว...)
ส่งกลับค่าสองเท่าของสเกลาร์ที่พบในพิกัดที่กำหนด
นามธรรมคู่
getObject (พิกัดยาว...)
ส่งคืนค่าสเกลาร์ที่พบในพิกัดที่กำหนด
นามธรรม DoubleNdArray
อ่าน ( DataBuffer <Double> dst)
นามธรรม DoubleNdArray
นามธรรม NdArraySequence < DoubleNdArray >
สเกลาร์ ()
ส่งกลับลำดับของสเกลาร์ทั้งหมดในอาร์เรย์นี้
นามธรรม DoubleNdArray
ชุด ( NdArray <Double> src ยาว... พิกัด)
นามธรรม DoubleNdArray
setDouble (ค่าสองเท่า ยาว... พิกัด)
กำหนดค่าสองเท่าของสเกลาร์ที่พบในพิกัดที่กำหนด
นามธรรม DoubleNdArray
setObject (ค่าสองเท่า ยาว... พิกัด)
นามธรรม DoubleNdArray
ชิ้น ( ดัชนี... ดัชนี)
สร้างมุมมองหลายมิติ (หรือส่วน) ของอาร์เรย์นี้โดยการแมปมิติหนึ่งหรือหลายมิติกับตัวเลือกดัชนีที่กำหนด
นามธรรม DoubleNdArray
เขียน ( DataBuffer <Double> src)
นามธรรม DoubleNdArray

วิธีการสืบทอด

วิธีการสาธารณะ

บทคัดย่อสาธารณะ DoubleNdArray copyTo ( NdArray <Double> dst)

นามธรรมสาธารณะ NdArraySequence < DoubleNdArray > องค์ประกอบ (int dimensionsIdx)

ส่งกลับลำดับขององค์ประกอบทั้งหมดในมิติที่กำหนด

ตามหลักเหตุผลแล้ว อาร์เรย์ N มิติสามารถทำให้แบนได้ในเวกเตอร์เดียว โดยที่สเกลาร์ขององค์ประกอบที่ (n - 1) นำหน้าองค์ประกอบที่ (n) ที่องค์ประกอบที่ th สำหรับค่า 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);
    });
 }

พารามิเตอร์
มิติข้อมูลIdx ดัชนีของมิติ
การส่งคืน
  • ลำดับ NdArray

บทคัดย่อสาธารณะ DoubleNdArray รับ (พิกัดยาว...)

ส่งคืนองค์ประกอบมิติ N ของอาร์เรย์นี้ที่พิกัดที่กำหนด

สามารถดึงข้อมูลองค์ประกอบของมิติใดๆ ของอาร์เรย์นี้ได้ ตัวอย่างเช่น หากจำนวนพิกัดเท่ากับจำนวนขนาดของอาร์เรย์นี้ อาร์เรย์อันดับ 0 (สเกลาร์) จะถูกส่งกลับ ซึ่งสามารถรับค่านี้ได้โดยการเรียก `array.getObject()`

การเปลี่ยนแปลงใดๆ ที่นำไปใช้กับองค์ประกอบที่ส่งคืนจะส่งผลต่อข้อมูลของอาร์เรย์นี้เช่นกัน เนื่องจากไม่มีการคัดลอกที่เกี่ยวข้อง

โปรดทราบว่าการใช้วิธีนี้เป็นวิธีที่เทียบเท่าและมีประสิทธิภาพมากกว่าในการแบ่งอาร์เรย์นี้เป็นสเกลาร์เดี่ยว เช่น array.get(x, y, z) เท่ากับ array.slice(at(x), at(y), at(z))

พารามิเตอร์
พิกัด พิกัดขององค์ประกอบที่จะเข้าถึง จะไม่มีการส่งกลับอาร์เรย์นี้
การส่งคืน
  • องค์ประกอบที่ดัชนีนี้

นามธรรมสาธารณะ double 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
 

พารามิเตอร์
พิกัด พิกัดของสเกลาร์ที่จะแก้
การส่งคืน
  • ค่าสเกลาร์นั้น
ขว้าง
IndexOutOfBoundsException หากพิกัดบางพิกัดอยู่นอกขอบเขตของมิติที่เกี่ยวข้อง
IllegalRankException ถ้าจำนวนพิกัดไม่เพียงพอที่จะเข้าถึงองค์ประกอบสเกลาร์

นามธรรมสาธารณะ Double 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); -

พารามิเตอร์
พิกัด พิกัดของสเกลาร์ที่จะแก้
การส่งคืน
  • ค่าสเกลาร์นั้น

บทคัดย่อสาธารณะ DoubleNdArray อ่าน ( DataBuffer <Double> dst)

บทคัดย่อสาธารณะ DoubleNdArray อ่าน ( DoubleDataBuffer dst)

นามธรรมสาธารณะ NdArraySequence < DoubleNdArray > สเกลาร์ ()

ส่งกลับลำดับของสเกลาร์ทั้งหมดในอาร์เรย์นี้

ซึ่งเทียบเท่ากับการเรียก elements(shape().numDimensions() - 1)

การส่งคืน
  • ลำดับ NdArray

ชุด DoubleNdArray นามธรรมสาธารณะ ( NdArray <Double> src, ยาว... พิกัด)

บทคัดย่อสาธารณะ 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
 

พารามิเตอร์
ค่า มูลค่าที่จะกำหนด
พิกัด พิกัดของสเกลาร์ที่จะกำหนด
การส่งคืน
  • อาร์เรย์นี้
ขว้าง
IndexOutOfBoundsException หากพิกัดบางพิกัดอยู่นอกขอบเขตของมิติที่เกี่ยวข้อง
IllegalRankException ถ้าจำนวนพิกัดไม่เพียงพอที่จะเข้าถึงองค์ประกอบสเกลาร์

นามธรรมสาธารณะ DoubleNdArray setObject (ค่าสองเท่า, ยาว... พิกัด)

ชิ้น DoubleNdArray นามธรรมสาธารณะ ( ดัชนี... ดัชนี)

สร้างมุมมองหลายมิติ (หรือส่วน) ของอาร์เรย์นี้โดยการแมปมิติหนึ่งหรือหลายมิติกับตัวเลือกดัชนีที่กำหนด

สไลซ์ช่วยให้สามารถสำรวจอาร์เรย์ 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 ของอาร์เรย์นี้
การส่งคืน
  • องค์ประกอบที่เป็นผลจากการเลือกดัชนี

สาธารณะบทคัดย่อ DoubleNdArray เขียน ( DataBuffer <Double> src)

บทคัดย่อสาธารณะ DoubleNdArray เขียน ( DoubleDataBuffer src)