Polynomial evaluation and differentiation algorithms in PHCv2.4.87

This directory was created new in v2.3.69, collecting the former nested 
Horner scheme algorithms of the directory polynomials, and with the new
evaluation and differentiation algorithms based on the Speelpenning example,
developed jointly with Genady Yoffe.

The nested Horner scheme is implemented for fixed and parametric
coefficients for use in coefficient parameter homotopies.
The flattened representation was developed in collaboration with Genady Yoffe
and used in our first multithreaded polynomial evaluation algorithms,
presented at PASCO 2010.  See also the directory ../Circuits.

Since the different ways to evaluate polynomials use different orders of
computation, the results may differ when multiprecision arithmetic is used.

Run "gprbuild functions.gpr" to make all test programs.
On windows, type "gprbuild functions.gpr -Xos=windows"
at the PowerShell prompt.
The "gprclean functions.gpr" removes all files created by gprbuild.

-------------------------------------------------------------------------------
file name                         : short description
-------------------------------------------------------------------------------
generic_polynomial_functions      : evaluation of polynomials
generic_laur_poly_functions       : evaluation of Laurent polynomials
generic_poly_system_functions     : evaluation of systems of polynomials
generic_laur_system_functions     : evaluation of Laurent polynomial systems
-------------------------------------------------------------------------------
standard_complex_poly_functions   : generic_polynomial_functions instantiated
standard_floating_poly_functions  : polynomial functions for standard floats
standard_complex_laur_functions   : generic_laur_poly_functions instantiated
standard_complex_poly_sysfun      : generic_poly_system_function instantiated
standard_floating_poly_sysfun     : systems of real polynomial functions
double_double_poly_functions      : double double polynomial functions
double_double_poly_sysfun         : systems of double double poly functions
dobldobl_complex_poly_functions   : complex double double polynomial functions
dobldobl_complex_laur_functions   : complex double double Laurent functions
dobldobl_complex_laur_sysfun      : double double Laurent system functions
tripdobl_complex_poly_functions   : complex triple double polynomial functions
tripdobl_complex_poly_sysfun      : systems of tripdobl complex functions
quad_double_poly_functions        : quad double polynomial functions
quad_double_poly_sysfun           : systems of quad double polynomial functions
quaddobl_complex_poly_functions   : complex quad double polynomial functions
quaddobl_complex_poly_sysfun      : quad double polynomial system functions
quaddobl_complex_laur_functions   : complex quad double Laurent functions
quaddobl_complex_laur_sysfun      : quad double Laurent system functions
pentdobl_complex_poly_functions   : complex penta double polynomial functions
pentdobl_complex_poly_sysfun      : systems of pentdobl complex functions
octodobl_complex_poly_functions   : complex octo double polynomial functions
octodobl_complex_poly_sysfun      : systems of octodobl complex functions
decadobl_complex_poly_functions   : complex deca double polynomial functions
decadobl_complex_poly_sysfun      : systems of decadobl complex functions
hexadobl_complex_poly_functions   : complex hexa double polynomial functions
hexadobl_complex_poly_sysfun      : systems of hexadobl complex functions
multprec_complex_poly_functions   : evaluating multprec complex polynomials
multprec_complex_laur_functions   : evaluating multprec complex Laurentials
multprec_floating_poly_functions  : evaluating multprec floating polynomials
multprec_complex_poly_sysfun      : evaluating multprec complex poly systems
multprec_complex_laur_sysfun      : evaluating multprec complex laur systems
multprec_floating_poly_sysfun     : evaluating multprec floating poly systems
standard_evaluator_packages       : create package to evaluate systems
-------------------------------------------------------------------------------
exponent_vectors                  : management of exponents of a system
lexicographical_supports          : supports in lexicographic increasing order
standard_polynomial_flatteners    : flattened representation of standard system
dobldobl_polynomial_flatteners    : flattened representation of dobldobl system
quaddobl_polynomial_flatteners    : flattened representation of quaddobl system
multprec_polynomial_flatteners    : flattened representation of multprec system
-------------------------------------------------------------------------------
ts_evaline                        : calls the evaluator package
ts_evalpoly                       : development of nested Horner scheme
ts_expvec                         : test on exponent vector extraction
ts_polyflat                       : tests the flattening
ts_perfeval                       : performance testing on poly evaluation
ts_evddpol                        : evaluation of double double polynomials
-------------------------------------------------------------------------------
