FloatNdArray

giao diện công cộng FloatNdArray
Các lớp con gián tiếp đã biết

Một NdArray của số float.

Phương pháp công khai

trừu tượng FloatNdArray
copyTo ( NdArray <Float> dst)
trừu tượng NdArraySequence < FloatNdArray >
các phần tử (int DimensionIdx)
Trả về một chuỗi gồm tất cả các phần tử ở một thứ nguyên nhất định.
trừu tượng FloatNdArray
lấy (tọa độ... dài)
Trả về phần tử N chiều của mảng này tại tọa độ đã cho.
phao trừu tượng
getFloat (tọa độ dài...)
Trả về giá trị float của đại lượng vô hướng được tìm thấy tại tọa độ đã cho.
trừu tượng nổi
getObject (tọa độ dài...)
Trả về giá trị của đại lượng vô hướng được tìm thấy tại tọa độ đã cho.
trừu tượng FloatNdArray
trừu tượng FloatNdArray
đọc ( DataBuffer <Float> dst)
trừu tượng NdArraySequence < FloatNdArray >
vô hướng ()
Trả về một chuỗi tất cả các đại lượng vô hướng trong mảng này.
trừu tượng FloatNdArray
đặt ( NdArray <Float> src, tọa độ dài...)
trừu tượng FloatNdArray
setFloat (giá trị float, tọa độ dài...)
Gán giá trị float của đại số vô hướng được tìm thấy tại tọa độ đã cho.
trừu tượng FloatNdArray
setObject (Giá trị nổi, tọa độ dài...)
trừu tượng FloatNdArray
lát ( Chỉ số... tọa độ)
Tạo chế độ xem (hoặc lát) đa chiều của mảng này bằng cách ánh xạ một hoặc nhiều thứ nguyên tới các bộ chọn chỉ mục đã cho.
trừu tượng FloatNdArray
viết ( DataBuffer <Float> src)
trừu tượng FloatNdArray

Phương pháp kế thừa

Phương pháp công khai

tóm tắt công khai FloatNdArray copyTo ( NdArray <Float> dst)

tóm tắt công khai các phần tử NdArraySequence < FloatNdArray > (int DimensionIdx)

Trả về một chuỗi gồm tất cả các phần tử ở một thứ nguyên nhất định.

Về mặt logic, mảng N chiều có thể được làm phẳng trong một vectơ duy nhất, trong đó các giá trị vô hướng của phần tử thứ (n - 1) đứng trước các giá trị của phần tử thứ (n) , cho tổng giá trị size() .

Ví dụ: cho ma trận nxm trên trục [x, y] , các phần tử được lặp theo thứ tự sau:

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

Sau đó, chuỗi trả về có thể được lặp lại để truy cập từng phần tử, bằng cách gọi forEach(Consumer) hoặc 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);
    });
 }

Thông số
Idx thứ nguyên chỉ số của kích thước
Trả lại
  • một chuỗi NdArray

tóm tắt công khai FloatNdArray get (tọa độ... dài)

Trả về phần tử N chiều của mảng này tại tọa độ đã cho.

Các phần tử có kích thước bất kỳ của mảng này đều có thể được truy xuất. Ví dụ: nếu số tọa độ bằng số thứ nguyên của mảng này thì mảng xếp hạng 0 (vô hướng) sẽ được trả về, sau đó có thể nhận được giá trị nào bằng cách gọi `array.getObject()`.

Bất kỳ thay đổi nào được áp dụng cho các phần tử được trả về cũng ảnh hưởng đến dữ liệu của mảng này vì không có bản sao nào liên quan.

Lưu ý rằng việc gọi phương thức này là một cách tương đương và hiệu quả hơn để cắt mảng này theo một vô hướng đơn, tức là array.get(x, y, z) bằng array.slice(at(x), at(y), at(z))

Thông số
tọa độ tọa độ của phần tử cần truy cập, không có phần tử nào sẽ trả về mảng này
Trả lại
  • phần tử tại chỉ mục này

float trừu tượng công khai getFloat (tọa độ... dài)

Trả về giá trị float của đại lượng vô hướng được tìm thấy tại tọa độ đã cho.

Để truy cập phần tử vô hướng, số tọa độ được cung cấp phải bằng số chiều của mảng này (tức là thứ hạng của nó). Ví dụ:

