algebramix_doc 0.3
/Users/mourrain/Devel/mmx/algebramix/include/algebramix/polynomial_crt.hpp
Go to the documentation of this file.
00001 
00002 /******************************************************************************
00003 * MODULE     : polynomial_crt.hpp
00004 * DESCRIPTION: Multi-modular operations for polynomials
00005 * COPYRIGHT  : (C) 2009  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_CRT_HPP
00014 #define __MMX_POLYNOMIAL_CRT_HPP
00015 #include <algebramix/crt_polynomial.hpp>
00016 namespace mmx {
00017 
00018 /******************************************************************************
00019 * Variant for matrices with CRT based operations
00020 ******************************************************************************/
00021 
00022 template<typename V>
00023 struct polynomial_crt: public V {
00024   typedef typename V::Vec Vec;
00025   typedef typename V::Naive Naive;
00026   typedef typename V::Positive Positive;
00027   typedef polynomial_crt<typename V::No_simd> No_simd;
00028   typedef polynomial_crt<typename V::No_thread> No_thread;
00029   typedef polynomial_crt<typename V::No_scaled> No_scaled;
00030 };
00031 
00032 template<typename F, typename V, typename W>
00033 struct implementation<F,V,polynomial_crt<W> >:
00034   public implementation<F,V,W> {};
00035 
00036 } // namespace mmx
00037 #endif // __MMX_POLYNOMIAL_CRT_HPP
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines