Generalized to types floatingpoint