### The Maxima on-line user's manual

Algebra Calculator

#### Ceiling

Function: ceiling (<x>) When <x> is a real number, return the least integer that is greater than or equal to <x>.

If <x> is a constant expression (10 * %pi, for example), ceiling evaluates <x> using big floating point numbers, and applies ceiling to the resulting big float. Because ceiling uses floating point evaluation, its possible, although unlikely, that ceiling could return an erroneous value for constant inputs. To guard against errors, the floating point evaluation is done using three values for fpprec.

For non-constant inputs, ceiling tries to return a simplified value. Here are examples of the simplifications that ceiling knows about:

          (%i1) ceiling (ceiling (x));
(%o1)                      ceiling(x)
(%i2) ceiling (floor (x));
(%o2)                       floor(x)
(%i3) declare (n, integer)$(%i4) [ceiling (n), ceiling (abs (n)), ceiling (max (n, 6))]; (%o4) [n, abs(n), max(n, 6)] (%i5) assume (x > 0, x < 1)$
(%i6) ceiling (x);
(%o6)                           1
(%i7) tex (ceiling (a));
$$\left \lceil a \right \rceil$$
(%o7)                         false

The function ceiling does not automatically map over lists or matrices. Finally, for all inputs that are manifestly complex, ceiling returns a noun form.

If the range of a function is a subset of the integers, it can be declared to be integervalued. Both the ceiling and floor functions can use this information; for example:

          (%i1) declare (f, integervalued)\$
(%i2) floor (f(x));
(%o2)                         f(x)
(%i3) ceiling (f(x) - 1);
(%o3)                       f(x) - 1

(%o1)                                true
(%i2) 

### Related Examples

kill(all);

a1:1;

q:0.25;

Calculate

round(0.5);

ceiling(0.5);

floor(0.5);

Calculate

ceiling(2.718);

Calculate

##### ceiling-do-float-genmatrix-kill-permanent-print-random-row-sqrt

norm(x):=sqrt(x.x);

for i:1 thru 3 do (a[...

Calculate

##### ceiling-col-do-endcons-float-genmatrix-kill-makelist-min-permanent-print-random-row-sort-sqrt-transpose

r:4;

n1:10;

n2:3;

Calculate

setify(makelist(1/k, ...

Calculate

r:4;

n1:10;

n2:3;

Calculate

##### ceiling-floor-log-sum

/* input number n */n...

1+sum((1-floor((1/n)*...

Calculate

##### ceiling-plot2d-subst

plot2d([subst([k=2],(...

Calculate

##### ceiling-do-floor-lambda-let

:lisp (defun open-bra...

:lisp (set-macro-char...

:lisp (set-macro-char...

Calculate