![]() |
FastPolyEval
1.0
Fast Evaluation of Real and Complex Polynomials
|
Definition of polynomial evaluator with arbitary precision coefficients. More...
Go to the source code of this file.
Data Structures | |
struct | eval_struct |
Evaluator of polynomials with multi-precision floating point coefficients. More... | |
Macros | |
#define | MIN_EVAL_PREC 8 |
Minimum prcision for evaluators. | |
#define | MIN_EVAL_PREC_STR "8" |
#define | eval_lastValError(ev) (ev->valErr) |
The [approximative] upper bound for the error of the last evaluation, in bits. Not reported by the Newton term computation. | |
#define | eval_lastDerError(ev) (ev->derErr) |
The [approximative] upper bound for the error of the last derivative evaluation, in bits. Not reported by the Newton term computation. | |
Typedefs | |
typedef eval_struct | eval_t[1] |
Practical wrapper for eval_struct . More... | |
typedef eval_struct * | eval |
Convenience pointer to eval_struct . | |
Functions | |
eval | eval_new (poly P, prec_t prec) |
Returns a new evaluator of the complex polynomial P . More... | |
eval | eval_new_r (polyr Q, prec_t prec) |
Returns a new evaluator of the real polynomial Q . More... | |
bool | eval_free (eval ev) |
Frees all the memory used by the evaluator ev , assuming the struct has been allocated with malloc() , for example with eval_new() or with eval_new_r() . More... | |
bool | eval_val (comp v, eval ev, comp z) |
Evaluates ev->P(z) (or ev->Q(z) ) using the method described in [1]. More... | |
bool | eval_der (comp d, eval ev, comp z) |
Evaluates ev->P' (z) (or ev->Q' (z)) using the method described in [1]. More... | |
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]. More... | |
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]. More... | |
bool | eval_analyse (eval ev) |
Analyses the complex polynomial ev->P , after some of its coefficients have been changed. More... | |
bool | eval_analyse_r (eval ev) |
Analyses the real polynomial ev->Q , after some of its coefficients have been changed. More... | |
bool | eval_val_cc (comp v, eval ev, comp z) |
Evaluates ev->P(x) using the method described in [1]. More... | |
bool | eval_der_cc (comp d, eval ev, comp z) |
Evaluates ev->P' (x) using the method described in [1]. More... | |
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]. More... | |
bool | eval_newton_cc (comp nt, eval ev, comp z) |
Computes the Newthon method step of ev->P using the method described in [1]. More... | |
bool | eval_val_cr (comp v, eval ev, mpfr_t x) |
Evaluates ev->P(x) using the method described in [1]. More... | |
bool | eval_der_cr (comp d, eval ev, mpfr_t x) |
Evaluates ev->P' (x) using the method described in [1]. More... | |
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]. More... | |
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]. More... | |
bool | eval_val_rc (comp v, eval ev, comp z) |
Evaluates ev->Q(x) using the method described in [1]. More... | |
bool | eval_der_rc (comp d, eval ev, comp z) |
Evaluates ev->Q' (x) using the method described in [1]. More... | |
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]. More... | |
bool | eval_newton_rc (comp nt, eval ev, comp z) |
Computes the Newthon method step of ev->Q using the method described in [1]. More... | |
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]. More... | |
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]. More... | |
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]. More... | |
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]. More... | |
Definition of polynomial evaluator with arbitary precision coefficients.
Definition in file eval.h.
typedef eval_struct eval_t[1] |
Practical wrapper for eval_struct
.
To avoid the constant use *
and &
the type eval_t
is a pointer.
Analyses the complex polynomial ev->P
, after some of its coefficients have been changed.
eval_val()
, eval_der()
, eval_val_der()
and eval_newton()
automatically analyse the appropriate polynomial. Use this function only with the optimized versions like eval_val_cx()
.ev | the evaluator |
Analyses the real polynomial ev->Q
, after some of its coefficients have been changed.
eval_val()
, eval_der()
, eval_val_der()
and eval_newton()
automatically analyse the appropriate polynomial. Use this function only with the optimized versions like eval_val_rx()
.ev | the evaluator |
Evaluates ev->P'
(x) using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.d | the result |
ev | the evaluator |
z | the complex argument |
Evaluates ev->P'
(x) using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.d | the result |
ev | the evaluator |
x | the real argument |
Evaluates ev->Q'
(x) using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.d | the result |
ev | the evaluator |
z | the complex argument |
Evaluates the derivative of real polynomial ev->Q'
(x) using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.d | the derivative |
ev | the evaluator |
x | the real argument |
Frees all the memory used by the evaluator ev
, assuming the struct has been allocated with malloc()
, for example with eval_new()
or with eval_new_r()
.
ev | the evaluator |
Returns a new evaluator of the complex polynomial P
.
P | the complex polynomial |
prec | the precision of evaluations, in bits |
NULL
if some error occurred. Returns a new evaluator of the real polynomial Q
.
Q | the real polynomial |
prec | the precision of evaluations, in bits |
NULL
if some error occurred. Computes the Newthon method step of ev->P
(or ev->Q
) using the method described in [1].
ev
and / or z
are real.nt | the Newton term |
ev | the evaluator |
z | the complex argument |
Computes the Newthon method step of ev->P
using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.nt | the Newton term |
ev | the evaluator |
z | the complex argument |
Computes the Newthon method step of ev->P
using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.nt | the Newton term |
ev | the evaluator |
x | the real argument |
Computes the Newthon method step of ev->Q
using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.nt | the Newton term |
ev | the evaluator |
z | the complex argument |
Computes the Newthon method step of the real polynomial ev->Q
using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.nt | the Newton term |
ev | the evaluator |
x | the real argument |
Evaluates ev->P(x)
using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.v | the result |
ev | the evaluator |
z | the complex argument |
Evaluates ev->P(x)
using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.v | the result |
ev | the evaluator |
x | the real argument |
Evaluates ev->P(z)
and ev->P'
(z) (or ev->Q(z)
and ev->Q'
(z)) using the method described in [1].
ev
and / or z
are real.v | the value |
d | the derivative |
ev | the evaluator |
z | the complex argument |
Evaluates ev->P(x)
and ev->P'
(x) using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.v | the value |
d | the derivative |
ev | the evaluator |
z | the complex argument |
Evaluates ev->P(x)
and ev->P'
(x) using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.v | the value |
d | the derivative |
ev | the evaluator |
x | the real argument |
Evaluates ev->Q(x)
and ev->Q'
(x) using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.v | the value |
d | the derivative |
ev | the evaluator |
z | the complex argument |
Evaluates ev->Q(x)
and ev->Q'
(x) using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.v | the value |
d | the derivative |
ev | the evaluator |
x | the real argument |
Evaluates ev->Q(x)
using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.v | the result |
ev | the evaluator |
z | the complex argument |
Evaluates the real polynomial ev->Q(x)
using the method described in [1].
ev
nor if the polynomial has been pre-conditionned after the last coefficient update.v | the value |
ev | the evaluator |
x | the real argument |