|
LibSWIFFT
1.2.0
|
LibSWIFFT internal C code expansion. More...
#include <stddef.h>#include <string.h>#include "libswifft/swifft_iset.inl"#include "swifft_ops.inl"
Macros | |
| #define | SWIFFT_BLOCKS_PARALLELIZATION_THRESHOLD 8 |
Functions | |
| LIBSWIFFT_BEGIN_EXTERN_C void SWIFFT_ISET_NAME() | SWIFFT_fft_ (const BitSequence *LIBSWIFFT_RESTRICT input, const BitSequence *LIBSWIFFT_RESTRICT sign, int m, int16_t *LIBSWIFFT_RESTRICT fftout) |
| Computes the FFT phase of SWIFFT. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_fftsum_ (const int16_t *LIBSWIFFT_RESTRICT ikey, const int16_t *LIBSWIFFT_RESTRICT ifftout, int m, int16_t *LIBSWIFFT_RESTRICT iout) |
| Computes the FFT-sum phase of SWIFFT. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ConstSet_ (BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], const int16_t operand) |
| Sets a constant value at each SWIFFT hash value element. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ConstAdd_ (BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], const int16_t operand) |
| Adds a constant value to each SWIFFT hash value element. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ConstSub_ (BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], const int16_t operand) |
| Subtracts a constant value from each SWIFFT hash value element. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ConstMul_ (BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], const int16_t operand) |
| Multiply a constant value into each SWIFFT hash value element. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_Set_ (BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], const BitSequence operand[SWIFFT_OUTPUT_BLOCK_SIZE]) |
| Sets a SWIFFT hash value to another, element-wise. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_Add_ (BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], const BitSequence operand[SWIFFT_OUTPUT_BLOCK_SIZE]) |
| Adds a SWIFFT hash value to another, element-wise. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_Sub_ (BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], const BitSequence operand[SWIFFT_OUTPUT_BLOCK_SIZE]) |
| Subtracts a SWIFFT hash value from another, element-wise. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_Mul_ (BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], const BitSequence operand[SWIFFT_OUTPUT_BLOCK_SIZE]) |
| Multiplies a SWIFFT hash value from another, element-wise. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_Compute_ (const BitSequence input[SWIFFT_INPUT_BLOCK_SIZE], BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE]) |
| Computes the result of a SWIFFT operation. The result is composable with other hash values. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ComputeSigned_ (const BitSequence input[SWIFFT_INPUT_BLOCK_SIZE], const BitSequence sign[SWIFFT_INPUT_BLOCK_SIZE], BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE]) |
| Computes the result of a SWIFFT operation. The result is composable with other hash values. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_fftMultiple_ (int nblocks, const BitSequence *LIBSWIFFT_RESTRICT input, const BitSequence *LIBSWIFFT_RESTRICT sign, int m, int16_t *LIBSWIFFT_RESTRICT fftout) |
| Computes the FFT phase of SWIFFT for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_fftsumMultiple_ (int nblocks, const int16_t *LIBSWIFFT_RESTRICT ikey, const int16_t *LIBSWIFFT_RESTRICT ifftout, int m, int16_t *LIBSWIFFT_RESTRICT iout) |
| Computes the FFT-sum phase of SWIFFT for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_CompactMultiple_ (int nblocks, const BitSequence *output, BitSequence *compact) |
| Compacts a hash value of SWIFFT for multiple blocks. The result is not composable with other compacted hash values. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ConstSetMultiple_ (int nblocks, BitSequence *output, const int16_t *operand) |
| Sets a constant value at each SWIFFT hash value element for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ConstAddMultiple_ (int nblocks, BitSequence *output, const int16_t *operand) |
| Adds a constant value to each SWIFFT hash value element for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ConstSubMultiple_ (int nblocks, BitSequence *output, const int16_t *operand) |
| Subtracts a constant value from each SWIFFT hash value element for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ConstMulMultiple_ (int nblocks, BitSequence *output, const int16_t *operand) |
| Multiply a constant value into each SWIFFT hash value element for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_SetMultiple_ (int nblocks, BitSequence *output, const BitSequence *operand) |
| Sets a SWIFFT hash value to another, element-wise, for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_AddMultiple_ (int nblocks, BitSequence *output, const BitSequence *operand) |
| Adds a SWIFFT hash value to another, element-wise, for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_SubMultiple_ (int nblocks, BitSequence *output, const BitSequence *operand) |
| Subtracts a SWIFFT hash value from another, element-wise, for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_MulMultiple_ (int nblocks, BitSequence *output, const BitSequence *operand) |
| Multiplies a SWIFFT hash value from another, element-wise, for multiple blocks. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ComputeMultiple_ (int nblocks, const BitSequence *input, BitSequence *output) |
| Computes the result of multiple SWIFFT operations. The result is composable with other hash values. More... | |
| void SWIFFT_ISET_NAME() | SWIFFT_ComputeMultipleSigned_ (int nblocks, const BitSequence *input, const BitSequence *sign, BitSequence *output) |
| Computes the result of multiple SWIFFT operations. The result is composable with other hash values. More... | |
LibSWIFFT internal C code expansion.
| #define SWIFFT_BLOCKS_PARALLELIZATION_THRESHOLD 8 |
| void SWIFFT_ISET_NAME() SWIFFT_Add_ | ( | BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE], |
| const BitSequence | operand[SWIFFT_OUTPUT_BLOCK_SIZE] | ||
| ) |
Adds a SWIFFT hash value to another, element-wise.
| [in,out] | output | the hash value of SWIFFT to modify. |
| [in] | operand | the hash value to add. |
| void SWIFFT_ISET_NAME() SWIFFT_AddMultiple_ | ( | int | nblocks, |
| BitSequence * | output, | ||
| const BitSequence * | operand | ||
| ) |
Adds a SWIFFT hash value to another, element-wise, for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [in,out] | output | the hash value of SWIFFT to modify, per block.. |
| [in] | operand | the hash value to add, per block. |
| void SWIFFT_ISET_NAME() SWIFFT_CompactMultiple_ | ( | int | nblocks, |
| const BitSequence * | output, | ||
| BitSequence * | compact | ||
| ) |
Compacts a hash value of SWIFFT for multiple blocks. The result is not composable with other compacted hash values.
| [in] | nblocks | the number of blocks to operate on. |
| [in] | output | the hash value of SWIFFT, of size 128 bytes (1024 bit) per block. |
| [out] | compact | the compacted hash value of SWIFFT, of size 64 bytes (512 bit) per block. |
| void SWIFFT_ISET_NAME() SWIFFT_Compute_ | ( | const BitSequence | input[SWIFFT_INPUT_BLOCK_SIZE], |
| BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE] | ||
| ) |
Computes the result of a SWIFFT operation. The result is composable with other hash values.
| [in] | input | the input of 256 bytes (2048 bit). |
| [out] | output | the resulting hash value of SWIFFT, of size 128 bytes (1024 bit). |
| void SWIFFT_ISET_NAME() SWIFFT_ComputeMultiple_ | ( | int | nblocks, |
| const BitSequence * | input, | ||
| BitSequence * | output | ||
| ) |
Computes the result of multiple SWIFFT operations. The result is composable with other hash values.
| [in] | nblocks | the number of blocks to operate on. |
| [in] | input | the blocks of input, each of 256 bytes (2048 bit). |
| [out] | output | the resulting blocks of hash values of SWIFFT, each of size 128 bytes (1024 bit). |
| void SWIFFT_ISET_NAME() SWIFFT_ComputeMultipleSigned_ | ( | int | nblocks, |
| const BitSequence * | input, | ||
| const BitSequence * | sign, | ||
| BitSequence * | output | ||
| ) |
Computes the result of multiple SWIFFT operations. The result is composable with other hash values.
| [in] | nblocks | the number of blocks to operate on. |
| [in] | input | the blocks of input, each of 256 bytes (2048 bit). |
| [in] | sign | the blocks of sign bits corresponding to blocks of input of 256 bytes (2048 bit). |
| [out] | output | the resulting blocks of hash values of SWIFFT, each of size 128 bytes (1024 bit). |
| void SWIFFT_ISET_NAME() SWIFFT_ComputeSigned_ | ( | const BitSequence | input[SWIFFT_INPUT_BLOCK_SIZE], |
| const BitSequence | sign[SWIFFT_INPUT_BLOCK_SIZE], | ||
| BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE] | ||
| ) |
Computes the result of a SWIFFT operation. The result is composable with other hash values.
| [in] | input | the input of 256 bytes (2048 bit). |
| [in] | sign | the sign bits corresponding to the input of 256 bytes (2048 bit). |
| [out] | output | the resulting hash value of SWIFFT, of size 128 bytes (1024 bit). |
| void SWIFFT_ISET_NAME() SWIFFT_ConstAdd_ | ( | BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE], |
| const int16_t | operand | ||
| ) |
Adds a constant value to each SWIFFT hash value element.
| [in,out] | output | the hash value of SWIFFT to modify. |
| [in] | operand | the constant value to add. |
| void SWIFFT_ISET_NAME() SWIFFT_ConstAddMultiple_ | ( | int | nblocks, |
| BitSequence * | output, | ||
| const int16_t * | operand | ||
| ) |
Adds a constant value to each SWIFFT hash value element for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [in,out] | output | the hash value of SWIFFT to modify, per block. |
| [in] | operand | the constant value to add, per block. |
| void SWIFFT_ISET_NAME() SWIFFT_ConstMul_ | ( | BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE], |
| const int16_t | operand | ||
| ) |
Multiply a constant value into each SWIFFT hash value element.
| [in,out] | output | the hash value of SWIFFT to modify. |
| [in] | operand | the constant value to multiply by. |
| void SWIFFT_ISET_NAME() SWIFFT_ConstMulMultiple_ | ( | int | nblocks, |
| BitSequence * | output, | ||
| const int16_t * | operand | ||
| ) |
Multiply a constant value into each SWIFFT hash value element for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [in,out] | output | the hash value of SWIFFT to modify, per block.. |
| [in] | operand | the constant value to multiply by, per block. |
| void SWIFFT_ISET_NAME() SWIFFT_ConstSet_ | ( | BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE], |
| const int16_t | operand | ||
| ) |
Sets a constant value at each SWIFFT hash value element.
| [out] | output | the hash value of SWIFFT to modify. |
| [in] | operand | the constant value to set. |
| void SWIFFT_ISET_NAME() SWIFFT_ConstSetMultiple_ | ( | int | nblocks, |
| BitSequence * | output, | ||
| const int16_t * | operand | ||
| ) |
Sets a constant value at each SWIFFT hash value element for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [out] | output | the hash value of SWIFFT to modify, per block. |
| [in] | operand | the constant value to set, per block. |
| void SWIFFT_ISET_NAME() SWIFFT_ConstSub_ | ( | BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE], |
| const int16_t | operand | ||
| ) |
Subtracts a constant value from each SWIFFT hash value element.
| [in,out] | output | the hash value of SWIFFT to modify. |
| [in] | operand | the constant value to subtract. |
| void SWIFFT_ISET_NAME() SWIFFT_ConstSubMultiple_ | ( | int | nblocks, |
| BitSequence * | output, | ||
| const int16_t * | operand | ||
| ) |
Subtracts a constant value from each SWIFFT hash value element for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [in,out] | output | the hash value of SWIFFT to modify, per block.. |
| [in] | operand | the constant value to subtract, per block. |
| LIBSWIFFT_BEGIN_EXTERN_C void SWIFFT_ISET_NAME() SWIFFT_fft_ | ( | const BitSequence *LIBSWIFFT_RESTRICT | input, |
| const BitSequence *LIBSWIFFT_RESTRICT | sign, | ||
| int | m, | ||
| int16_t *LIBSWIFFT_RESTRICT | fftout | ||
| ) |
Computes the FFT phase of SWIFFT.
| [in] | input | the blocks of input, each of 256 bytes (2048 bits). |
| [in] | sign | the blocks of sign bits corresponding to blocks of input of 256 bytes (2048 bits). |
| [in] | m | number of 8-elements in the input. |
| [out] | fftout | the blocks of FFT-output elements, totaling SWIFFT_N*m. |
| void SWIFFT_ISET_NAME() SWIFFT_fftMultiple_ | ( | int | nblocks, |
| const BitSequence *LIBSWIFFT_RESTRICT | input, | ||
| const BitSequence *LIBSWIFFT_RESTRICT | sign, | ||
| int | m, | ||
| int16_t *LIBSWIFFT_RESTRICT | fftout | ||
| ) |
Computes the FFT phase of SWIFFT for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [in] | input | the blocks of input, each of 256 bytes (2048 bits). |
| [in] | sign | the blocks of sign bits corresponding to blocks of input of 256 bytes (2048 bits). |
| [in] | m | number of 8-elements in the input. |
| [out] | fftout | the blocks of FFT-output elements, totaling nblocks*N*m. |
| void SWIFFT_ISET_NAME() SWIFFT_fftsum_ | ( | const int16_t *LIBSWIFFT_RESTRICT | ikey, |
| const int16_t *LIBSWIFFT_RESTRICT | ifftout, | ||
| int | m, | ||
| int16_t *LIBSWIFFT_RESTRICT | iout | ||
| ) |
Computes the FFT-sum phase of SWIFFT.
| [in] | ikey | the SWIFFT key. |
| [in] | ifftout | the blocks of FFT-output elements, totaling N*m |
| [in] | m | number of 8-elements in the input. |
| [out] | iout | the blocks of output elements, each of 64 double-bytes (1024 bits). |
| void SWIFFT_ISET_NAME() SWIFFT_fftsumMultiple_ | ( | int | nblocks, |
| const int16_t *LIBSWIFFT_RESTRICT | ikey, | ||
| const int16_t *LIBSWIFFT_RESTRICT | ifftout, | ||
| int | m, | ||
| int16_t *LIBSWIFFT_RESTRICT | iout | ||
| ) |
Computes the FFT-sum phase of SWIFFT for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [in] | ikey | the SWIFFT key. |
| [in] | ifftout | the blocks of FFT-output elements, totaling N*m |
| [in] | m | number of 8-elements in the input. |
| [out] | iout | the blocks of output elements, each of 64 double-bytes (1024 bits). |
| void SWIFFT_ISET_NAME() SWIFFT_Mul_ | ( | BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE], |
| const BitSequence | operand[SWIFFT_OUTPUT_BLOCK_SIZE] | ||
| ) |
Multiplies a SWIFFT hash value from another, element-wise.
| [in,out] | output | the hash value of SWIFFT to modify. |
| [in] | operand | the hash value to multiply by. |
| void SWIFFT_ISET_NAME() SWIFFT_MulMultiple_ | ( | int | nblocks, |
| BitSequence * | output, | ||
| const BitSequence * | operand | ||
| ) |
Multiplies a SWIFFT hash value from another, element-wise, for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [in,out] | output | the hash value of SWIFFT to modify, per block.. |
| [in] | operand | the hash value to multiply by, per block. |
| void SWIFFT_ISET_NAME() SWIFFT_Set_ | ( | BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE], |
| const BitSequence | operand[SWIFFT_OUTPUT_BLOCK_SIZE] | ||
| ) |
Sets a SWIFFT hash value to another, element-wise.
| [in,out] | output | the hash value of SWIFFT to modify. |
| [in] | operand | the hash value to set to. |
| void SWIFFT_ISET_NAME() SWIFFT_SetMultiple_ | ( | int | nblocks, |
| BitSequence * | output, | ||
| const BitSequence * | operand | ||
| ) |
Sets a SWIFFT hash value to another, element-wise, for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [in,out] | output | the hash value of SWIFFT to modify, per block.. |
| [in] | operand | the hash value to set to, per block. |
| void SWIFFT_ISET_NAME() SWIFFT_Sub_ | ( | BitSequence | output[SWIFFT_OUTPUT_BLOCK_SIZE], |
| const BitSequence | operand[SWIFFT_OUTPUT_BLOCK_SIZE] | ||
| ) |
Subtracts a SWIFFT hash value from another, element-wise.
| [in,out] | output | the hash value of SWIFFT to modify. |
| [in] | operand | the hash value to subtract. |
| void SWIFFT_ISET_NAME() SWIFFT_SubMultiple_ | ( | int | nblocks, |
| BitSequence * | output, | ||
| const BitSequence * | operand | ||
| ) |
Subtracts a SWIFFT hash value from another, element-wise, for multiple blocks.
| [in] | nblocks | the number of blocks to operate on. |
| [in,out] | output | the hash value of SWIFFT to modify, per block.. |
| [in] | operand | the hash value to subtract, per block. |
1.8.13