comparison DEPENDENCIES/generic/include/boost/multiprecision/detail/big_lanczos.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children c530137014c0
comparison
equal deleted inserted replaced
15:663ca0da4350 16:2665513ce2d3
1
2 // Copyright (c) 2011 John Maddock
3 // Use, modification and distribution are subject to the
4 // Boost Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7 #ifndef BOOST_MP_BIG_LANCZOS
8 #define BOOST_MP_BIG_LANCZOS
9
10 #include <boost/math/bindings/detail/big_lanczos.hpp>
11
12 namespace boost{ namespace math{
13
14 namespace lanczos{
15
16 template <class T, class Policy>
17 struct lanczos;
18
19 template<class Backend, boost::multiprecision::expression_template_option ExpressionTemplates, class Policy>
20 struct lanczos<multiprecision::number<Backend, ExpressionTemplates>, Policy>
21 {
22 typedef typename boost::math::policies::precision<multiprecision::number<Backend, ExpressionTemplates>, Policy>::type precision_type;
23 typedef typename mpl::if_c<
24 precision_type::value <= 73,
25 lanczos13UDT,
26 typename mpl::if_c<
27 precision_type::value <= 122,
28 lanczos22UDT,
29 typename mpl::if_c<
30 precision_type::value <= 172,
31 lanczos31UDT,
32 typename mpl::if_c<
33 precision_type::value <= 372,
34 lanczos61UDT,
35 undefined_lanczos
36 >::type
37 >::type
38 >::type
39 >::type type;
40 };
41
42 } // namespace lanczos
43
44 }} // namespaces
45
46 #endif