algebramix_doc 0.3
/Users/mourrain/Devel/mmx/algebramix/include/algebramix/polynomial_modular_integer.hpp
Go to the documentation of this file.
00001 
00002 /******************************************************************************
00003 * MODULE     : polynomial_modular_integer.hpp
00004 * DESCRIPTION: Multiplying modular polynomials by lifting and reduction
00005 * COPYRIGHT  : (C) 2009  Joris van der Hoeven and Gregoire Lecerf
00006 *******************************************************************************
00007 * This software falls under the GNU general public license and comes WITHOUT
00008 * ANY WARRANTY WHATSOEVER. See the file $TEXMACS_PATH/LICENSE for more details.
00009 * If you don't have this file, write to the Free Software Foundation, Inc.,
00010 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00011 ******************************************************************************/
00012 
00013 #ifndef __MMX_POLYNOMIAL_MODULAR_INTEGER_HPP
00014 #define __MMX_POLYNOMIAL_MODULAR_INTEGER_HPP
00015 #include <numerix/modular_integer.hpp>
00016 #include <algebramix/polynomial_integer.hpp>
00017 #include <algebramix/polynomial_modular.hpp>
00018 
00019 namespace mmx {
00020 
00021 /******************************************************************************
00022 * Use Kronecker multiplication by default for polynomials over modular integers
00023 ******************************************************************************/
00024 
00025 DEFINE_VARIANT (polynomial_modular_integer,
00026                 polynomial_modular<polynomial_dicho<polynomial_naive> >)
00027 
00028 template<typename V, typename W>
00029 struct polynomial_variant_helper<modular<modulus<integer,V>,W> > {
00030   typedef polynomial_modular_integer PV; 
00031 };
00032 
00033 } // namespace mmx
00034 #endif // __MMX_POLYNOMIAL_MODULAR_INTEGER_HPP
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines