00001 00002 /****************************************************************************** 00003 * MODULE : polynomial_integer.hpp 00004 * DESCRIPTION: Multiplication of integer polynomials 00005 * COPYRIGHT : (C) 2004 Joris van der Hoeven 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_INTEGER_HPP 00014 #define __MMX_POLYNOMIAL_INTEGER_HPP 00015 #include <algebramix/polynomial.hpp> 00016 #include <algebramix/polynomial_balanced.hpp> 00017 #include <algebramix/polynomial_ring_dicho.hpp> 00018 #include <algebramix/kronecker_integer.hpp> 00019 #include <algebramix/polynomial_kronecker.hpp> 00020 00021 namespace mmx { 00022 00023 /****************************************************************************** 00024 * Use Kronecker multiplication by default for polynomials over the integers 00025 ******************************************************************************/ 00026 00027 DEFINE_VARIANT (polynomial_integer, 00028 polynomial_gcd_ring_dicho< 00029 polynomial_balanced< 00030 polynomial_kronecker< 00031 polynomial_naive> > >) 00032 00033 STMPL 00034 struct polynomial_variant_helper<integer> { 00035 typedef polynomial_integer PV; 00036 }; 00037 00038 } // namespace mmx 00039 #endif // __MMX_POLYNOMIAL_INTEGER_HPP