#include #include #include extern "C" { #include } namespace Poincare { ImaginaryPart::ImaginaryPart() : Function("im") { } Expression::Type ImaginaryPart::type() const { return Type::ImaginaryPart; } Expression * ImaginaryPart::cloneWithDifferentOperands(Expression** newOperands, int numberOfOperands, bool cloneOperands) const { assert(newOperands != nullptr); ImaginaryPart * ip = new ImaginaryPart(); ip->setArgument(newOperands, numberOfOperands, cloneOperands); return ip; } template Complex ImaginaryPart::templatedComputeComplex(const Complex c) const { return Complex::Float(c.b()); } }