clang version 3.4.2 (tags/RELEASE_34/dot2-final) Target: x86_64-apple-darwin13.3.0 Thread model: posix "/opt/local/libexec/llvm-3.4/bin/clang" -cc1 -triple x86_64-apple-macosx10.9.0 -emit-obj -mrelax-all -disable-free -main-file-name boost-r3.cpp -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 236.3 -v -coverage-file /Users/uri/src/boost-examples/boost-r3.o -resource-dir /opt/local/libexec/llvm-3.4/bin/../lib/clang/3.4.2 -I /opt/local/include -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Users/uri/src/boost-examples -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.9.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fdiagnostics-show-option -vectorize-slp -o boost-r3.o -x c++ boost-r3.cpp clang -cc1 version 3.4.2 based upon LLVM 3.4.2 default target x86_64-apple-darwin13.3.0 ignoring nonexistent directory "/usr/include/c++/v1" #include "..." search starts here: #include <...> search starts here: /opt/local/include /opt/local/libexec/llvm-3.4/bin/../include/c++/v1 /usr/local/include /opt/local/libexec/llvm-3.4/bin/../lib/clang/3.4.2/include /usr/include /System/Library/Frameworks (framework directory) /Library/Frameworks (framework directory) End of search list. In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ In file included from boost-r3.cpp:1: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599: /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits, 1>, int, void, void>, false>::max' requested here _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();} ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits, 1>, int, void, void> >::max' requested here if(max_value / 2 - min_value / 2 > (std::numeric_limits::max)() / 2) ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {} ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided struct expression ^ In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, void, void>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ In file included from boost-r3.cpp:1: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599: /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits, 1>, int, void, void>, int, void, void>, false>::max' requested here _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();} ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits, 1>, int, void, void>, int, void, void> >::max' requested here if(max_value / 2 - min_value / 2 > (std::numeric_limits::max)() / 2) ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {} ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided struct expression ^ In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, void, void>, int, void, void>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ In file included from boost-r3.cpp:1: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599: /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();} ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void> >::max' requested here if(max_value / 2 - min_value / 2 > (std::numeric_limits::max)() / 2) ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {} ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided struct expression ^ In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ In file included from boost-r3.cpp:1: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599: /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();} ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here if(max_value / 2 - min_value / 2 > (std::numeric_limits::max)() / 2) ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {} ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided struct expression ^ In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ In file included from boost-r3.cpp:1: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599: /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();} ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here if(max_value / 2 - min_value / 2 > (std::numeric_limits::max)() / 2) ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {} ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided struct expression ^ In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ In file included from boost-r3.cpp:1: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599: /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();} ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here if(max_value / 2 - min_value / 2 > (std::numeric_limits::max)() / 2) ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {} ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided struct expression ^ In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ In file included from boost-r3.cpp:1: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599: /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();} ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here if(max_value / 2 - min_value / 2 > (std::numeric_limits::max)() / 2) ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all) /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {} ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided struct expression ^ In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ In file included from boost-r3.cpp:1: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599: /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();} ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here if(max_value / 2 - min_value / 2 > (std::numeric_limits::max)() / 2) ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {} ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided struct expression ^ In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all) /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ In file included from boost-r3.cpp:1: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627: In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599: /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();} ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here if(max_value / 2 - min_value / 2 > (std::numeric_limits::max)() / 2) ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 3 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {} ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided struct expression ^ In file included from boost-r3.cpp:3: In file included from /opt/local/include/boost/multiprecision/random.hpp:31: In file included from /opt/local/include/boost/random.hpp:71: In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19: In file included from /opt/local/include/boost/random/uniform_real.hpp:23: /opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>' return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::detail::expression, 1>, int, void, void> >' requested here return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2); ^ /opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real, 100, boost::multiprecision::number, 1> >, boost::multiprecision::number, 1> >' requested here { return detail::generate_uniform_real(eng, _min, _max); } ^ boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution, 1> >::operator(), 100, boost::multiprecision::number, 1> > >' requested here << ur(gen3) << " " ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument struct expression ^ /opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function operator unmentionable_type()const ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated.