blob: 03d3203ec899004ab6e4582dc817e3d955782ee8 [file] [log] [blame]
// 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