mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
36 lines
799 B
C++
36 lines
799 B
C++
#include <poincare/determinant.h>
|
|
#include <poincare/matrix.h>
|
|
extern "C" {
|
|
#include <assert.h>
|
|
}
|
|
#include <cmath>
|
|
|
|
namespace Poincare {
|
|
|
|
Determinant::Determinant() :
|
|
Function("det")
|
|
{
|
|
}
|
|
|
|
Expression::Type Determinant::type() const {
|
|
return Type::Determinant;
|
|
}
|
|
|
|
Expression * Determinant::cloneWithDifferentOperands(Expression** newOperands,
|
|
int numberOfOperands, bool cloneOperands) const {
|
|
assert(newOperands != nullptr);
|
|
Determinant * d = new Determinant();
|
|
d->setArgument(newOperands, numberOfOperands, cloneOperands);
|
|
return d;
|
|
}
|
|
|
|
Evaluation * Determinant::privateEvaluate(Context& context, AngleUnit angleUnit) const {
|
|
Evaluation * input = m_args[0]->evaluate(context, angleUnit);
|
|
Evaluation * result = input->createDeterminant();
|
|
delete input;
|
|
return result;
|
|
}
|
|
|
|
}
|
|
|