Package jep

Class DirectNDArray<T extends Buffer>

java.lang.Object
jep.DirectNDArray<T>

public class DirectNDArray<T extends Buffer> extends Object

Represents a numpy.ndarray in Java. If Jep was compiled with numpy support, this object will not be wrapped as a PyJobject in the Python sub-interpreter(s), it will instead be wrapped as a numpy.ndarray automatically. The numpy.ndarray will reference the exact same memory as the buffer so changes in either language will be immediately visible in both.

DirectNDArrays only support direct buffers as the underlying type of data. The data can conceptually be multi-dimensional, but it must be represented as a one-dimensional direct buffer in Java to ensure the memory is contiguous.

Since:
3.7
  • Constructor Details

    • DirectNDArray

      public DirectNDArray(T data)
      Constructor for a Java DirectNDArray. Presumes the data is one dimensional.
      Parameters:
      data - a direct Buffer
    • DirectNDArray

      public DirectNDArray(T data, boolean unsigned)
      Constructor for a Java DirectNDArray. Presumes the data is one dimensional.
      Parameters:
      data - a direct Buffer
      unsigned - whether the data is to be interpreted as unsigned
    • DirectNDArray

      public DirectNDArray(T data, int... dimensions)
      Constructor for a Java DirectNDArray.
      Parameters:
      data - a direct Buffer
      dimensions - the conceptual dimensions of the data (corresponds to the numpy.ndarray dimensions in C-contiguous order)
    • DirectNDArray

      public DirectNDArray(T data, boolean unsigned, int... dimensions)
      Constructor for a Java DirectNDArray.
      Parameters:
      data - a direct Buffer
      unsigned - whether the data is to be interpreted as unsigned
      dimensions - the conceptual dimensions of the data (corresponds to the numpy.ndarray dimensions in C-contiguous order)
  • Method Details

    • getLength

      public int getLength(T data)
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getDimensions

      public int[] getDimensions()
    • isUnsigned

      public boolean isUnsigned()
    • getData

      public T getData()