public interface NTTConvolutionStepStrategy
Modifier and Type | Method and Description |
---|---|
void |
multiplyInPlace(DataStorage sourceAndDestination,
DataStorage source,
int modulus)
Linear multiplication in the number theoretic domain.
|
void |
squareInPlace(DataStorage sourceAndDestination,
int modulus)
Linear squaring in the number theoretic domain.
|
void multiplyInPlace(DataStorage sourceAndDestination, DataStorage source, int modulus) throws ApfloatRuntimeException
sourceAndDestination[i] *= source[i] (mod m)
.
For maximum performance, sourceAndDestination
should be in memory if possible.
sourceAndDestination
- The first source data storage, which is also the destination.source
- The second source data storage.modulus
- Which modulus to use (0, 1, 2)ApfloatRuntimeException
void squareInPlace(DataStorage sourceAndDestination, int modulus) throws ApfloatRuntimeException
sourceAndDestination[i] *= sourceAndDestination[i] (mod m)
.
For maximum performance, sourceAndDestination
should be in memory if possible.
sourceAndDestination
- The source data storage, which is also the destination.modulus
- Which modulus to use (0, 1, 2)ApfloatRuntimeException
Copyright © 2018. All rights reserved.