40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| //  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 && (precision_type::value <= 73),
 | |
|       lanczos13UDT,
 | |
|       typename mpl::if_c<
 | |
|       precision_type::value&& (precision_type::value <= 122),
 | |
|          lanczos22UDT,
 | |
|          undefined_lanczos
 | |
|       >::type
 | |
|    >::type type;
 | |
| };
 | |
| 
 | |
| } // namespace lanczos
 | |
| 
 | |
| }} // namespaces
 | |
| 
 | |
| #endif
 | |
| 
 | 
