1. Rewrite pAdicZZpXCRElement, pAdicZZpXCAElement and pAdicZZpXFMElement to use templates (ie, make a conceptual split into the template files and the linkage files for the particular implementation using NTL's ZZ_pX class).

  2. Make subclasses of these templates for NTL's ZZ_pX, for zmod_poly_t and for fmpz_poly_t. Compare the speeds for different values of p and precision and implement default choices of implementation in Zq, Qq and Zp.extension.

  3. Extract the other implementations of finite fields into linkage files and try to unify the different finite field implementations into a single template as much as possible.

padics/UbiquitousTemplates (last edited 2010-12-02 19:26:55 by DavidRoe)