http://stackoverflow.com/questions/2386772/difference-between-float-and-double