DoubleDataBuffer

interfaccia pubblica DoubleDataBuffer

Un DataBuffer di doppi.

Metodi pubblici

astratto DoubleDataBuffer
copyTo ( DataBuffer <Double> dst, dimensione lunga)
doppio astratto
getDouble (indice lungo)
Legge il double in corrispondenza dell'indice specificato.
Doppio astratto
getObject (indice lungo)
Legge il valore dell'indice specificato.
astratto DoubleDataBuffer
stretto (taglia lunga)
Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, la cui dimensione è impostata sul valore specificato.
astratto DoubleDataBuffer
offset (indice lungo)
Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice specificato.
astratto DoubleDataBuffer
leggi (double[] dst)
Metodo di acquisizione in blocco, utilizzando doppi array.
astratto DoubleDataBuffer
leggi (double[] dst, int offset, int lunghezza)
Metodo di acquisizione in blocco, utilizzando doppi array.
astratto DoubleDataBuffer
setDouble (valore doppio, indice lungo)
Scrive il double specificato in questo buffer in corrispondenza dell'indice specificato.
astratto DoubleDataBuffer
setObject (doppio valore, indice lungo)
astratto DoubleDataBuffer
slice (indice lungo, dimensione lunga)
Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice e dalla dimensione specificati.
abstract DataBufferWindow < DoubleDataBuffer >
finestra (formato lungo)
Crea un DataBufferWindow che fornisce una visualizzazione parziale di questo buffer.
astratto DoubleDataBuffer
scrivi (double[] src)
Metodo di messa in blocco, utilizzando doppi array.
astratto DoubleDataBuffer
scrivi (double[] src, int offset, int length)
Metodo di messa in blocco, utilizzando doppi array.

Metodi ereditati

Metodi pubblici

public abstract DoubleDataBuffer copyTo ( DataBuffer <Double> dst, dimensione lunga)

public abstract double getDouble (indice lungo)

Legge il double in corrispondenza dell'indice specificato.

Parametri
indice l'indice da cui verrà letto il float
Ritorni
  • il doppio dell'indice dato
Lancia
IndexOutOfBoundsException se l'indice è negativo o non inferiore alla dimensione del buffer

public abstract Double getObject (indice lungo)

Legge il valore dell'indice specificato. Importante: l'utilizzo di questo metodo deve essere limitato ai buffer di tipi non primitivi o quando il tipo di dati non è conosciuto in modo deterministico dal chiamante. In ogni altro caso, preferisci l'utilizzo della sua variante primitiva che migliorerà significativamente le prestazioni (ad esempio IntDataBuffer.getInt(idx)

Parametri
indice l'indice da cui verrà letto il float
Ritorni
  • il valore dell'indice dato

public abstract DoubleDataBuffer stretto (dimensione lunga)

Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, la cui dimensione è impostata sul valore specificato.

La nuova dimensione non deve essere maggiore della dimensione del buffer. Le modifiche al contenuto di questo buffer saranno visibili nel nuovo buffer e viceversa. Il nuovo buffer sarà di sola lettura se, e solo se, questo buffer è di sola lettura.

Questa chiamata è equivalente a slice(0, size)

Parametri
misurare dimensione di questo nuovo buffer
Ritorni
  • il nuovo tampone

offset pubblico astratto DoubleDataBuffer (indice lungo)

Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice specificato.

L'indice non deve essere maggiore della dimensione del buffer. Le modifiche al contenuto di questo buffer saranno visibili nel nuovo buffer e viceversa. Il nuovo buffer sarà di sola lettura se, e solo se, questo buffer è di sola lettura.

Questa chiamata è equivalente a slice(index, size() - index)

Parametri
indice indice del primo valore del nuovo buffer creato, non deve essere maggiore di size()
Ritorni
  • il nuovo tampone

lettura astratta pubblica DoubleDataBuffer (double[] dst)

Metodo di acquisizione in blocco, utilizzando doppi array.

Questo metodo trasferisce i valori da questo buffer nell'array di destinazione specificato. Se nel buffer sono presenti meno valori di quelli necessari per soddisfare la richiesta, ovvero se dst.length > size() , non viene trasferito alcun valore e viene generata un'eccezione BufferUnderflowException.

Altrimenti, questo metodo copia i valori n = dst.length da questo buffer nell'array specificato.

Parametri
dst l'array in cui devono essere scritti i valori
Ritorni
  • questo buffer
Lancia
BufferUnderflowException se non ci sono abbastanza valori da copiare da questo buffer

public abstract DoubleDataBuffer lettura (double[] dst, int offset, int length)

