123456789101112131415161718192021222324252627282930313233343536373839 |
- // 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
|