The second week of Coding Period has concluded.

I started the week by finalizing the PR #14725. The PR has been merged successfully. Fast Walsh Hadamard Transform (fwht) will be added along with XOR Convolution at a later point of time.

Late this week, I started working on the convolution module PR #14745 with the aim of adding the following along with appropriate tests.

  • Convolution using Fast Fourier Transform (convolution_fft)
  • Convolution using Number Theoretic Transform (convolution_ntt)
  • General Convolution method (convolution)

Kalevi and Aaron suggested using convolution as the name for the methods instead of conv. I had a detailed discussion with Kalevi regarding the API of the methods, the need to tie convolution with DFT (Discrete Fourier Transform), and handling the cyclic convolution case.

Successive reviews helped in the following changes to PR:

  • including cycle for general convolution method
  • usage of **hints argument in convolution for flexibility of the API
  • handling empty list [] cases
  • defaulting cycle=0 as normal convolution

Looking forward to another exciting week.

Published: 29 May 2018