Robuster size checking for floating point types.
Removed some redundant code from tsmartptr.h.
Merge pull request #383 from TsudaKageyu/redundant-smartptr2

Removed some redundant code from tsmartptr.h.
Merge pull request #379 from TsudaKageyu/sizecheck

Robuster size checking for floating point types.