Numworks Epsilon
1.4.1
Graphing Calculator Operating System
square_root.h
Go to the documentation of this file.
1
#ifndef POINCARE_SQUARE_ROOT_H
2
#define POINCARE_SQUARE_ROOT_H
3
4
#include <
poincare/layout_engine.h
>
5
#include <
poincare/static_hierarchy.h
>
6
#include <
poincare/approximation_engine.h
>
7
8
namespace
Poincare
{
9
10
class
SquareRoot
:
public
StaticHierarchy
<1> {
11
using
StaticHierarchy<1>::StaticHierarchy
;
12
public
:
13
Type
type
()
const override
;
14
Expression
*
clone
()
const override
;
15
private
:
16
/* Layout */
17
ExpressionLayout
* privateCreateLayout(
PrintFloat::Mode
floatDisplayMode,
ComplexFormat
complexFormat)
const override
;
18
int
writeTextInBuffer(
char
* buffer,
int
bufferSize,
int
numberOfSignificantDigits = PrintFloat::k_numberOfStoredSignificantDigits)
const override
;
19
/* Simplification */
20
Expression
* shallowReduce(
Context
& context,
AngleUnit
angleUnit)
override
;
21
/* Evaluation */
22
template
<
typename
T>
static
Complex<T>
computeOnComplex(
const
Complex<T>
c
,
AngleUnit
angleUnit);
23
Expression
* privateApproximate(
SinglePrecision
p,
Context
& context,
AngleUnit
angleUnit)
const override
{
24
return
ApproximationEngine::map<float>(
this
, context, angleUnit,computeOnComplex<float>);
25
}
26
Expression
* privateApproximate(
DoublePrecision
p,
Context
& context,
AngleUnit
angleUnit)
const override
{
27
return
ApproximationEngine::map<double>(
this
, context, angleUnit, computeOnComplex<double>);
28
}
29
30
};
31
32
}
33
34
#endif
Poincare::Context
Definition:
context.h:9
Poincare::SquareRoot::clone
Expression * clone() const override
Definition:
square_root.cpp:18
Poincare
Definition:
absolute_value.h:8
layout_engine.h
Poincare::PrintFloat::Mode
Mode
Definition:
print_float.h:15
Poincare::Expression::ComplexFormat
ComplexFormat
Definition:
expression.h:148
c
c(generic_all_nodes)
Poincare::SquareRoot::type
Type type() const override
Definition:
square_root.cpp:14
Poincare::Expression::AngleUnit
AngleUnit
Definition:
expression.h:153
Poincare::Complex
Definition:
complex.h:12
Poincare::ExpressionLayout
Definition:
expression_layout.h:8
Poincare::Expression::SinglePrecision
float SinglePrecision
Definition:
expression.h:245
approximation_engine.h
Poincare::Expression::Type
Type
Definition:
expression.h:84
Poincare::Expression
Definition:
expression.h:16
Poincare::StaticHierarchy
Definition:
static_hierarchy.h:10
static_hierarchy.h
Poincare::SquareRoot
Definition:
square_root.h:10
Poincare::Expression::DoublePrecision
double DoublePrecision
Definition:
expression.h:246
epsilon
poincare
include
poincare
square_root.h
Generated by
1.8.14