Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:74:32: note: template<class T, T modulus> euler::Modular<T, modulus> euler::operator*(const euler::Modular<T, modulus>&, const euler::Modular<T, modulus>&)
- inline Modular<T, modulus> operator*(const Modular<T, modulus>& lhs, const Modular<T, modulus>& rhs)
- ^
- ../MyCppApplication/euler.hpp:74:32: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: mismatched types 'boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >' and '#'integer_cst' not supported by dump_type#<type error>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const euler::Modular<T, modulus>'
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template<class B2, boost::multiprecision::expression_template_option ET, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<boost::multiprecision::number<Backend, ExpressionTemplates>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<Backend, ExpressionTemplates> > > >::type boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const number<B2, ET>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const V& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template<class B, class B2, boost::multiprecision::expression_template_option ET> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<boost::multiprecision::number<T2, ExpressionTemplates>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<T2, ExpressionTemplates> > > >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const boost::multiprecision::number<T2, ExpressionTemplates>&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B2, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> > >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const V&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > > boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const number<B, et_on>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template<class Arg1, class Arg2, class Arg3, class Arg4, class B, boost::multiprecision::expression_template_option ET> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<B, ET>, Arg1> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::number<B, ET>&)
- operator * (const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template<class B, boost::multiprecision::expression_template_option ET, class Arg1, class Arg2, class Arg3, class Arg4> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<Backend, ExpressionTemplates>, Arg1> > boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>&)
- operator * (const number<B, ET>& a, const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template<class V, class tag, class Arg1, class Arg2, class Arg3, class Arg4> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, typename boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type>, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, V, boost::multiprecision::detail::expression<tag, A1, A2, A3, A4> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>&)
- operator * (const V& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, typename boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type>, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, V> >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const V&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class tag2, class Arg1b, class Arg2b, class Arg3b, class Arg4b> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, boost::multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b>&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const detail::expression<tag2, Arg1b, Arg2b, Arg3b, Arg4b>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class B, boost::multiprecision::expression_template_option ET> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, boost::multiprecision::number<B, ET> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::number<B, ET>&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template<class B, boost::multiprecision::expression_template_option ET, class tag, class Arg1, class Arg2, class Arg3, class Arg4> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<Backend, ExpressionTemplates>, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4> > boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&)
- operator * (const number<B, ET>& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const V& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> >::type boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const V&)
- operator * (const number<B, et_on>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const number<B, et_on>& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const V&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- operator * (const V& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, const V&)
- operator * (number<B, et_off>&& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: types 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>' and 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' have incompatible cv-qualifiers
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: types 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>' and 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' have incompatible cv-qualifiers
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: types 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>' and 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' have incompatible cv-qualifiers
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- operator * (const V& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, const V&)
- operator * (const number<B, et_off>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:33: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- ../MyCppApplication/main.cpp:22:39: error: no match for 'operator*' (operand types are 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' and 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>')
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- ../MyCppApplication/main.cpp:22:39: note: candidates are:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:74:32: note: template<class T, T modulus> euler::Modular<T, modulus> euler::operator*(const euler::Modular<T, modulus>&, const euler::Modular<T, modulus>&)
- inline Modular<T, modulus> operator*(const Modular<T, modulus>& lhs, const Modular<T, modulus>& rhs)
- ^
- ../MyCppApplication/euler.hpp:74:32: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: mismatched types 'boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >' and '#'integer_cst' not supported by dump_type#<type error>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const euler::Modular<T, modulus>'
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template<class B2, boost::multiprecision::expression_template_option ET, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<boost::multiprecision::number<Backend, ExpressionTemplates>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<Backend, ExpressionTemplates> > > >::type boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const number<B2, ET>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const V& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template<class B, class B2, boost::multiprecision::expression_template_option ET> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<boost::multiprecision::number<T2, ExpressionTemplates>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<T2, ExpressionTemplates> > > >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const boost::multiprecision::number<T2, ExpressionTemplates>&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B2, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> > >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const V&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > > boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const number<B, et_on>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template<class Arg1, class Arg2, class Arg3, class Arg4, class B, boost::multiprecision::expression_template_option ET> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<B, ET>, Arg1> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::number<B, ET>&)
- operator * (const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template<class B, boost::multiprecision::expression_template_option ET, class Arg1, class Arg2, class Arg3, class Arg4> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<Backend, ExpressionTemplates>, Arg1> > boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>&)
- operator * (const number<B, ET>& a, const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template<class V, class tag, class Arg1, class Arg2, class Arg3, class Arg4> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, typename boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type>, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, V, boost::multiprecision::detail::expression<tag, A1, A2, A3, A4> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>&)
- operator * (const V& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, typename boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type>, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, V> >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const V&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class tag2, class Arg1b, class Arg2b, class Arg3b, class Arg4b> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, boost::multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b>&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const detail::expression<tag2, Arg1b, Arg2b, Arg3b, Arg4b>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class B, boost::multiprecision::expression_template_option ET> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, boost::multiprecision::number<B, ET> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::number<B, ET>&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template<class B, boost::multiprecision::expression_template_option ET, class tag, class Arg1, class Arg2, class Arg3, class Arg4> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<Backend, ExpressionTemplates>, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4> > boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&)
- operator * (const number<B, ET>& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const V& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> >::type boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const V&)
- operator * (const number<B, et_on>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const number<B, et_on>& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const V&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- operator * (const V& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, const V&)
- operator * (number<B, et_off>&& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: types 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>' and 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' have incompatible cv-qualifiers
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: types 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>' and 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' have incompatible cv-qualifiers
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: types 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>' and 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' have incompatible cv-qualifiers
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- operator * (const V& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, const V&)
- operator * (const number<B, et_off>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:50: note: 'const mint {aka const euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- ../MyCppApplication/main.cpp:22:65: error: no match for 'operator*' (operand types are 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' and 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}')
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- ../MyCppApplication/main.cpp:22:65: note: candidates are:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:74:32: note: template<class T, T modulus> euler::Modular<T, modulus> euler::operator*(const euler::Modular<T, modulus>&, const euler::Modular<T, modulus>&)
- inline Modular<T, modulus> operator*(const Modular<T, modulus>& lhs, const Modular<T, modulus>& rhs)
- ^
- ../MyCppApplication/euler.hpp:74:32: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: mismatched types 'boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >' and '#'integer_cst' not supported by dump_type#<type error>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const euler::Modular<T, modulus>'
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template<class B2, boost::multiprecision::expression_template_option ET, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<boost::multiprecision::number<Backend, ExpressionTemplates>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<Backend, ExpressionTemplates> > > >::type boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const number<B2, ET>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const V& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template<class B, class B2, boost::multiprecision::expression_template_option ET> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<boost::multiprecision::number<T2, ExpressionTemplates>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<T2, ExpressionTemplates> > > >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const boost::multiprecision::number<T2, ExpressionTemplates>&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B2, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> > >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const V&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > > boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const number<B, et_on>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template<class Arg1, class Arg2, class Arg3, class Arg4, class B, boost::multiprecision::expression_template_option ET> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<B, ET>, Arg1> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::number<B, ET>&)
- operator * (const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template<class B, boost::multiprecision::expression_template_option ET, class Arg1, class Arg2, class Arg3, class Arg4> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<Backend, ExpressionTemplates>, Arg1> > boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>&)
- operator * (const number<B, ET>& a, const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template<class V, class tag, class Arg1, class Arg2, class Arg3, class Arg4> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, typename boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type>, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, V, boost::multiprecision::detail::expression<tag, A1, A2, A3, A4> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>&)
- operator * (const V& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, typename boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type>, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, V> >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const V&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class tag2, class Arg1b, class Arg2b, class Arg3b, class Arg4b> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, boost::multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b>&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const detail::expression<tag2, Arg1b, Arg2b, Arg3b, Arg4b>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class B, boost::multiprecision::expression_template_option ET> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, boost::multiprecision::number<B, ET> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::number<B, ET>&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template<class B, boost::multiprecision::expression_template_option ET, class tag, class Arg1, class Arg2, class Arg3, class Arg4> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<Backend, ExpressionTemplates>, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4> > boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&)
- operator * (const number<B, ET>& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const V& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> >::type boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const V&)
- operator * (const number<B, et_on>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const number<B, et_on>& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const V&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- operator * (const V& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, const V&)
- operator * (number<B, et_off>&& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- operator * (const V& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, const V&)
- operator * (const number<B, et_off>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template argument deduction/substitution failed:
- ../MyCppApplication/main.cpp:22:66: note: 'mint {aka euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>}' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
- ^
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp: In instantiation of 'euler::Modular<T, modulus> euler::Modular<T, modulus>::pow(const T&) [with T = boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >; long int modulus = 456l]':
- ../MyCppApplication/main.cpp:22:33: required from here
- ../MyCppApplication/euler.hpp:48:32: error: no match for 'operator*' (operand types are 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' and 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>')
- return (*this) * square.pow(exp/2);
- ^
- ../MyCppApplication/euler.hpp:48:32: note: candidates are:
- ../MyCppApplication/euler.hpp:74:32: note: template<class T, T modulus> euler::Modular<T, modulus> euler::operator*(const euler::Modular<T, modulus>&, const euler::Modular<T, modulus>&)
- inline Modular<T, modulus> operator*(const Modular<T, modulus>& lhs, const Modular<T, modulus>& rhs)
- ^
- ../MyCppApplication/euler.hpp:74:32: note: template argument deduction/substitution failed:
- ../MyCppApplication/euler.hpp:48:32: note: mismatched types 'boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >' and '#'integer_cst' not supported by dump_type#<type error>'
- return (*this) * square.pow(exp/2);
- ^
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const euler::Modular<T, modulus>'
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template<class B2, boost::multiprecision::expression_template_option ET, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<boost::multiprecision::number<Backend, ExpressionTemplates>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<Backend, ExpressionTemplates> > > >::type boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const number<B2, ET>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const V& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template<class B, class B2, boost::multiprecision::expression_template_option ET> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<boost::multiprecision::number<T2, ExpressionTemplates>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<T2, ExpressionTemplates> > > >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const boost::multiprecision::number<T2, ExpressionTemplates>&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B2, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> > >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const V&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > > boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >&)
- operator * (const number<B, et_on>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template<class Arg1, class Arg2, class Arg3, class Arg4, class B, boost::multiprecision::expression_template_option ET> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<B, ET>, Arg1> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::number<B, ET>&)
- operator * (const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template<class B, boost::multiprecision::expression_template_option ET, class Arg1, class Arg2, class Arg3, class Arg4> boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<Backend, ExpressionTemplates>, Arg1> > boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<boost::multiprecision::detail::negate, Arg1, Arg2, Arg3, Arg4>&)
- operator * (const number<B, ET>& a, const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template<class V, class tag, class Arg1, class Arg2, class Arg3, class Arg4> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, typename boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type>, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, V, boost::multiprecision::detail::expression<tag, A1, A2, A3, A4> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>&)
- operator * (const V& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<tag, A1, A2, A3, A4>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, typename boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type>, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, V> >::type boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const V&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class tag2, class Arg1b, class Arg2b, class Arg3b, class Arg4b> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, boost::multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b>&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const detail::expression<tag2, Arg1b, Arg2b, Arg3b, Arg4b>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template<class tag, class Arg1, class Arg2, class Arg3, class Arg4, class B, boost::multiprecision::expression_template_option ET> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>, boost::multiprecision::number<B, ET> > boost::multiprecision::operator*(const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&, const boost::multiprecision::number<B, ET>&)
- operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template<class B, boost::multiprecision::expression_template_option ET, class tag, class Arg1, class Arg2, class Arg3, class Arg4> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, boost::multiprecision::number<Backend, ExpressionTemplates>, boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4> > boost::multiprecision::operator*(const boost::multiprecision::number<Backend, ExpressionTemplates>&, const boost::multiprecision::detail::expression<tag, Arg1, Arg2, Arg3, Arg4>&)
- operator * (const number<B, ET>& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<Backend, ExpressionTemplates>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const V& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, V> >::type boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const V&)
- operator * (const number<B, et_on>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template<class B> boost::multiprecision::detail::expression<boost::multiprecision::detail::multiply_immediates, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u> > boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>&)
- operator * (const number<B, et_on>& a, const number<B, et_on>& b)
- ^
- /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)1u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const V&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- operator * (const V& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, const V&)
- operator * (number<B, et_off>&& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, number<B, et_off>&& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template<class V, class B> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const V&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- operator * (const V& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template<class B, class V> typename boost::enable_if<boost::multiprecision::is_compatible_arithmetic_type<V, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >, boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> >::type boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, const V&)
- operator * (const number<B, et_off>& a, const V& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- return (*this) * square.pow(exp/2);
- ^
- In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
- from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
- from /usr/include/boost/multiprecision/number.hpp:22,
- from /usr/include/boost/multiprecision/cpp_int.hpp:12,
- from ../MyCppApplication/main.cpp:4:
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template<class B> boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u> boost::multiprecision::operator*(const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&, const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>&)
- BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, const number<B, et_off>& b)
- ^
- /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template argument deduction/substitution failed:
- In file included from ../MyCppApplication/main.cpp:5:0:
- ../MyCppApplication/euler.hpp:48:32: note: 'euler::Modular<boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<128u, 128u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >, 456l>' is not derived from 'const boost::multiprecision::number<B, (boost::multiprecision::expression_template_option)0u>'
- return (*this) * square.pow(exp/2);
- ^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement