DoubleDataBuffer

interfaz pública DoubleDataBuffer

Un DataBuffer de dobles.

Métodos públicos

resumen DoubleDataBuffer
copyTo ( DataBuffer <Double> dst, tamaño largo)
doble abstracto
getDouble (índice largo)
Lee el doble en el índice dado.
abstracto doble
getObject (índice largo)
Lee el valor en el índice dado.
resumen DoubleDataBuffer
estrecho (tamaño largo)
Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, cuyo tamaño se establece en el valor dado.
resumen DoubleDataBuffer
desplazamiento (índice largo)
Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado.
resumen DoubleDataBuffer
leer (doble [] dst)
Método de obtención masiva, utilizando matrices dobles.
resumen DoubleDataBuffer
read (double [] dst, int offset, int length)
Método de obtención masiva, utilizando matrices dobles.
resumen DoubleDataBuffer
setDouble (valor doble, índice largo)
Escribe el doble dado en este búfer en el índice dado.
resumen DoubleDataBuffer
setObject (valor doble, índice largo)
resumen DoubleDataBuffer
rebanada (índice largo, tamaño largo)
Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado y del tamaño dado.
resumen DataBufferWindow < DoubleDataBuffer >
ventana (tamaño largo)
Crea un DataBufferWindow que proporciona una vista parcial de este búfer.
resumen DoubleDataBuffer
escribir (doble [] src)
Bulk puso método, utilizando dobles arrays.
resumen DoubleDataBuffer
escribir (double [] src, int offset, int length)
Bulk puso método, utilizando dobles arrays.

Métodos heredados

Métodos públicos

public abstract DoubleDataBuffer copyTo ( DataBuffer <Double> dst, tamaño largo)

public abstract double getDouble (índice largo)

Lee el doble en el índice dado.

Parámetros
índice el índice desde el que se leerá el flotador
Devoluciones
  • el doble en el índice dado
Lanza
IndexOutOfBoundsException si el índice es negativo o no menor que el tamaño del búfer

public abstract Double getObject (índice largo)

