36 #define MIN_EVAL_PREC 8
37 #define MIN_EVAL_PREC_STR "8"
68 #define eval_lastValError(ev) (ev->valErr)
71 #define eval_lastDerError(ev) (ev->derErr)
Definition of MPFR complex numbers.
comp_struct comp[1]
Practical wrapper for comp_struct.
Definition of a concave function computed from the coefficients of some polynomial.
bool eval_val_der_rr(mpfr_t v, mpfr_t d, eval ev, mpfr_t x)
Evaluates ev->Q(x) and ev->Q'(x) using the method described in [1].
bool eval_val_cc(comp v, eval ev, comp z)
Evaluates ev->P(x) using the method described in [1].
bool eval_analyse(eval ev)
Analyses the complex polynomial ev->P, after some of its coefficients have been changed.
bool eval_val_der_cr(comp v, comp d, eval ev, mpfr_t x)
Evaluates ev->P(x) and ev->P'(x) using the method described in [1].
bool eval_analyse_r(eval ev)
Analyses the real polynomial ev->Q, after some of its coefficients have been changed.
bool eval_val_rr(mpfr_t v, eval ev, mpfr_t x)
Evaluates the real polynomial ev->Q(x) using the method described in [1].
eval eval_new_r(polyr Q, prec_t prec)
Returns a new evaluator of the real polynomial Q.
bool eval_der(comp d, eval ev, comp z)
Evaluates ev->P'(z) (or ev->Q'(z)) using the method described in [1].
bool eval_val_der(comp v, comp d, eval ev, comp z)
Evaluates ev->P(z) and ev->P'(z) (or ev->Q(z) and ev->Q'(z)) using the method described in [1].
eval_struct eval_t[1]
Practical wrapper for eval_struct.
bool eval_val_rc(comp v, eval ev, comp z)
Evaluates ev->Q(x) using the method described in [1].
bool eval_der_cr(comp d, eval ev, mpfr_t x)
Evaluates ev->P'(x) using the method described in [1].
bool eval_newton_cc(comp nt, eval ev, comp z)
Computes the Newthon method step of ev->P using the method described in [1].
bool eval_val_der_rc(comp v, comp d, eval ev, comp z)
Evaluates ev->Q(x) and ev->Q'(x) using the method described in [1].
eval eval_new(poly P, prec_t prec)
Returns a new evaluator of the complex polynomial P.
bool eval_val_der_cc(comp v, comp d, eval ev, comp z)
Evaluates ev->P(x) and ev->P'(x) using the method described in [1].
bool eval_newton_rr(mpfr_t nt, eval ev, mpfr_t x)
Computes the Newthon method step of the real polynomial ev->Q using the method described in [1].
eval_struct * eval
Convenience pointer to eval_struct.
bool eval_newton_rc(comp nt, eval ev, comp z)
Computes the Newthon method step of ev->Q using the method described in [1].
bool eval_newton_cr(comp nt, eval ev, mpfr_t x)
Computes the Newthon method step of ev->P using the method described in [1].
bool eval_der_cc(comp d, eval ev, comp z)
Evaluates ev->P'(x) using the method described in [1].
bool eval_der_rc(comp d, eval ev, comp z)
Evaluates ev->Q'(x) using the method described in [1].
bool eval_val_cr(comp v, eval ev, mpfr_t x)
Evaluates ev->P(x) using the method described in [1].
bool eval_der_rr(mpfr_t d, eval ev, mpfr_t x)
Evaluates the derivative of real polynomial ev->Q'(x) using the method described in [1].
bool eval_free(eval ev)
Frees all the memory used by the evaluator ev, assuming the struct has been allocated with malloc(),...
bool eval_newton(comp nt, eval ev, comp z)
Computes the Newthon method step of ev->P (or ev->Q) using the method described in [1].
bool eval_val(comp v, eval ev, comp z)
Evaluates ev->P(z) (or ev->Q(z)) using the method described in [1].
Definition of basic types.
double real_t
The machine number type to use for polynomial analysis and preconditionning.
ulong deg_t
The integer number type to use for polynomial degrees and indexes.
ulong prec_t
The integer number type to use for polynomial degrees and indexes.
Definition of complex polynomials with arbitary precision coefficients.
Definition of real polynomials with arbitary precision coefficients.
Definition of a buffer for pre-computed powers of a complex number with arbitary precision.
Definition of a buffer for pre-computed powers of a real number with arbitary precision.
Description of a concave function computed from the coefficients of some polynomial.
Evaluator of polynomials with multi-precision floating point coefficients.
concave f
concave cover of the scales of coefficients
real_t derErr
the [approximative] upper bound for the absolute error of the last derivative evaluation,...
bool real
the type of polynomial to evaluate
prec_t prec
the precision of evaluations, in bits
pows zn
powers of a complex argument
poly P
the polynomial, with complex coefficients
real_t ntErr
the [approximative] upper bound for the absolute error of the last Newton term evaluation,...
deg_t terms
the number of polynomial terms computed by the last operation
powsr xn
powers of a real argument
polyr Q
the polynomial, with real coefficients
real_t valErr
the [approximative] upper bound for the absolute error of the last evaluation, in bits
mpfr_t br
a real buffer for internal computations
comp buf
a buffer for internal computations
Polynomial with multi-precision floating point complex coefficients.
Polynomial with multi-precision floating point complex coefficients.
The powers of the complex number z using multi-precision floating point numbers.
The powers of the real number x using multi-precision floating point numbers.