Hi,


I am having some difficulties passing a vector of type std::vector<float128>  to a function. I'm getting multiple errors out. The first few of which are:


tql2.cpp:13:50: error: float128’ was not declared in this scope

 void tql2(const int nm, int n, const std::vector<float128> & d, const std::vector<float128> & e, const std::vector< std::vector<float128> > & z, int ierr)

                                                  ^

tql2.cpp:13:50: note: suggested alternative:

In file included from tql2.cpp:1:0:

/home/bcooper/Tarballs/boost_1_57_0/boost/multiprecision/float128.hpp:124:42: note:   ‘boost::multiprecision::float128

 typedef number<float128_backend, et_off> float128;

                                          ^

tql2.cpp:13:58: error: template argument 1 is invalid

 void tql2(const int nm, int n, const std::vector<float128> & d, const std::vector<float128> & e, const std::vector< std::vector<float128> > & z, int ierr)

                                                          ^

tql2.cpp:13:58: error: template argument 2 is invalid

tql2.cpp:13:83: error: float128’ was not declared in this scope

 void tql2(const int nm, int n, const std::vector<float128> & d, const std::vector<float128> & e, const std::vector< std::vector<float128> > & z, int ierr)

                                                                                   ^

tql2.cpp:13:83: note: suggested alternative:

In file included from tql2.cpp:1:0:

/home/bcooper/Tarballs/boost_1_57_0/boost/multiprecision/float128.hpp:124:42: note:   ‘boost::multiprecision::float128

 typedef number<float128_backend, et_off> float128;

                                          ^




The first few lines of my code are:


#include <boost/multiprecision/float128.hpp>

#include <boost/math/cstdfloat/cstdfloat_types.hpp>

#include <boost/math/cstdfloat/cstdfloat_limits.hpp>

#include <boost/math/cstdfloat/cstdfloat_cmath.hpp>

#include <boost/math/cstdfloat/cstdfloat_iostream.hpp>

extern "C"{

#include <quadmath.h>

}

#include <iostream>

#include <vector>

#include <iterator>


void tql2(const int nm, int n, const std::vector<float128> & d, const std::vector<float128> & e, const std::vector< std::vector<float128> > & z, int ierr)

{

        using namespace boost::multiprecision;


 ...

}


Not sure where I am going wrong? Any advice?


Thanks,