module std.math.rounding; pragma(LDC_intrinsic, "llvm.round.f#") T llvm_round(T)(T val) if(__traits(isFloating, T)); float round(float x) => llvm_round(x); double round(double x) => llvm_round(x); pragma(LDC_intrinsic, "llvm.floor.f#") T llvm_floor(T)(T val) if(__traits(isFloating, T)); float floor(float x) => llvm_floor(x); double floor(double x) => llvm_floor(x); pragma(LDC_intrisic, "llvm.ceil.f#") T llvm_ceil(T)(T val) if(__traits(isFloating, T)); float ceil(float x) => llvm_ceil(x); double ceil(double x) => llvm_ceil(x);