I'm not quite sure what you are asking really.
I am starting to use 'single' more and more often nowadays because we work with very large datasets which, while stored in file as integers, have to be converted to floating point in Matlab to do maths, but since a double takes twice the memory of a single this is an excessive use of memory quite often.
The extra precision that a double gives is rarely relevant and especially given that at the end of whatever calculation I am doing the final result will be converted back to integer anyway with the requisite loss of accuracy.
Propagation of the data type from the start through to its results is not exactly uncommon though. In C++ you generally have to cast to a different data type (or accept warnings in your code) if you want the result in a different type to the original variable.
Best Answer