Metodo di acquisizione in blocco, utilizzando doppi array.

Questo metodo trasferisce i valori da questo buffer nell'array di destinazione specificato. Se nel buffer sono presenti meno valori di quelli necessari per soddisfare la richiesta, ovvero se length > size() , non viene trasferito alcun valore e viene generata un'eccezione BufferUnderflowException.

Altrimenti, questo metodo copia n = length da questo buffer nell'array specificato a partire dall'offset specificato.

Parametri
dst l'array in cui devono essere scritti i valori
offset l'offset all'interno dell'array del primo valore da scrivere; deve essere non negativo e non maggiore di dst.length
lunghezza il numero massimo di valori da scrivere nell'array specificato; deve essere non negativo e non maggiore di dst.length - offset
Ritorni
  • questo buffer
Lancia
BufferUnderflowException se in questo buffer rimangono meno valori di lunghezza
IndexOutOfBoundsException se le precondizioni sui parametri offset e lunghezza non valgono

public abstract DoubleDataBuffer setDouble (doppio valore, indice lungo)

Scrive il double specificato in questo buffer in corrispondenza dell'indice specificato.

Parametri
valore il doppio da scrivere
indice l'indice in cui verrà scritto il valore
Ritorni
  • questo buffer
Lancia
IndexOutOfBoundsException se l'indice è negativo o non inferiore alla dimensione del buffer
ReadOnlyBufferException se questo buffer è di sola lettura

public abstract DoubleDataBuffer setObject (doppio valore, indice lungo)

Sezione DoubleDataBuffer astratta pubblica (indice lungo, dimensione lunga)

Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice e dalla dimensione specificati.

L'indice più la nuova dimensione non devono essere maggiori della dimensione del buffer. Le modifiche al contenuto di questo buffer saranno visibili nel nuovo buffer e viceversa. Il nuovo buffer sarà di sola lettura se, e solo se, questo buffer è di sola lettura.

Parametri
indice indice del primo valore del nuovo buffer creato
misurare la dimensione di questo nuovo buffer non deve essere maggiore di size()
Ritorni
  • il nuovo tampone

public abstract DataBufferWindow < DoubleDataBuffer > finestra (dimensione lunga)

Crea un DataBufferWindow che fornisce una visualizzazione parziale di questo buffer.

La finestra creata ha una dimensione fissa e può "slide" lungo questo buffer per fornire diverse visualizzazioni dei dati senza allocare una nuova istanza del buffer, come fa offset(long) . Ciò migliora le prestazioni generali quando questa operazione viene ripetuta frequentemente. Per esempio:

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;
     
 }
 }

L'oggetto restituito è con stato e non è thread-safe.

Parametri
misurare dimensione della finestra
Ritorni
  • una nuova finestra che inizia dall'indice 0 di questo buffer

scrittura astratta pubblica DoubleDataBuffer (double[] src)

Metodo di messa in blocco, utilizzando doppi array.

Questo metodo trasferisce i valori nell'array di origine specificato in questo buffer. Se sono presenti più valori nell'array di origine che in questo buffer, ovvero se src.length > size() , non viene trasferito alcun valore e viene generata un'eccezione BufferOverflowException.

Altrimenti, questo metodo copia i valori n = src.length dall'array specificato.

Parametri
src l'array di origine da cui leggere i valori
Ritorni
  • questo buffer
Lancia
BufferOverflowException se lo spazio in questo buffer non è sufficiente per i valori nell'array di origine
ReadOnlyBufferException se questo buffer è di sola lettura

scrittura DoubleDataBuffer astratta pubblica (double[] src, int offset, int length)

Metodo di messa in blocco, utilizzando doppi array.

Questo metodo trasferisce i valori nell'array di origine specificato in questo buffer. Se sono presenti più valori nell'array di origine che in questo buffer, ovvero se length > size() , non viene trasferito alcun valore e viene generata un'eccezione BufferOverflowException.

Altrimenti, questo metodo copia n = length dall'array specificato in questo buffer, a partire dall'offset specificato.

Parametri
src l'array di origine da cui leggere i valori
offset l'offset all'interno dell'array del primo valore da leggere; deve essere non negativo e non maggiore di src.length
lunghezza il numero di valori da leggere dall'array specificato; deve essere non negativo e non maggiore di src.length - offset
Ritorni
  • questo buffer
Lancia
BufferOverflowException se lo spazio in questo buffer non è sufficiente per i valori nell'array di origine
IndexOutOfBoundsException se le precondizioni sui parametri offset e lunghezza non valgono
ReadOnlyBufferException se questo buffer è di sola lettura