Um DataBuffer
de duplas.
Métodos Públicos
abstrato DoubleDataBuffer | copyTo ( DataBuffer <Double> dst, tamanho longo) |
duplo abstrato | getDouble (índice longo) Lê o dobro no índice fornecido. |
abstrato duplo | getObject (índice longo) Lê o valor no índice fornecido. |
abstrato DoubleDataBuffer | estreito (tamanho longo) Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, cujo tamanho é definido para o valor fornecido. |
abstrato DoubleDataBuffer | deslocamento (índice longo) Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo desse buffer, começando no índice fornecido. |
abstrato DoubleDataBuffer | ler (duplo[] dst) Método de obtenção em massa, usando arrays duplos. |
abstrato DoubleDataBuffer | leitura (duplo[] dst, deslocamento interno, comprimento interno) Método de obtenção em massa, usando arrays duplos. |
abstrato DoubleDataBuffer | setDouble (valor duplo, índice longo) Grava o double fornecido neste buffer no índice fornecido. |
abstrato DoubleDataBuffer | setObject (valor duplo, índice longo) |
abstrato DoubleDataBuffer | fatia (índice longo, tamanho longo) Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo desse buffer, começando no índice e no tamanho especificados. |
DataBufferWindow abstrato <DoubleDataBuffer> | janela (tamanho longo) Cria um DataBufferWindow que fornece uma visão parcial desse buffer. |
abstrato DoubleDataBuffer | escrever (duplo[] src) Método de colocação em massa, usando matrizes duplas. |
abstrato DoubleDataBuffer | escrever (double[] src, deslocamento interno, comprimento interno) Método de colocação em massa, usando matrizes duplas. |
Métodos herdados
Métodos Públicos
público abstrato duplo getDouble (índice longo)
Lê o dobro no índice fornecido.
Parâmetros
índice | o índice a partir do qual o float será lido |
---|
Devoluções
- o dobro no índice fornecido
Lança
IndexOutOfBoundsException | se o índice for negativo ou não menor que o tamanho do buffer |
---|
público abstrato Double getObject (índice longo)
Lê o valor no índice fornecido. Importante: O uso deste método deve ser limitado a buffers de tipos não primitivos ou quando o tipo de dados não é conhecido deterministicamente pelo chamador. Em qualquer outro caso, prefira o uso de sua variante primitiva que melhorará significativamente o desempenho (por exemplo, IntDataBuffer.getInt(idx)
Parâmetros
índice | o índice a partir do qual o float será lido |
---|
Devoluções
- o valor no índice fornecido
público abstrato DoubleDataBuffer estreito (tamanho longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, cujo tamanho é definido para o valor fornecido.
O novo tamanho não deve ser maior que esse tamanho de buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, esse buffer for somente leitura.
Esta chamada é equivalente a slice(0, size)
Parâmetros
tamanho | tamanho deste novo buffer |
---|
Devoluções
- o novo buffer
deslocamento abstrato público DoubleDataBuffer (índice longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo desse buffer, começando no índice fornecido.
O índice não deve ser maior que esse tamanho de buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, esse buffer for somente leitura.
Esta chamada é equivalente a slice(index, size() - index)
Parâmetros
índice | índice do primeiro valor do novo buffer criado, não deve ser maior que size() |
---|
Devoluções
- o novo buffer
leitura pública abstrata DoubleDataBuffer (double[] dst)
Método de obtenção em massa, usando arrays duplos.
Este método transfere valores deste buffer para o array de destino fornecido. Se houver menos valores no buffer do que os necessários para satisfazer a solicitação, ou seja, se dst.length > size()
, nenhum valor será transferido e uma BufferUnderflowException será lançada.
Caso contrário, este método copia os valores n = dst.length
deste buffer para o array fornecido.
Parâmetros
horário de verão | a matriz na qual os valores devem ser escritos |
---|
Devoluções
- este buffer
Lança
BufferUnderflowException | se não houver valores suficientes para copiar deste buffer |
---|
leitura pública abstrata DoubleDataBuffer (duplo[] dst, deslocamento interno, comprimento interno)
Método de obtenção em massa, usando arrays duplos.
Este método transfere valores deste buffer para o array de destino fornecido. Se houver menos valores no buffer do que os necessários para satisfazer a solicitação, ou seja, se length > size()
, nenhum valor será transferido e uma BufferUnderflowException será lançada.
Caso contrário, este método copia valores n = length
deste buffer para o array fornecido, começando no deslocamento fornecido.
Parâmetros
horário de verão | a matriz na qual os valores devem ser escritos |
---|---|
desvio | o deslocamento dentro da matriz do primeiro valor a ser escrito; deve ser não negativo e não maior que dst.length |
comprimento | o número máximo de valores a serem gravados no array fornecido; deve ser não negativo e não maior que dst.length - offset |
Devoluções
- este buffer
Lança
BufferUnderflowException | se houver menos valores de comprimento restantes neste buffer |
---|---|
IndexOutOfBoundsException | se as pré-condições nos parâmetros de deslocamento e comprimento não forem válidas |
público abstrato DoubleDataBuffer setDouble (valor duplo, índice longo)
Grava o double fornecido neste buffer no índice fornecido.
Parâmetros
valor | o duplo a ser escrito |
---|---|
índice | o índice no qual o valor será escrito |
Devoluções
- este buffer
Lança
IndexOutOfBoundsException | se o índice for negativo ou não menor que o tamanho do buffer |
---|---|
ReadOnlyBufferException | se este buffer for somente leitura |
fatia DoubleDataBuffer abstrata pública (índice longo, tamanho longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo desse buffer, começando no índice e no tamanho especificados.
O índice mais o novo tamanho não deve ser maior que o tamanho do buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, esse buffer for somente leitura.
Parâmetros
índice | índice do primeiro valor do novo buffer criado |
---|---|
tamanho | tamanho deste novo buffer, não deve ser maior que size() |
Devoluções
- o novo buffer
public abstract DataBufferWindow < DoubleDataBuffer > janela (tamanho longo)
Cria um DataBufferWindow
que fornece uma visão parcial desse buffer.
A janela criada tem um tamanho fixo e pode "slide"
ao longo deste buffer para fornecer diferentes visualizações dos dados sem alocar uma nova instância de buffer, como faz offset(long)
. Isto melhora o desempenho geral quando esta operação é repetida com frequência. Por exemplo:
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;
}
}
O objeto retornado tem estado e não é thread-safe.
Parâmetros
tamanho | tamanho da janela |
---|
Devoluções
- uma nova janela que começa no índice 0 deste buffer
gravação pública abstrata DoubleDataBuffer (double[] src)
Método de colocação em massa, usando matrizes duplas.
Este método transfere os valores da matriz de origem fornecida para este buffer. Se houver mais valores na matriz de origem do que neste buffer, ou seja, se src.length > size()
, nenhum valor será transferido e uma BufferOverflowException será lançada.
Caso contrário, este método copia os valores n = src.length
do array fornecido.
Parâmetros
fonte | a matriz de origem a partir da qual os valores devem ser lidos |
---|
Devoluções
- este buffer
Lança
BufferOverflowException | se não houver espaço suficiente neste buffer para os valores na matriz de origem |
---|---|
ReadOnlyBufferException | se este buffer for somente leitura |
gravação pública abstrata DoubleDataBuffer (double[] src, deslocamento interno, comprimento interno)
Método de colocação em massa, usando matrizes duplas.
Este método transfere os valores da matriz de origem fornecida para este buffer. Se houver mais valores na matriz de origem do que neste buffer, ou seja, se length > size()
, nenhum valor será transferido e uma BufferOverflowException será lançada.
Caso contrário, este método copia valores n = length
do array fornecido para este buffer, começando no deslocamento fornecido.
Parâmetros
fonte | a matriz de origem a partir da qual os valores devem ser lidos |
---|---|
desvio | o deslocamento dentro da matriz do primeiro valor a ser lido; deve ser não negativo e não maior que src.length |
comprimento | o número de valores a serem lidos de um determinado array; deve ser não negativo e não maior que src.length - offset |
Devoluções
- este buffer
Lança
BufferOverflowException | se não houver espaço suficiente neste buffer para os valores na matriz de origem |
---|---|
IndexOutOfBoundsException | se as pré-condições nos parâmetros de deslocamento e comprimento não forem válidas |
ReadOnlyBufferException | se este buffer for somente leitura |