알려진 간접 하위 클래스 |
정수의 NdArray
.
공개 방법
추상 IntNdArray | |
추상 NdArraySequence < IntNdArray > | 요소 (int 차원Idx) 지정된 차원에 있는 모든 요소의 시퀀스를 반환합니다. |
추상 IntNdArray | (긴... 좌표) 가져오기 주어진 좌표에서 이 배열의 N차원 요소를 반환합니다. |
추상 정수 | getInt (긴... 좌표) 주어진 좌표에서 발견된 스칼라의 정수 값을 반환합니다. |
추상 정수 | getObject (긴... 좌표) 주어진 좌표에서 찾은 스칼라 값을 반환합니다. |
추상 IntNdArray | 읽기 ( IntDataBuffer dst) |
추상 IntNdArray | 읽기 ( DataBuffer <Integer> dst) |
추상 NdArraySequence < IntNdArray > | 스칼라 () 이 배열에 있는 모든 스칼라의 시퀀스를 반환합니다. |
추상 IntNdArray | |
추상 IntNdArray | setInt (int 값, long... 좌표) 주어진 좌표에서 발견된 스칼라의 정수 값을 할당합니다. |
추상 IntNdArray | setObject (정수값, 긴... 좌표) |
추상 IntNdArray | |
추상 IntNdArray | 쓰기 ( DataBuffer <Integer> src) |
추상 IntNdArray | 쓰기 ( IntDataBuffer src) |
상속된 메서드
공개 방법
공개 추상 NdArraySequence < IntNdArray > 요소 (int 차원Idx)
지정된 차원에 있는 모든 요소의 시퀀스를 반환합니다.
논리적으로 N차원 배열은 단일 벡터에서 평면화될 수 있습니다. 여기서 (n - 1)
번째 요소의 스칼라는 (n)
번째 요소의 스칼라보다 앞에 있으므로 총 size()
값이 됩니다.
예를 들어, [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
시퀀스
공개 추상 IntNdArray get (긴... 좌표)
주어진 좌표에서 이 배열의 N차원 요소를 반환합니다.
이 배열의 모든 차원 요소를 검색할 수 있습니다. 예를 들어, 좌표 수가 이 배열의 차원 수와 같으면 순위 0(스칼라) 배열이 반환되며, 이 값은 `array.getObject()`를 호출하여 얻을 수 있습니다.
반환된 요소에 적용된 모든 변경 사항은 관련된 복사본이 없으므로 이 배열의 데이터에도 영향을 미칩니다.
이 메소드를 호출하는 것은 이 배열을 단일 스칼라로 분할하는 동등하고 더 효율적인 방법입니다. 즉 array.get(x, y, z)
는 array.slice(at(x), at(y), at(z))
매개변수
좌표 | 액세스할 요소의 좌표, 어느 것도 이 배열을 반환하지 않습니다. |
---|
보고
- 이 인덱스의 요소
public abstract int getInt (긴... 좌표)
주어진 좌표에서 발견된 스칼라의 정수 값을 반환합니다.
스칼라 요소에 액세스하려면 제공된 좌표 수가 이 배열의 차원 수(예: 순위)와 같아야 합니다. 예를 들어:
IntNdArray matrix = NdArrays.ofInts(shape(2, 2)); // matrix rank = 2
matrix.getInt(0, 1); // succeeds, returns 0
matrix.getInt(0); // throws IllegalRankException
IntNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.getInt(); // succeeds, returns 0
매개변수
좌표 | 해결할 스칼라의 좌표 |
---|
보고
- 해당 스칼라의 값
던지기
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);
. 매개변수
좌표 | 해결할 스칼라의 좌표 |
---|
보고
- 해당 스칼라의 값
공개 추상 NdArraySequence < IntNdArray > 스칼라 ()
이 배열에 있는 모든 스칼라의 시퀀스를 반환합니다.
이는 elements(shape().numDimensions() - 1)
호출과 동일합니다.
보고
-
NdArray
시퀀스
공개 추상 IntNdArray setInt (int 값, long... 좌표)
주어진 좌표에서 발견된 스칼라의 정수 값을 할당합니다.
스칼라 요소에 액세스하려면 제공된 좌표 수가 이 배열의 차원 수(예: 순위)와 같아야 합니다. 예를 들어:
IntNdArray matrix = NdArrays.ofInts(shape(2, 2)); // matrix rank = 2
matrix.setInt(10, 0, 1); // succeeds
matrix.setInt(10, 0); // throws IllegalRankException
IntNdArray scalar = matrix.get(0, 1); // scalar rank = 0
scalar.setInt(10); // succeeds
매개변수
값 | 할당할 값 |
---|---|
좌표 | 할당할 스칼라의 좌표 |
보고
- 이 배열
던지기
IndexOutOfBoundsException | 일부 좌표가 해당 차원의 한계를 벗어나는 경우 |
---|---|
불법순위예외 | 스칼라 요소에 액세스하는 데 좌표 수가 충분하지 않은 경우 |
공개 추상 IntNdArray 슬라이스 ( 인덱스... 인덱스)
하나 이상의 차원을 지정된 인덱스 선택기에 매핑하여 이 배열의 다차원 보기(또는 조각)를 만듭니다.
슬라이스를 사용하면 축에서 N차원 배열을 탐색하거나 관심 있는 요소만 필터링할 수 있습니다. 예를 들어, [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부터 시작하는 차원별 인덱스 선택기입니다. |
---|
보고
- 인덱스 선택의 결과 요소