| |
| // Copyright (c) 2011 John Maddock |
| // Use, modification and distribution are subject to the |
| // Boost Software License, Version 1.0. (See accompanying file |
| // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| |
| #ifndef BOOST_MP_BIG_LANCZOS |
| #define BOOST_MP_BIG_LANCZOS |
| |
| #include <boost/math/bindings/detail/big_lanczos.hpp> |
| |
| namespace boost{ namespace math{ |
| |
| namespace lanczos{ |
| |
| template <class T, class Policy> |
| struct lanczos; |
| |
| template<class Backend, boost::multiprecision::expression_template_option ExpressionTemplates, class Policy> |
| struct lanczos<multiprecision::number<Backend, ExpressionTemplates>, Policy> |
| { |
| typedef typename boost::math::policies::precision<multiprecision::number<Backend, ExpressionTemplates>, Policy>::type precision_type; |
| typedef typename mpl::if_c< |
| precision_type::value <= 73, |
| lanczos13UDT, |
| typename mpl::if_c< |
| precision_type::value <= 122, |
| lanczos22UDT, |
| undefined_lanczos |
| >::type |
| >::type type; |
| }; |
| |
| } // namespace lanczos |
| |
| }} // namespaces |
| |
| #endif |
| |