handle float32 input correctly

When presented with a float32 input, the library should perform a 32-bit
single precision transform and not a full double-precision one.  Add
test cases for float32 and make the transform library pass.
Merge pull request #12 from rjw57/handle-float32

handle float32 input correctly