# Uses of Interface
org.apfloat.spi.ConvolutionStrategy

Packages that use ConvolutionStrategy
Package
Description
org.apfloat.internal
Default implementations of the apfloat Service Provider Interface (SPI).
org.apfloat.spi
The apfloat Service Provider Interface (SPI).

- ## Uses of ConvolutionStrategy in org.apfloat.internal

  Classes in org.apfloat.internal that implement ConvolutionStrategy
  Modifier and Type
  Class
  Description
  `class`
  `DoubleKaratsubaConvolutionStrategy`
  Convolution strategy using the Karatsuba algorithm.
  `class`
  `DoubleMediumConvolutionStrategy`
  Medium-length convolution strategy.
  `class`
  `DoubleShortConvolutionStrategy`
  Short convolution strategy.
  `class`
  `FloatKaratsubaConvolutionStrategy`
  Convolution strategy using the Karatsuba algorithm.
  `class`
  `FloatMediumConvolutionStrategy`
  Medium-length convolution strategy.
  `class`
  `FloatShortConvolutionStrategy`
  Short convolution strategy.
  `class`
  `IntKaratsubaConvolutionStrategy`
  Convolution strategy using the Karatsuba algorithm.
  `class`
  `IntMediumConvolutionStrategy`
  Medium-length convolution strategy.
  `class`
  `IntShortConvolutionStrategy`
  Short convolution strategy.
  `class`
  `LongKaratsubaConvolutionStrategy`
  Convolution strategy using the Karatsuba algorithm.
  `class`
  `LongMediumConvolutionStrategy`
  Medium-length convolution strategy.
  `class`
  `LongShortConvolutionStrategy`
  Short convolution strategy.
  `class`
  `ParallelThreeNTTConvolutionStrategy`
  Convolution using three Number Theoretic Transforms and the CRT to get the final result, using multiple threads in parallel.
  `class`
  `ThreeNTTConvolutionStrategy`
  Convolution using three Number Theoretic Transforms and the Chinese Remainder Theorem to get the final result.
  Methods in org.apfloat.internal that return ConvolutionStrategy
  Modifier and Type
  Method
  Description
  `ConvolutionStrategy`
  AbstractConvolutionBuilder.`createConvolution(int radix, long size1, long size2, long resultSize)`
  `protected abstract ConvolutionStrategy`
  AbstractConvolutionBuilder.`createKaratsubaConvolutionStrategy(int radix)`
  Create a Karatsuba convolution strategy.
  `protected ConvolutionStrategy`
  DoubleConvolutionBuilder.`createKaratsubaConvolutionStrategy(int radix)`
  `protected ConvolutionStrategy`
  FloatConvolutionBuilder.`createKaratsubaConvolutionStrategy(int radix)`
  `protected ConvolutionStrategy`
  IntConvolutionBuilder.`createKaratsubaConvolutionStrategy(int radix)`
  `protected ConvolutionStrategy`
  LongConvolutionBuilder.`createKaratsubaConvolutionStrategy(int radix)`
  `protected abstract ConvolutionStrategy`
  AbstractConvolutionBuilder.`createMediumConvolutionStrategy(int radix)`
  Create a medium-length convolution strategy where the size of one of the data sets is relatively small (but more than one).
  `protected ConvolutionStrategy`
  DoubleConvolutionBuilder.`createMediumConvolutionStrategy(int radix)`
  `protected ConvolutionStrategy`
  FloatConvolutionBuilder.`createMediumConvolutionStrategy(int radix)`
  `protected ConvolutionStrategy`
  IntConvolutionBuilder.`createMediumConvolutionStrategy(int radix)`
  `protected ConvolutionStrategy`
  LongConvolutionBuilder.`createMediumConvolutionStrategy(int radix)`
  `protected abstract ConvolutionStrategy`
  AbstractConvolutionBuilder.`createShortConvolutionStrategy(int radix)`
  Create a short-length convolution strategy where the size of either data set is one.
  `protected ConvolutionStrategy`
  DoubleConvolutionBuilder.`createShortConvolutionStrategy(int radix)`
  `protected ConvolutionStrategy`
  FloatConvolutionBuilder.`createShortConvolutionStrategy(int radix)`
  `protected ConvolutionStrategy`
  IntConvolutionBuilder.`createShortConvolutionStrategy(int radix)`
  `protected ConvolutionStrategy`
  LongConvolutionBuilder.`createShortConvolutionStrategy(int radix)`
  `protected abstract ConvolutionStrategy`
  AbstractConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  Create a 3-NTT convolution strategy.
  `protected ConvolutionStrategy`
  DoubleConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  `protected ConvolutionStrategy`
  FloatConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  `protected ConvolutionStrategy`
  IntConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`
  `protected ConvolutionStrategy`
  LongConvolutionBuilder.`createThreeNTTConvolutionStrategy(int radix, NTTStrategy nttStrategy)`

- ## Uses of ConvolutionStrategy in org.apfloat.spi

  Methods in org.apfloat.spi that return ConvolutionStrategy
  Modifier and Type
  Method
  Description
  `ConvolutionStrategy`
  ConvolutionBuilder.`createConvolution(int radix, long size1, long size2, long resultSize)`
  Returns a convolution strategy of suitable type for the specified length.