Hi, I have written a short program utilising boost::float128 together with tux Eigen which successfully compiles and runs using g++, however it fails when I use icc. The compiler error is /home/alex/boost/boost_1_71_0/boost/multiprecision/float128.hpp(727): error: no suitable constructor exists to convert from "const _Quad" to "boost::multiprecision::number<boost::multiprecision::backends::float128_backend, boost::multiprecision::et_off>" static number_type (min)() BOOST_NOEXCEPT { return BOOST_MP_QUAD_MIN; } ^ How can I resolve this? My example code is; #include <iostream> #include <cmath> #include <Eigen/Dense> #include <Eigen/Eigenvalues> #include <iomanip> #include <boost/cstdfloat.hpp> #include <boost/multiprecision/float128.hpp> #include <boost/math/special_functions.hpp> #include <boost/math/constants/constants.hpp> #include <quadmath.h> #define BOOST_MP_USE_QUAD using namespace Eigen; using namespace std; int main(){ typedef Matrix<complex<boost::multiprecision::float128>, Dynamic, Dynamic> MatrixXcmp; MatrixXcmp C = MatrixXcmp::Random(8,8); cout<<setprecision(128)<<C<<endl<<endl; ComplexEigenSolver<MatrixXcmp> ces; ces.compute(C); return 0; } It only fails compilation when I put in the line 'ces.compute(C);'. I compile with icpc quadtest.cpp -std=c++14 -Qoption,cpp,--extended_float_type -O2 -DMKL_LP64 -lmkl_intel_lp64 -fp-model precise -lmkl_sequential -lmkl_core -lpthread -lm -ldl -lquadmath Many thanks in advance, Alex