mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-26 01:00:50 +01:00
36 lines
687 B
C++
36 lines
687 B
C++
#include <poincare/floor.h>
|
|
|
|
extern "C" {
|
|
#include <assert.h>
|
|
#include <math.h>
|
|
}
|
|
|
|
namespace Poincare {
|
|
|
|
Floor::Floor() :
|
|
Function("floor")
|
|
{
|
|
}
|
|
|
|
Expression::Type Floor::type() const {
|
|
return Type::Floor;
|
|
}
|
|
|
|
Expression * Floor::cloneWithDifferentOperands(Expression** newOperands,
|
|
int numberOfOperands, bool cloneOperands) const {
|
|
assert(newOperands != nullptr);
|
|
Floor * f = new Floor();
|
|
f->setArgument(newOperands, numberOfOperands, cloneOperands);
|
|
return f;
|
|
}
|
|
|
|
float Floor::privateApproximate(Context& context, AngleUnit angleUnit) const {
|
|
assert(angleUnit != AngleUnit::Default);
|
|
float f = m_args[0]->approximate(context, angleUnit);
|
|
return floorf(f);
|
|
}
|
|
|
|
}
|
|
|
|
|