|
|
|
Defined in header <math.h> | ||
float ceilf(float arg); | (1) | (since C99) |
double ceil(double arg); | (2) | |
longdouble ceill(longdouble arg); | (3) | (since C99) |
Defined in header <tgmath.h> | ||
#define ceil( arg ) | (4) | (since C99) |
ceill
is called. Otherwise, ifarg has integer type or the typedouble,ceil
is called. Otherwise,ceilf
is called.Contents |
arg | - | floating-point value |
If no errors occur, the smallest integer value not less thanarg, that is⌈arg⌉, is returned.
Errors are reported as specified inmath_errhandling
.
If the implementation supports IEEE floating-point arithmetic (IEC 60559):
FE_INEXACT may be (but isn't required to be) raised when rounding a non-integer finite value.
The largest representable floating-point values are exact integers in all standard floating-point formats, so this function never overflows on its own; however the result may overflow any integer type (includingintmax_t), when stored in an integer variable.
This function (fordouble argument) behaves as if (except for the freedom to not raiseFE_INEXACT) implemented by
#include <fenv.h>#include <math.h>#pragma STDC FENV_ACCESS ON double ceil(double x){double result;int save_round=fegetround();fesetround(FE_UPWARD); result=rint(x);// or nearbyintfesetround(save_round);return result;}
Possible output:
ceil(+2.4) = +3.0ceil(-2.4) = -2.0ceil(-0.0) = -0.0ceil(-Inf) = -inf
(C99)(C99) | computes largest integer not greater than the given value (function)[edit] |
(C99)(C99)(C99) | rounds to nearest integer not greater in magnitude than the given value (function)[edit] |
(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99) | rounds to nearest integer, rounding away from zero in halfway cases (function)[edit] |
(C99)(C99)(C99) | rounds to an integer using current rounding mode (function)[edit] |
(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99) | rounds to an integer using current rounding mode with exception if the result differs (function)[edit] |
C++ documentation forceil |