If you call std::ceil with a float, you get the ceil(float) overload. If you don't call it with a float, you haven't got subtle precision anyway and calling ceil didn't change that.
If you need ceilf you can include <math.h> and call ceilf.
If you call std::ceil with a float, you get the ceil(float) overload. If you don't call it with a float, you haven't got subtle precision anyway and calling ceil didn't change that.
If you need ceilf you can include <math.h> and call ceilf.