Numworks Epsilon
1.4.1
Graphing Calculator Operating System
parser.cpp
Go to the documentation of this file.
1
#include <
quiz.h
>
2
#include <
poincare.h
>
3
#include <
ion.h
>
4
#include <cmath>
5
#include <
assert.h
>
6
#include "
helper.h
"
7
8
using namespace
Poincare
;
9
10
QUIZ_CASE
(poincare_parser) {
11
Complex<double>
a[1] = {
Complex<double>::Float
(1.2*
M_E
)};
12
assert_parsed_expression_evaluates_to
(
"1.2*X^(1)"
, a);
13
Complex<float>
b[1] = {
Complex<float>::Float
(
std::pow
((
float
)
M_E
, 2.0f)*
M_E
)};
14
assert_parsed_expression_evaluates_to
(
"X^2*X^(1)"
, b);
15
Complex<double>
c
[1] = {
Complex<double>::Float
(2.0*
std::pow
(3.0, 4.0)+2.0)};
16
assert_parsed_expression_evaluates_to
(
"2*3^4+2"
,
c
);
17
Complex<float>
d[1] = {
Complex<float>::Float
(-2.0f*
std::pow
(3.0f, 4.0f)+2.0f)};
18
assert_parsed_expression_evaluates_to
(
"-2*3^4+2"
, d);
19
Complex<double>
e[1] = {
Complex<double>::Float
(-
std::sin
(3.0)*2.0-3.0)};
20
assert_parsed_expression_evaluates_to
(
"-sin(3)*2-3"
, e,
Radian
);
21
Complex<float>
f[1] = {
Complex<float>::Float
(-0.003f)};
22
assert_parsed_expression_evaluates_to
(
"-.003"
, f);
23
Complex<double>
g[1] = {
Complex<double>::Float
(2.0)};
24
assert_parsed_expression_evaluates_to
(
".02E2"
, g);
25
Complex<float>
h[1] = {
Complex<float>::Float
(5.0f-2.0f/3.0f)};
26
assert_parsed_expression_evaluates_to
(
"5-2/3"
, h);
27
Complex<double>
i[1] = {
Complex<double>::Float
(2.0/3.0-5.0)};
28
assert_parsed_expression_evaluates_to
(
"2/3-5"
, i);
29
Complex<float>
j[1] = {
Complex<float>::Float
(-2.0f/3.0f-5.0f)};
30
assert_parsed_expression_evaluates_to
(
"-2/3-5"
, j);
31
Complex<double>
k[1] = {
Complex<double>::Float
(
std::sin
(3.0)*2.0*(4.0+2.0))};
32
assert_parsed_expression_evaluates_to
(
"sin(3)2(4+2)"
, k,
Radian
);
33
Complex<float>
l[1] = {
Complex<float>::Float
(4.0f/2.0f*(2.0f+3.0f))};
34
assert_parsed_expression_evaluates_to
(
"4/2*(2+3)"
, l,
Radian
);
35
Complex<double>
m[1] = {
Complex<double>::Float
(4.0/2.0*(2.0+3.0))};
36
assert_parsed_expression_evaluates_to
(
"4/2*(2+3)"
, m,
Radian
);
37
}
poincare.h
ion.h
Poincare
Definition:
absolute_value.h:8
assert.h
c
c(generic_all_nodes)
sin
#define sin(x)
Definition:
math.h:194
M_E
#define M_E
Definition:
math.h:12
Poincare::Complex< double >
QUIZ_CASE
QUIZ_CASE(poincare_parser)
Definition:
parser.cpp:10
Radian
constexpr Poincare::Expression::AngleUnit Radian
Definition:
helper.h:4
pow
#define pow(x, y)
Definition:
math.h:190
assert_parsed_expression_evaluates_to
void assert_parsed_expression_evaluates_to(const char *expression, Complex< T > *results, int numberOfRows, int numberOfColumns, Expression::AngleUnit angleUnit)
Definition:
helper.cpp:69
quiz.h
Poincare::Complex::Float
static Complex< T > Float(T x)
Definition:
complex.cpp:23
helper.h
epsilon
poincare
test
parser.cpp
Generated by
1.8.14