FloatNdArray matrix = NdArrays.ofFloats(shape(2, 2));  // matrix rank = 2
  matrix.getFloat(0, 1);  // succeeds, returns 0.0f
  matrix.getFloat(0);  // throws IllegalRankException

  FloatNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.getFloat();  // succeeds, returns 0.0f
 

Thông số
tọa độ tọa độ của vô hướng để giải quyết
Trả lại
  • giá trị của đại lượng đó
Ném
IndexOutOfBoundsNgoại lệ nếu một số tọa độ nằm ngoài giới hạn của kích thước tương ứng của chúng
Xếp hạng bất hợp phápNgoại lệ nếu số tọa độ không đủ để truy cập phần tử vô hướng

tóm tắt công khai Float getObject (tọa độ... dài)

Trả về giá trị của đại lượng vô hướng được tìm thấy tại tọa độ đã cho.

Để truy cập phần tử vô hướng, số tọa độ được cung cấp phải bằng số chiều của mảng này (tức là thứ hạng của nó). Ví dụ:

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
 
Lưu ý: nếu mảng này lưu trữ các giá trị của kiểu nguyên thủy, hãy ưu tiên sử dụng phương thức chuyên biệt trong lớp con cho kiểu đó. Ví dụ: floatArray.getFloat(0); .

Thông số
tọa độ tọa độ của vô hướng để giải quyết
Trả lại
  • giá trị của đại lượng đó

bản tóm tắt công khai FloatNdArray đọc ( FloatDataBuffer dst)

Tóm tắt công khai FloatNdArray đọc ( DataBuffer <Float> dst)

trừu tượng công khai NdArraySequence < FloatNdArray > vô hướng ()

Trả về một chuỗi tất cả các đại lượng vô hướng trong mảng này.

Điều này tương đương với elements(shape().numDimensions() - 1)

Trả lại
  • một chuỗi NdArray

tập hợp FloatNdArray trừu tượng công khai ( NdArray <Float> src, tọa độ dài...)

tóm tắt công khai FloatNdArray setFloat (giá trị float, tọa độ dài...)

Gán giá trị float của đại số vô hướng được tìm thấy tại tọa độ đã cho.

Để truy cập phần tử vô hướng, số tọa độ được cung cấp phải bằng số chiều của mảng này (tức là thứ hạng của nó). Ví dụ:

FloatNdArray matrix = NdArrays.ofFloats(shape(2, 2));  // matrix rank = 2
  matrix.setFloat(10.0f, 0, 1);  // succeeds
  matrix.setFloat(10.0f, 0);  // throws IllegalRankException

  FloatNdArray scalar = matrix.get(0, 1);  // scalar rank = 0
  scalar.setFloat(10.0f);  // succeeds
 

Thông số
giá trị giá trị để gán
tọa độ tọa độ của vô hướng để gán
Trả lại
  • mảng này
Ném
IndexOutOfBoundsNgoại lệ nếu một số tọa độ nằm ngoài giới hạn của kích thước tương ứng của chúng
Xếp hạng bất hợp phápNgoại lệ nếu số tọa độ không đủ để truy cập phần tử vô hướng

tóm tắt công khai FloatNdArray setObject (Giá trị nổi, tọa độ dài...)

lát cắt FloatNdArray trừu tượng công khai ( Tọa độ Index... )

Tạo chế độ xem (hoặc lát) đa chiều của mảng này bằng cách ánh xạ một hoặc nhiều thứ nguyên tới các bộ chọn chỉ mục đã cho.

Các lát cắt cho phép duyệt qua một mảng N chiều theo bất kỳ trục nào của nó và/hoặc chỉ lọc các phần tử quan tâm. Ví dụ: đối với một ma trận nhất định trên trục [x, y] , có thể lặp lại các phần tử tại y=0 cho tất cả x .

Bất kỳ thay đổi nào được áp dụng cho lát cắt được trả về cũng ảnh hưởng đến dữ liệu của mảng này vì không có bản sao nào liên quan.

Ví dụ về cách sử dụng:

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
    });
 }

Thông số
tọa độ bộ chọn chỉ mục cho mỗi thứ nguyên, bắt đầu từ thứ nguyên 0 của mảng này.
Trả lại
  • phần tử kết quả của việc lựa chọn chỉ mục

tóm tắt công khai FloatNdArray ghi ( DataBuffer <Float> src)

tóm tắt công khai FloatNdArray viết ( FloatDataBuffer src)