# Class DoubleBuilderFactory

java.lang.Object
org.apfloat.internal.DoubleBuilderFactory

All Implemented Interfaces:
  `BuilderFactory`

public class DoubleBuilderFactory extends Object implements BuilderFactory
Factory class for getting instances of the various builder classes needed to build an `ApfloatImpl` with the `double` data element type.

Version:
  1.15.0
Author:
  Mikko Tommila

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DoubleBuilderFactory()`
  Default constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `gc()`
  Do garbage collection and related things such as empty any reference queues.
  `<T> AdditionBuilder<T>`
  `getAdditionBuilder(Class<T> elementType)`
  Returns an `AdditionBuilder` object.
  `ApfloatBuilder`
  `getApfloatBuilder()`
  Returns an `ApfloatBuilder` object.
  `<T> CarryCRTBuilder<T>`
  `getCarryCRTBuilder(Class<T> elementArrayType)`
  Returns a `CarryCRTBuilder` object.
  `ConvolutionBuilder`
  `getConvolutionBuilder()`
  Returns a `ConvolutionBuilder` object.
  `DataStorageBuilder`
  `getDataStorageBuilder()`
  Returns a `DataStorageBuilder` object.
  `Class<?>`
  `getElementArrayType()`
  Returns the element array type of the data objects created.
  `int`
  `getElementSize()`
  Returns the element size of the data objects created, in bytes.
  `Class<?>`
  `getElementType()`
  Returns the element type of the data objects created.
  `ExecutionBuilder`
  `getExecutionBuilder()`
  Returns an `ExecutionBuilder` object.
  `MatrixBuilder`
  `getMatrixBuilder()`
  Returns a `MatrixBuilder` object.
  `NTTBuilder`
  `getNTTBuilder()`
  Returns an `NTTBuilder` object.
  `void`
  `shutdown()`
  Shuts down the builder factory.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### DoubleBuilderFactory

    public DoubleBuilderFactory()
    Default constructor.

- ## Method Details

  - ### getApfloatBuilder

    public ApfloatBuilder getApfloatBuilder()
    Description copied from interface: `BuilderFactory`
    Returns an `ApfloatBuilder` object.
    Specified by:
      `getApfloatBuilder` in interface `BuilderFactory`
    Returns:
      An `ApfloatBuilder` object.

  - ### getDataStorageBuilder

    public DataStorageBuilder getDataStorageBuilder()
    Description copied from interface: `BuilderFactory`
    Returns a `DataStorageBuilder` object.
    Specified by:
      `getDataStorageBuilder` in interface `BuilderFactory`
    Returns:
      A `DataStorageBuilder` object.

  - ### getAdditionBuilder

    public <T> AdditionBuilder<T> getAdditionBuilder(Class<T> elementType) throws IllegalArgumentException
    Description copied from interface: `BuilderFactory`
    Returns an `AdditionBuilder` object.
    Specified by:
      `getAdditionBuilder` in interface `BuilderFactory`
    Type Parameters:
      `T` - The element type of the additions.
    Parameters:
      `elementType` - The element type of the additions.
    Returns:
      An `AdditionBuilder` object.
    Throws:
      `IllegalArgumentException` - In case of unsupported element type.

  - ### getConvolutionBuilder

    public ConvolutionBuilder getConvolutionBuilder()
    Description copied from interface: `BuilderFactory`
    Returns a `ConvolutionBuilder` object.
    Specified by:
      `getConvolutionBuilder` in interface `BuilderFactory`
    Returns:
      A `ConvolutionBuilder` object.

  - ### getNTTBuilder

    public NTTBuilder getNTTBuilder()
    Description copied from interface: `BuilderFactory`
    Returns an `NTTBuilder` object.
    Specified by:
      `getNTTBuilder` in interface `BuilderFactory`
    Returns:
      An `NTTBuilder` object.

  - ### getMatrixBuilder

    public MatrixBuilder getMatrixBuilder()
    Description copied from interface: `BuilderFactory`
    Returns a `MatrixBuilder` object.
    Specified by:
      `getMatrixBuilder` in interface `BuilderFactory`
    Returns:
      A `MatrixBuilder` object.

  - ### getCarryCRTBuilder

    public <T> CarryCRTBuilder<T> getCarryCRTBuilder(Class<T> elementArrayType) throws IllegalArgumentException
    Description copied from interface: `BuilderFactory`
    Returns a `CarryCRTBuilder` object.
    Specified by:
      `getCarryCRTBuilder` in interface `BuilderFactory`
    Type Parameters:
      `T` - The element array type of the carry-CRT.
    Parameters:
      `elementArrayType` - The element array type of the carry-CRT.
    Returns:
      A `CarryCRTBuilder` object.
    Throws:
      `IllegalArgumentException` - In case of unsupported element array type.

  - ### getExecutionBuilder

    public ExecutionBuilder getExecutionBuilder()
    Description copied from interface: `BuilderFactory`
    Returns an `ExecutionBuilder` object.
    Specified by:
      `getExecutionBuilder` in interface `BuilderFactory`
    Returns:
      An `ExecutionBuilder` object.

  - ### getElementType

    public Class<?> getElementType()
    Description copied from interface: `BuilderFactory`
    Returns the element type of the data objects created.
    Specified by:
      `getElementType` in interface `BuilderFactory`
    Returns:
      The element type of the data objects created.

  - ### getElementArrayType

    public Class<?> getElementArrayType()
    Description copied from interface: `BuilderFactory`
    Returns the element array type of the data objects created.
    Specified by:
      `getElementArrayType` in interface `BuilderFactory`
    Returns:
      The element array type of the data objects created.

  - ### getElementSize

    public int getElementSize()
    Description copied from interface: `BuilderFactory`
    Returns the element size of the data objects created, in bytes.
    Specified by:
      `getElementSize` in interface `BuilderFactory`
    Returns:
      The element size of the data objects created, in bytes.

  - ### shutdown

    public void shutdown() throws ApfloatRuntimeException
    Description copied from interface: `BuilderFactory`
    Shuts down the builder factory. Clean-up tasks can be executed by this method. This method is invoked by the `ApfloatContext` when cleanupAtExit is enabled.
    Specified by:
      `shutdown` in interface `BuilderFactory`
    Throws:
      `ApfloatRuntimeException`

  - ### gc

    public void gc() throws ApfloatRuntimeException
    Description copied from interface: `BuilderFactory`
    Do garbage collection and related things such as empty any reference queues.
    Specified by:
      `gc` in interface `BuilderFactory`
    Throws:
      `ApfloatRuntimeException`