00001 00002 /****************************************************************************** 00003 * MODULE : series_int.hpp 00004 * DESCRIPTION: Multiplication of series over hardware integers 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_SERIES_INT_HPP 00014 #define __MMX_SERIES_INT_HPP 00015 #include <algebramix/polynomial_int.hpp> 00016 #include <algebramix/series.hpp> 00017 #include <algebramix/series_relaxed.hpp> 00018 00019 namespace mmx { 00020 00021 DEFINE_VARIANT (series_int, series_relaxed<series_naive>) 00022 00023 #define DECLARE_HELPER(I) \ 00024 STMPL \ 00025 struct series_variant_helper<I> { \ 00026 typedef series_int SV; \ 00027 }; 00028 00029 DECLARE_HELPER(unsigned char) 00030 DECLARE_HELPER(signed char) 00031 DECLARE_HELPER(unsigned short int) 00032 DECLARE_HELPER(signed short int) 00033 DECLARE_HELPER(unsigned int) 00034 DECLARE_HELPER(int) 00035 DECLARE_HELPER(unsigned long int) 00036 DECLARE_HELPER(long int) 00037 DECLARE_HELPER(unsigned long long int) 00038 DECLARE_HELPER(long long int) 00039 #undef DECLARE_HELPER 00040 00041 } // namespace mmx 00042 #endif // __MMX_SERIES_INT_HPP