23 #ifndef NUMERICAL_EVAL_H_INCLUDED 24 #define NUMERICAL_EVAL_H_INCLUDED 34 long double value = 0;
36 long double delta_plus = 0;
38 long double delta_minus = 0;
51 long double delta_plus,
52 long double delta_minus);
68 void print(
int mode=0,
69 std::ostream& out=std::cout,
70 bool lib =
false)
const override;
74 std::ostream& out=std::cout
77 std::string
printLaTeX(
int mode=0)
const override;
81 long double getValue()
const override;
83 long double getDeltaPlus()
const override;
85 long double getDeltaMinus()
const override;
88 csl::eval::mode user_mode = csl::eval::base
91 unique_Expr copy_unique()
const override;
105 bool operator<(
const Abstract* expr)
const override;
108 Expr numericaleval_s(
long double value,
109 long double delta_plus);
111 Expr numericaleval_s(
long double value,
112 long double delta_plus,
113 long double delta_minus);
bool operator==(Expr_info expr) const override
Compares the Abstract with another.
Definition: numericalEval.cpp:252
Expr multiplication_own(const Expr &expr, bool side=1) const override
Contains implementation of special multiplication for Numerical- and Vectorial-types.
Definition: numericalEval.cpp:172
Namespace for csl library.
Definition: abreviation.h:34
Definition: numericalEval.h:30
void print(int mode=0, std::ostream &out=std::cout, bool lib=false) const override
Displays the abstract in standard output.
Definition: numericalEval.cpp:59
std::optional< Expr > derive(Expr_info expr) const override
Calculates the derivative of the Abstract wrt another.
Definition: numericalEval.cpp:247
Type
Enum of the different types of Abstract (i.e. list of all possible specializations).
Definition: enum.h:47
Expr exponentiation_own(const Expr &expr) const override
Contains implementation of special exponentiation for Numerical- and Vectorial-types.
Definition: numericalEval.cpp:218
std::string printLaTeX(int mode=0) const override
Creates a LaTeX output for the Abstract.
Definition: numericalEval.cpp:97
Expr addition_own(const Expr &expr) const override
Contains implementation of special addition for Numerical- and Vectorial-types.
Definition: numericalEval.cpp:153
Expr division_own(const Expr &expr) const override
Contains implementation of special division for Numerical- and Polynomial-types. For polynomial...
Definition: numericalEval.cpp:192
Root class of the inheritance tree of abstracts.
Definition: abstract.h:76
long double evaluateScalar() const override
Evaluates the value of the Abstract.
Definition: numericalEval.cpp:122
Abstract class from which derive numerical types, i.e. Float, Integer, IntFraction.
Definition: numerical.h:34
long double getValue() const override
Returns the value of the expression, if it has one explicitely. In particular, it will work only on N...
Definition: numericalEval.cpp:127
std::optional< Expr > evaluate(csl::eval::mode user_mode=csl::eval::base) const override
Evaluates the Abstract.
Definition: numericalEval.cpp:142
Expression type/.
Definition: abstract.h:1573
csl::Type getType() const override
Gives the type of Abstract.
Definition: numericalEval.cpp:54