Lee el valor en el índice dado. Importante: El uso de este método debe limitarse a búferes de tipos no primitivos o cuando el llamador no conoce de manera determinista el tipo de datos. En cualquier otro caso, prefiera el uso de su variante primitiva que mejorará significativamente el rendimiento (por ejemplo, IntDataBuffer.getInt(idx)

Parámetros
índice el índice desde el que se leerá el flotador
Devoluciones
  • el valor en el índice dado

público abstracto DoubleDataBuffer estrecho (tamaño largo)

Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, cuyo tamaño se establece en el valor dado.

El nuevo tamaño no debe ser mayor que este tamaño de búfer. Los cambios en el contenido de este búfer serán visibles en el nuevo búfer y viceversa. El nuevo búfer será de solo lectura si, y solo si, este búfer es de solo lectura.

Esta llamada es equivalente a slice(0, size)

Parámetros
Talla tamaño de este nuevo búfer
Devoluciones
  • el nuevo búfer

pública abstracta DoubleDataBuffer compensado (índice de longitud)

Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado.

El índice no debe ser mayor que este tamaño de búfer. Los cambios en el contenido de este búfer serán visibles en el nuevo búfer y viceversa. El nuevo búfer será de solo lectura si, y solo si, este búfer es de solo lectura.

Esta llamada es equivalente a slice(index, size() - index)

Parámetros
índice índice del primer valor del nuevo búfer creado, no debe ser mayor que size()
Devoluciones
  • el nuevo búfer

lectura pública DoubleDataBuffer abstracta (doble [] dst)

Método de obtención masiva, utilizando matrices dobles.

Este método transfiere valores de este búfer a la matriz de destino dada. Si hay menos valores en el búfer de los necesarios para satisfacer la solicitud, es decir, si dst.length > size() , no se transfieren valores y se lanza una BufferUnderflowException.

De lo contrario, este método copia los valores n = dst.length de este búfer en la matriz dada.

Parámetros
dst la matriz en la que se escribirán los valores
Devoluciones
  • este búfer
Lanza
BufferUnderflowException si no hay suficientes valores para copiar de este búfer

público abstracto DoubleDataBuffer read (double [] dst, int offset, int length)

Método de obtención masiva, utilizando matrices dobles.

Este método transfiere valores de este búfer a la matriz de destino dada. Si hay menos valores en el búfer de los necesarios para satisfacer la solicitud, es decir, si length > size() , no se transfieren valores y se lanza una BufferUnderflowException.

De lo contrario, este método copia n = length valores de n = length de este búfer en la matriz dada comenzando en el desplazamiento dado.

Parámetros
dst la matriz en la que se escribirán los valores
compensar el desplazamiento dentro de la matriz del primer valor que se va a escribir; debe ser no negativo y no mayor que dst.length
largo el número máximo de valores que se escribirán en la matriz dada; debe ser no negativo y no mayor que dst.length - offset
Devoluciones
  • este búfer
Lanza
BufferUnderflowException si quedan menos de los valores de longitud en este búfer
IndexOutOfBoundsException si las condiciones previas en los parámetros de desplazamiento y longitud no se cumplen

public abstract DoubleDataBuffer setDouble (valor doble, índice largo)

Escribe el doble dado en este búfer en el índice dado.

Parámetros
valor el doble por escribir
índice el índice en el que se escribirá el valor
Devoluciones
  • este búfer
Lanza
IndexOutOfBoundsException si el índice es negativo o no menor que el tamaño del búfer
ReadOnlyBufferException si este búfer es de solo lectura

public abstract DoubleDataBuffer setObject (valor doble, índice largo)

segmento DoubleDataBuffer abstracto público (índice largo, tamaño largo)

Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado y del tamaño dado.

El índice más el nuevo tamaño no debe ser mayor que este tamaño de búfer. Los cambios en el contenido de este búfer serán visibles en el nuevo búfer y viceversa. El nuevo búfer será de solo lectura si, y solo si, este búfer es de solo lectura.

Parámetros
índice índice del primer valor del nuevo búfer creado
Talla tamaño de este nuevo búfer, no debe ser mayor que el size()
Devoluciones
  • el nuevo búfer

ventana pública abstracta DataBufferWindow < DoubleDataBuffer > (tamaño largo)

Crea un DataBufferWindow que proporciona una vista parcial de este búfer.

La ventana creada tiene un tamaño fijo y puede "slide" largo de este búfer para proporcionar diferentes vistas de los datos sin asignar una nueva instancia de búfer, como hace el offset(long) . Esto mejora el rendimiento general cuando esta operación se repite con frecuencia. Por ejemplo:

IntDataBuffer bufferA = DataBuffers.ofInts(1024);
 // ... init buffer data
 IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);

 // Return the index of the first occurrence of bufferB in bufferA using a sliding window
 DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
 for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
     if (windowA.slideTo(i).buffer().equals(bufferB)) {
         return i;
     
 }
 }

El objeto devuelto tiene estado y no es seguro para subprocesos.

Parámetros
Talla tamaño de la ventana
Devoluciones
  • una nueva ventana que comienza en el índice 0 de este búfer

escritura DoubleDataBuffer abstracta pública (double [] src)

Bulk puso método, utilizando dobles arrays.

Este método transfiere los valores de la matriz de origen dada a este búfer. Si hay más valores en la matriz de origen que en este búfer, es decir, si src.length > size() , no se transfieren valores y se lanza una BufferOverflowException.

De lo contrario, este método copia los valores n = src.length de la matriz dada.

Parámetros
src la matriz de origen de la que se leerán los valores
Devoluciones
  • este búfer
Lanza
BufferOverflowException si no hay suficiente espacio en este búfer para los valores en la matriz de origen
ReadOnlyBufferException si este búfer es de solo lectura

escritura pública abstracta DoubleDataBuffer (double [] src, int offset, int length)

Bulk puso método, utilizando dobles arrays.

Este método transfiere los valores de la matriz de origen dada a este búfer. Si hay más valores en la matriz de origen que en este búfer, es decir, si length > size() , no se transfieren valores y se lanza una BufferOverflowException.

De lo contrario, este método copia n = length valores de n = length de la matriz dada en este búfer, comenzando en el desplazamiento dado.

Parámetros
src la matriz de origen de la que se leerán los valores
compensar el desplazamiento dentro de la matriz del primer valor a leer; debe ser no negativo y no mayor que src.length
largo el número de valores que se leerán de la matriz dada; debe ser no negativo y no mayor que src.length - offset
Devoluciones
  • este búfer
Lanza
BufferOverflowException si no hay suficiente espacio en este búfer para los valores en la matriz de origen
IndexOutOfBoundsException si las condiciones previas en los parámetros de desplazamiento y longitud no se cumplen
ReadOnlyBufferException si este búfer es de solo lectura