24 int SquareRoot::writeTextInBuffer(
char * buffer,
int bufferSize,
int numberOfSignificantDigits)
const {
29 Complex<T> SquareRoot::computeOnComplex(
const Complex<T>
c, AngleUnit angleUnit) {
30 if (
c.b() == 0 &&
c.a() >= 0) {
36 Expression * SquareRoot::shallowReduce(Context& context, AngleUnit angleUnit) {
37 Expression * e = Expression::shallowReduce(context, angleUnit);
41 #if MATRIX_EXACT_REDUCING 43 return SimplificationEngine::map(
this, context, angleUnit);
49 return p->shallowReduce(context, angleUnit);
52 ExpressionLayout * SquareRoot::privateCreateLayout(
PrintFloat::Mode floatDisplayMode, ComplexFormat complexFormat)
const {
55 return new NthRootLayout(
operand(0)->
createLayout(floatDisplayMode, complexFormat),
nullptr);
Expression * clone() const override
Expression * replaceWith(Expression *newOperand, bool deleteAfterReplace=true)
Type type() const override
const Expression * m_operands[T]
ExpressionLayout * createLayout(PrintFloat::Mode floatDisplayMode=PrintFloat::Mode::Default, ComplexFormat complexFormat=ComplexFormat::Default) const
static Complex< T > Float(T x)
static Complex< T > compute(const Complex< T > c, const Complex< T > d)
static int writePrefixExpressionTextInBuffer(const Expression *expression, char *buffer, int bufferSize, int numberOfDigits, const char *operatorName)
const Expression * operand(int i) const