added ability to differentiate casts between float and double