mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-19 05:40:38 +01:00
37 lines
1.4 KiB
C++
37 lines
1.4 KiB
C++
#include <poincare/addition.h>
|
|
#include <poincare/complex_matrix.h>
|
|
extern "C" {
|
|
#include <assert.h>
|
|
#include <stdlib.h>
|
|
}
|
|
|
|
namespace Poincare {
|
|
|
|
Expression::Type Addition::type() const {
|
|
return Type::Addition;
|
|
}
|
|
|
|
Expression * Addition::clone() const {
|
|
return new Addition(m_operands, m_numberOfOperands, true);
|
|
}
|
|
|
|
bool Addition::isCommutative() const {
|
|
return true;
|
|
}
|
|
|
|
template<typename T>
|
|
Complex<T> Addition::compute(const Complex<T> c, const Complex<T> d) {
|
|
return Complex<T>::Cartesian(c.a()+d.a(), c.b()+d.b());
|
|
}
|
|
|
|
template Poincare::Complex<float> Poincare::Addition::compute<float>(Poincare::Complex<float>, Poincare::Complex<float>);
|
|
template Poincare::Complex<double> Poincare::Addition::compute<double>(Poincare::Complex<double>, Poincare::Complex<double>);
|
|
|
|
template Poincare::Evaluation<float>* Poincare::Addition::computeOnMatrices<float>(Poincare::Evaluation<float>*, Poincare::Evaluation<float>*);
|
|
template Poincare::Evaluation<double>* Poincare::Addition::computeOnMatrices<double>(Poincare::Evaluation<double>*, Poincare::Evaluation<double>*);
|
|
|
|
template Poincare::Evaluation<float>* Poincare::Addition::computeOnComplexAndMatrix<float>(Poincare::Complex<float> const*, Poincare::Evaluation<float>*);
|
|
template Poincare::Evaluation<double>* Poincare::Addition::computeOnComplexAndMatrix<double>(Poincare::Complex<double> const*, Poincare::Evaluation<double>*);
|
|
|
|
}
|