Maxima Function
floor (x)
When x is a real number, return the largest integer that is less than or equal to x.
If x is a constant expression (10 * %pi
, for example),
floor
evaluates x using big floating point numbers, and
applies floor to the resulting big float. Because floor uses
floating point evaluation, it's possible, although unlikely,
that floor
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, floor
tries to return a simplified
value. Here are examples of the simplifications that floor
knows about:
(%i1) floor (ceiling (x)); (%o1) ceiling(x) (%i2) floor (floor (x)); (%o2) floor(x) (%i3) declare (n, integer)$ (%i4) [floor (n), floor (abs (n)), floor (min (n, 6))]; (%o4) [n, abs(n), min(n, 6)] (%i5) assume (x > 0, x < 1)$ (%i6) floor (x); (%o6) 0 (%i7) tex (floor (a)); $$\left \lfloor a \right \rfloor$$ (%o7) false
The function floor
does not automatically map over lists or matrices.
Finally, for all inputs that are manifestly complex, floor
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