# Class ArrayOfDoublesSerDe

java.lang.Object
org.apache.datasketches.common.ArrayOfItemsSerDe<Double>
org.apache.datasketches.common.ArrayOfDoublesSerDe

public class ArrayOfDoublesSerDe extends ArrayOfItemsSerDe<Double>
Methods of serializing and deserializing arrays of Double.

Author:
  Alexander Saydakov

## Constructor Summary

Constructors
Constructor
Description
`ArrayOfDoublesSerDe()`
No argument constructor.

## Method Summary

Modifier and Type
Method
Description
`Double[]`
`deserializeFromMemorySegment(MemorySegment seg, int numItems)`
Deserialize a contiguous sequence of serialized items from the given MemorySegment starting at a MemorySegment offset of zero and extending numItems.
`Double[]`
`deserializeFromMemorySegment(MemorySegment seg, long offsetBytes, int numItems)`
Deserialize a contiguous sequence of serialized items from the given MemorySegment starting at the given MemorySegment offsetBytes and extending numItems.
`Class<Double>`
`getClassOfT()`
Returns the concrete class of type T
`byte[]`
`serializeToByteArray(Double item)`
Serialize a single unserialized item to a byte array.
`byte[]`
`serializeToByteArray(Double[] items)`
Serialize an array of unserialized items to a byte array of contiguous serialized items.
`int`
`sizeOf(Double item)`
Returns the serialized size in bytes of a single unserialized item.
`int`
`sizeOf(Double[] items)`
Returns the serialized size in bytes of the array of items.
`int`
`sizeOf(MemorySegment seg, long offsetBytes, int numItems)`
Returns the serialized size in bytes of the number of contiguous serialized items in MemorySegment.
`String`
`toString(Double item)`
Returns a human readable string of an item.

### Methods inherited from class Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ArrayOfDoublesSerDe

public ArrayOfDoublesSerDe()
No argument constructor.

## Method Details

### serializeToByteArray

public byte[] serializeToByteArray(Double item)
Description copied from class: `ArrayOfItemsSerDe`
Serialize a single unserialized item to a byte array.

Specified by:
  `serializeToByteArray` in class `ArrayOfItemsSerDe<Double>`
Parameters:
  `item` - the item to be serialized
Returns:
  serialized representation of the given item

### serializeToByteArray

public byte[] serializeToByteArray(Double[] items)
Description copied from class: `ArrayOfItemsSerDe`
Serialize an array of unserialized items to a byte array of contiguous serialized items.

Specified by:
  `serializeToByteArray` in class `ArrayOfItemsSerDe<Double>`
Parameters:
  `items` - array of items to be serialized
Returns:
  contiguous, serialized representation of the given array of unserialized items

### deserializeFromMemorySegment

public Double[] deserializeFromMemorySegment(MemorySegment seg, int numItems)
Description copied from class: `ArrayOfItemsSerDe`
Deserialize a contiguous sequence of serialized items from the given MemorySegment starting at a MemorySegment offset of zero and extending numItems.

Overrides:
  `deserializeFromMemorySegment` in class `ArrayOfItemsSerDe<Double>`
Parameters:
  `seg` - MemorySegment containing a contiguous sequence of serialized items
  `numItems` - number of items in the contiguous serialized sequence.
Returns:
  array of deserialized items
See Also:
  - `ArrayOfItemsSerDe.deserializeFromMemorySegment(MemorySegment, long, int)`

### deserializeFromMemorySegment

public Double[] deserializeFromMemorySegment(MemorySegment seg, long offsetBytes, int numItems)
Description copied from class: `ArrayOfItemsSerDe`
Deserialize a contiguous sequence of serialized items from the given MemorySegment starting at the given MemorySegment offsetBytes and extending numItems.

Specified by:
  `deserializeFromMemorySegment` in class `ArrayOfItemsSerDe<Double>`
Parameters:
  `seg` - MemorySegment containing a contiguous sequence of serialized items
  `offsetBytes` - the starting offset in the given MemorySegment.
  `numItems` - number of items in the contiguous serialized sequence.
Returns:
  array of deserialized items

### sizeOf

public int sizeOf(Double item)
Description copied from class: `ArrayOfItemsSerDe`
Returns the serialized size in bytes of a single unserialized item.

Specified by:
  `sizeOf` in class `ArrayOfItemsSerDe<Double>`
Parameters:
  `item` - a specific item
Returns:
  the serialized size in bytes of a single unserialized item.

### sizeOf

public int sizeOf(Double[] items)
Description copied from class: `ArrayOfItemsSerDe`
Returns the serialized size in bytes of the array of items.

Overrides:
  `sizeOf` in class `ArrayOfItemsSerDe<Double>`
Parameters:
  `items` - an array of items.
Returns:
  the serialized size in bytes of the array of items.

### sizeOf

public int sizeOf(MemorySegment seg, long offsetBytes, int numItems)
Description copied from class: `ArrayOfItemsSerDe`
Returns the serialized size in bytes of the number of contiguous serialized items in MemorySegment. The capacity of the given MemorySegment can be much larger that the required size of the items.

Specified by:
  `sizeOf` in class `ArrayOfItemsSerDe<Double>`
Parameters:
  `seg` - the given MemorySegment.
  `offsetBytes` - the starting offset in the given MemorySegment.
  `numItems` - the number of serialized items contained in the MemorySegment
Returns:
  the serialized size in bytes of the given number of items.

### toString

public String toString(Double item)
Description copied from class: `ArrayOfItemsSerDe`
Returns a human readable string of an item.

Specified by:
  `toString` in class `ArrayOfItemsSerDe<Double>`
Parameters:
  `item` - a specific item
Returns:
  a human readable string of an item.

### getClassOfT

public Class<Double> getClassOfT()
Description copied from class: `ArrayOfItemsSerDe`
Returns the concrete class of type T

Specified by:
  `getClassOfT` in class `ArrayOfItemsSerDe<Double>`
Returns:
  the concrete class of type T