Why do you clobber the ```dtype``` here regardlessly ?

I'm assuming it's because follow-on interpolation routines require floating-point data. If that's the case then could you please add a comment.

Also, what if the ```dtype``` is ```float64``` ? Is that not good enough ? Must it always be ```float32``` ?