Document auto/float/double strategy and apply consistently
E.g. input data has mixture of float and double, algorithm should (typically) upgrade this to double, explicit static_cast for output data that is float, but not for output data saved as double.