From profiling some code performing a large number of FFT operations I found that due to isNaN being called as part of complex arithmetic a large proportion of time was spent within isNaN.
I would propose calculating isNaN and isFinite in the constructor to save calculating these values each time the methods are called.