Numworks Epsilon  1.4.1
Graphing Calculator Operating System
undefined.h
Go to the documentation of this file.
1 #ifndef POINCARE_UNDEFINED_H
2 #define POINCARE_UNDEFINED_H
3 
5 #include <poincare/complex.h>
6 
7 namespace Poincare {
8 
9 class Undefined : public StaticHierarchy<0> {
10 public:
11  Type type() const override;
12  Expression * clone() const override;
13  int writeTextInBuffer(char * buffer, int bufferSize, int numberOfSignificantDigits = PrintFloat::k_numberOfStoredSignificantDigits) const override;
14  int polynomialDegree(char symbolName) const override;
15 private:
16  /* Layout */
17  ExpressionLayout * privateCreateLayout(PrintFloat::Mode floatDisplayMode, ComplexFormat complexFormat) const override;
18  /* Evaluation */
19  Expression * privateApproximate(SinglePrecision p, Context& context, AngleUnit angleUnit) const override { return templatedApproximate<float>(context, angleUnit); }
20  Expression * privateApproximate(DoublePrecision p, Context& context, AngleUnit angleUnit) const override { return templatedApproximate<double>(context, angleUnit); }
21  template<typename T> Complex<T> * templatedApproximate(Context& context, AngleUnit angleUnit) const;
22 };
23 
24 }
25 
26 #endif
Expression * clone() const override
Definition: undefined.cpp:13
int writeTextInBuffer(char *buffer, int bufferSize, int numberOfSignificantDigits=PrintFloat::k_numberOfStoredSignificantDigits) const override
Definition: undefined.cpp:31
int polynomialDegree(char symbolName) const override
Definition: undefined.cpp:17
Type type() const override
Definition: undefined.cpp:9