DoubleNdArray

パブリックインターフェイスDoubleNdArray
既知の間接サブクラス

double のNdArray

パブリックメソッド

抽象DoubleNdArray
copyTo ( NdArray <Double> dst)
抽象NdArraySequence < DoubleNdArray >
要素(int次元Idx)
指定された次元のすべての要素のシーケンスを返します。
抽象DoubleNdArray
get (長い...座標)
指定された座標にあるこの配列の N 次元要素を返します。
抽象的なダブル
getDouble (長い...座標)
指定された座標で見つかったスカラーの double 値を返します。
抽象的なダブル
getObject (長い...座標)
指定された座標で見つかったスカラーの値を返します。
抽象DoubleNdArray
読み取り( DataBuffer <Double> dst)
抽象DoubleNdArray
抽象NdArraySequence < DoubleNdArray >
スカラー()
この配列内のすべてのスカラーのシーケンスを返します。
抽象DoubleNdArray
set ( NdArray <Double> src、long... 座標)
抽象DoubleNdArray
setDouble (double 値、long... 座標)
指定された座標で見つかったスカラーの double 値を割り当てます。
抽象DoubleNdArray
setObject (Double 値、long... 座標)
抽象DoubleNdArray
スライス(インデックス...インデックス)
1 つ以上の次元を指定されたインデックス セレクターにマッピングすることにより、この配列の多次元ビュー (またはスライス) を作成します。
抽象DoubleNdArray
write ( DataBuffer <Double> src)
抽象DoubleNdArray

継承されたメソッド

パブリックメソッド

public abstract DoubleNdArray copyTo ( NdArray <Double> dst)

パブリック抽象NdArraySequence < DoubleNdArray >要素(int DimensionsIdx)

指定された次元のすべての要素のシーケンスを返します。

論理的には、N 次元配列は単一のベクトルに平坦化できます。ここで、 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シーケンス

public abstract DoubleNdArray get (長い...座標)

指定された座標にあるこの配列の N 次元要素を返します。

この配列の任意の次元の要素を取得できます。たとえば、座標の数がこの配列の次元数と等しい場合、ランク 0 (スカラー) 配列が返され、その値は `array.getObject()` を呼び出すことで取得できます。

コピーが含まれないため、返された要素に適用される変更はすべて、この配列のデータにも影響します。

このメソッドの呼び出しは、この配列を単一のスカラーでスライスするのと同等でより効率的な方法であることに注意してください。つまり、 array.get(x, y, z)array.slice(at(x), at(y), at(z))

パラメータ
座標アクセスする要素の座標。この配列を返すものはありません
返品
  • このインデックスの要素

public abstract double getDouble (長い...座標)

指定された座標で見つかったスカラーの double 値を返します。

スカラー要素にアクセスするには、指定された座標の数がこの配列の次元数 (つまり、そのランク) と等しくなければなりません。例えば:

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座標の数がスカラー要素にアクセスするのに十分でない場合

public abstract 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);

パラメータ
座標解決するスカラーの座標
返品
  • そのスカラーの値

public abstract DoubleNdArray read ( DataBuffer <Double> dst)

パブリック抽象DoubleNdArray読み取り( DoubleDataBuffer dst)

パブリック抽象NdArraySequence < DoubleNdArray >スカラー()

この配列内のすべてのスカラーのシーケンスを返します。

これはelements(shape().numDimensions() - 1)を呼び出すことと同じです。

返品
  • NdArrayシーケンス

public abstract DoubleNdArrayセット( NdArray <Double> src、long... 座標)

public abstract DoubleNdArray setDouble (double 値、long... 座標)

指定された座標で見つかったスカラーの double 値を割り当てます。

スカラー要素にアクセスするには、指定された座標の数がこの配列の次元数 (つまり、そのランク) と等しくなければなりません。例えば:

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座標の数がスカラー要素にアクセスするのに十分でない場合

public abstract DoubleNdArray setObject (Double 値、long... 座標)

パブリック抽象DoubleNdArrayスライス(インデックス...インデックス)

1 つ以上の次元を指定されたインデックス セレクターにマッピングすることにより、この配列の多次元ビュー (またはスライス) を作成します。

スライスを使用すると、任意の軸で 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 から始まる次元ごとのインデックス セレクター。
返品
  • インデックス選択の結果の要素

public abstract DoubleNdArray write ( DataBuffer <Double> src)

パブリック抽象DoubleNdArray書き込み( DoubleDataBuffer src)