I think the FFT class needs some clarifaction

```
/** Initialises an object for performing either a forward or inverse FFT with the given size.
The the number of points the FFT will operate on will be 2 ^ order.
*/
FFT (int order, bool isInverse);
```

When i read the code right it should be

The number of **complex-pairs** the FFT will operate on will be 2 ^ order.

Also

```
/** Returns the number of data points that this FFT was created to work with. */
int getSize() const noexcept { return size; }
```

should be

the number of **complex pairs** that this FFT was created to work with

am I right?

Also it would very handy to have a static function in the FFT class to find the right order for given number of real samples, i think something like this does the job

`int findMinimumOrder(int realSize) { return highestBitInInt(realSize-1)+1; }`

highestBitInInt borrowed from BigIngeger, where the lowest bit returns 0, the second lowest 1