Advertisement
Guest User

Untitled

a guest
Sep 8th, 2013
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 170.86 KB | None | 0 0
  1. In file included from ../MyCppApplication/main.cpp:5:0:
  2. ../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>&)
  3. inline Modular<T, modulus> operator*(const Modular<T, modulus>& lhs, const Modular<T, modulus>& rhs)
  4. ^
  5. ../MyCppApplication/euler.hpp:74:32: note: template argument deduction/substitution failed:
  6. ../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>'
  7. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  8. ^
  9. ../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>'
  10. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  11. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  12. from /usr/include/boost/multiprecision/number.hpp:22,
  13. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  14. from ../MyCppApplication/main.cpp:4:
  15. /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> >&)
  16. operator * (const number<B2, ET>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  17. ^
  18. /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template argument deduction/substitution failed:
  19. ../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>'
  20. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  21. ^
  22. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  23. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  24. from /usr/include/boost/multiprecision/number.hpp:22,
  25. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  26. from ../MyCppApplication/main.cpp:4:
  27. /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> >&)
  28. operator * (const V& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  29. ^
  30. /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template argument deduction/substitution failed:
  31. ../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> >'
  32. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  33. ^
  34. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  35. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  36. from /usr/include/boost/multiprecision/number.hpp:22,
  37. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  38. from ../MyCppApplication/main.cpp:4:
  39. /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>&)
  40. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B2, ET>& b)
  41. ^
  42. /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template argument deduction/substitution failed:
  43. ../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> >'
  44. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  45. ^
  46. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  47. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  48. from /usr/include/boost/multiprecision/number.hpp:22,
  49. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  50. from ../MyCppApplication/main.cpp:4:
  51. /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&)
  52. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const V& b)
  53. ^
  54. /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template argument deduction/substitution failed:
  55. ../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> >'
  56. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  57. ^
  58. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  59. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  60. from /usr/include/boost/multiprecision/number.hpp:22,
  61. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  62. from ../MyCppApplication/main.cpp:4:
  63. /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>&)
  64. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B, et_on>& b)
  65. ^
  66. /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template argument deduction/substitution failed:
  67. ../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> >'
  68. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  69. ^
  70. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  71. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  72. from /usr/include/boost/multiprecision/number.hpp:22,
  73. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  74. from ../MyCppApplication/main.cpp:4:
  75. /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> >&)
  76. operator * (const number<B, et_on>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  77. ^
  78. /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template argument deduction/substitution failed:
  79. ../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>'
  80. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  81. ^
  82. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  83. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  84. from /usr/include/boost/multiprecision/number.hpp:22,
  85. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  86. from ../MyCppApplication/main.cpp:4:
  87. /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>&)
  88. operator * (const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
  89. ^
  90. /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template argument deduction/substitution failed:
  91. ../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>'
  92. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  93. ^
  94. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  95. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  96. from /usr/include/boost/multiprecision/number.hpp:22,
  97. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  98. from ../MyCppApplication/main.cpp:4:
  99. /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>&)
  100. operator * (const number<B, ET>& a, const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& b)
  101. ^
  102. /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template argument deduction/substitution failed:
  103. ../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>'
  104. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  105. ^
  106. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  107. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  108. from /usr/include/boost/multiprecision/number.hpp:22,
  109. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  110. from ../MyCppApplication/main.cpp:4:
  111. /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>&)
  112. operator * (const V& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
  113. ^
  114. /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template argument deduction/substitution failed:
  115. ../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>'
  116. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  117. ^
  118. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  119. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  120. from /usr/include/boost/multiprecision/number.hpp:22,
  121. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  122. from ../MyCppApplication/main.cpp:4:
  123. /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&)
  124. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const V& b)
  125. ^
  126. /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template argument deduction/substitution failed:
  127. ../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>'
  128. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  129. ^
  130. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  131. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  132. from /usr/include/boost/multiprecision/number.hpp:22,
  133. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  134. from ../MyCppApplication/main.cpp:4:
  135. /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>&)
  136. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const detail::expression<tag2, Arg1b, Arg2b, Arg3b, Arg4b>& b)
  137. ^
  138. /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template argument deduction/substitution failed:
  139. ../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>'
  140. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  141. ^
  142. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  143. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  144. from /usr/include/boost/multiprecision/number.hpp:22,
  145. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  146. from ../MyCppApplication/main.cpp:4:
  147. /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>&)
  148. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
  149. ^
  150. /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template argument deduction/substitution failed:
  151. ../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>'
  152. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  153. ^
  154. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  155. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  156. from /usr/include/boost/multiprecision/number.hpp:22,
  157. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  158. from ../MyCppApplication/main.cpp:4:
  159. /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>&)
  160. operator * (const number<B, ET>& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
  161. ^
  162. /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template argument deduction/substitution failed:
  163. ../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>'
  164. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  165. ^
  166. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  167. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  168. from /usr/include/boost/multiprecision/number.hpp:22,
  169. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  170. from ../MyCppApplication/main.cpp:4:
  171. /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>&)
  172. operator * (const V& a, const number<B, et_on>& b)
  173. ^
  174. /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template argument deduction/substitution failed:
  175. ../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>'
  176. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  177. ^
  178. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  179. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  180. from /usr/include/boost/multiprecision/number.hpp:22,
  181. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  182. from ../MyCppApplication/main.cpp:4:
  183. /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&)
  184. operator * (const number<B, et_on>& a, const V& b)
  185. ^
  186. /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template argument deduction/substitution failed:
  187. ../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>'
  188. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  189. ^
  190. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  191. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  192. from /usr/include/boost/multiprecision/number.hpp:22,
  193. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  194. from ../MyCppApplication/main.cpp:4:
  195. /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>&)
  196. operator * (const number<B, et_on>& a, const number<B, et_on>& b)
  197. ^
  198. /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template argument deduction/substitution failed:
  199. ../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>'
  200. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  201. ^
  202. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  203. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  204. from /usr/include/boost/multiprecision/number.hpp:22,
  205. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  206. from ../MyCppApplication/main.cpp:4:
  207. /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>&&)
  208. operator * (const V& a, number<B, et_off>&& b)
  209. ^
  210. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template argument deduction/substitution failed:
  211. ../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>'
  212. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  213. ^
  214. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  215. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  216. from /usr/include/boost/multiprecision/number.hpp:22,
  217. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  218. from ../MyCppApplication/main.cpp:4:
  219. /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&)
  220. operator * (number<B, et_off>&& a, const V& b)
  221. ^
  222. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template argument deduction/substitution failed:
  223. ../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
  224. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  225. ^
  226. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  227. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  228. from /usr/include/boost/multiprecision/number.hpp:22,
  229. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  230. from ../MyCppApplication/main.cpp:4:
  231. /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>&&)
  232. BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, number<B, et_off>&& b)
  233. ^
  234. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template argument deduction/substitution failed:
  235. ../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
  236. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  237. ^
  238. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  239. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  240. from /usr/include/boost/multiprecision/number.hpp:22,
  241. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  242. from ../MyCppApplication/main.cpp:4:
  243. /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>&&)
  244. BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, number<B, et_off>&& b)
  245. ^
  246. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template argument deduction/substitution failed:
  247. ../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>'
  248. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  249. ^
  250. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  251. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  252. from /usr/include/boost/multiprecision/number.hpp:22,
  253. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  254. from ../MyCppApplication/main.cpp:4:
  255. /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>&)
  256. BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, const number<B, et_off>& b)
  257. ^
  258. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template argument deduction/substitution failed:
  259. ../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
  260. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  261. ^
  262. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  263. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  264. from /usr/include/boost/multiprecision/number.hpp:22,
  265. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  266. from ../MyCppApplication/main.cpp:4:
  267. /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>&)
  268. operator * (const V& a, const number<B, et_off>& b)
  269. ^
  270. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template argument deduction/substitution failed:
  271. ../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>'
  272. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  273. ^
  274. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  275. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  276. from /usr/include/boost/multiprecision/number.hpp:22,
  277. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  278. from ../MyCppApplication/main.cpp:4:
  279. /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&)
  280. operator * (const number<B, et_off>& a, const V& b)
  281. ^
  282. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template argument deduction/substitution failed:
  283. ../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>'
  284. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  285. ^
  286. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  287. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  288. from /usr/include/boost/multiprecision/number.hpp:22,
  289. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  290. from ../MyCppApplication/main.cpp:4:
  291. /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>&)
  292. BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, const number<B, et_off>& b)
  293. ^
  294. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template argument deduction/substitution failed:
  295. ../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>'
  296. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  297. ^
  298. ../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>')
  299. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  300. ^
  301. ../MyCppApplication/main.cpp:22:39: note: candidates are:
  302. In file included from ../MyCppApplication/main.cpp:5:0:
  303. ../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>&)
  304. inline Modular<T, modulus> operator*(const Modular<T, modulus>& lhs, const Modular<T, modulus>& rhs)
  305. ^
  306. ../MyCppApplication/euler.hpp:74:32: note: template argument deduction/substitution failed:
  307. ../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>'
  308. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  309. ^
  310. ../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>'
  311. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  312. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  313. from /usr/include/boost/multiprecision/number.hpp:22,
  314. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  315. from ../MyCppApplication/main.cpp:4:
  316. /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> >&)
  317. operator * (const number<B2, ET>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  318. ^
  319. /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template argument deduction/substitution failed:
  320. ../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>'
  321. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  322. ^
  323. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  324. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  325. from /usr/include/boost/multiprecision/number.hpp:22,
  326. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  327. from ../MyCppApplication/main.cpp:4:
  328. /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> >&)
  329. operator * (const V& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  330. ^
  331. /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template argument deduction/substitution failed:
  332. ../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> >'
  333. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  334. ^
  335. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  336. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  337. from /usr/include/boost/multiprecision/number.hpp:22,
  338. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  339. from ../MyCppApplication/main.cpp:4:
  340. /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>&)
  341. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B2, ET>& b)
  342. ^
  343. /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template argument deduction/substitution failed:
  344. ../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> >'
  345. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  346. ^
  347. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  348. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  349. from /usr/include/boost/multiprecision/number.hpp:22,
  350. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  351. from ../MyCppApplication/main.cpp:4:
  352. /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&)
  353. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const V& b)
  354. ^
  355. /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template argument deduction/substitution failed:
  356. ../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> >'
  357. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  358. ^
  359. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  360. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  361. from /usr/include/boost/multiprecision/number.hpp:22,
  362. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  363. from ../MyCppApplication/main.cpp:4:
  364. /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>&)
  365. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B, et_on>& b)
  366. ^
  367. /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template argument deduction/substitution failed:
  368. ../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> >'
  369. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  370. ^
  371. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  372. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  373. from /usr/include/boost/multiprecision/number.hpp:22,
  374. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  375. from ../MyCppApplication/main.cpp:4:
  376. /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> >&)
  377. operator * (const number<B, et_on>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  378. ^
  379. /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template argument deduction/substitution failed:
  380. ../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>'
  381. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  382. ^
  383. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  384. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  385. from /usr/include/boost/multiprecision/number.hpp:22,
  386. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  387. from ../MyCppApplication/main.cpp:4:
  388. /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>&)
  389. operator * (const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
  390. ^
  391. /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template argument deduction/substitution failed:
  392. ../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>'
  393. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  394. ^
  395. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  396. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  397. from /usr/include/boost/multiprecision/number.hpp:22,
  398. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  399. from ../MyCppApplication/main.cpp:4:
  400. /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>&)
  401. operator * (const number<B, ET>& a, const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& b)
  402. ^
  403. /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template argument deduction/substitution failed:
  404. ../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>'
  405. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  406. ^
  407. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  408. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  409. from /usr/include/boost/multiprecision/number.hpp:22,
  410. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  411. from ../MyCppApplication/main.cpp:4:
  412. /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>&)
  413. operator * (const V& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
  414. ^
  415. /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template argument deduction/substitution failed:
  416. ../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>'
  417. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  418. ^
  419. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  420. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  421. from /usr/include/boost/multiprecision/number.hpp:22,
  422. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  423. from ../MyCppApplication/main.cpp:4:
  424. /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&)
  425. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const V& b)
  426. ^
  427. /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template argument deduction/substitution failed:
  428. ../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>'
  429. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  430. ^
  431. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  432. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  433. from /usr/include/boost/multiprecision/number.hpp:22,
  434. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  435. from ../MyCppApplication/main.cpp:4:
  436. /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>&)
  437. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const detail::expression<tag2, Arg1b, Arg2b, Arg3b, Arg4b>& b)
  438. ^
  439. /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template argument deduction/substitution failed:
  440. ../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>'
  441. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  442. ^
  443. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  444. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  445. from /usr/include/boost/multiprecision/number.hpp:22,
  446. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  447. from ../MyCppApplication/main.cpp:4:
  448. /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>&)
  449. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
  450. ^
  451. /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template argument deduction/substitution failed:
  452. ../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>'
  453. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  454. ^
  455. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  456. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  457. from /usr/include/boost/multiprecision/number.hpp:22,
  458. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  459. from ../MyCppApplication/main.cpp:4:
  460. /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>&)
  461. operator * (const number<B, ET>& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
  462. ^
  463. /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template argument deduction/substitution failed:
  464. ../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>'
  465. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  466. ^
  467. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  468. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  469. from /usr/include/boost/multiprecision/number.hpp:22,
  470. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  471. from ../MyCppApplication/main.cpp:4:
  472. /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>&)
  473. operator * (const V& a, const number<B, et_on>& b)
  474. ^
  475. /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template argument deduction/substitution failed:
  476. ../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>'
  477. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  478. ^
  479. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  480. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  481. from /usr/include/boost/multiprecision/number.hpp:22,
  482. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  483. from ../MyCppApplication/main.cpp:4:
  484. /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&)
  485. operator * (const number<B, et_on>& a, const V& b)
  486. ^
  487. /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template argument deduction/substitution failed:
  488. ../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>'
  489. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  490. ^
  491. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  492. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  493. from /usr/include/boost/multiprecision/number.hpp:22,
  494. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  495. from ../MyCppApplication/main.cpp:4:
  496. /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>&)
  497. operator * (const number<B, et_on>& a, const number<B, et_on>& b)
  498. ^
  499. /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template argument deduction/substitution failed:
  500. ../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>'
  501. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  502. ^
  503. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  504. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  505. from /usr/include/boost/multiprecision/number.hpp:22,
  506. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  507. from ../MyCppApplication/main.cpp:4:
  508. /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>&&)
  509. operator * (const V& a, number<B, et_off>&& b)
  510. ^
  511. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template argument deduction/substitution failed:
  512. ../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>'
  513. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  514. ^
  515. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  516. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  517. from /usr/include/boost/multiprecision/number.hpp:22,
  518. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  519. from ../MyCppApplication/main.cpp:4:
  520. /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&)
  521. operator * (number<B, et_off>&& a, const V& b)
  522. ^
  523. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template argument deduction/substitution failed:
  524. ../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
  525. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  526. ^
  527. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  528. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  529. from /usr/include/boost/multiprecision/number.hpp:22,
  530. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  531. from ../MyCppApplication/main.cpp:4:
  532. /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>&&)
  533. BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, number<B, et_off>&& b)
  534. ^
  535. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template argument deduction/substitution failed:
  536. ../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
  537. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  538. ^
  539. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  540. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  541. from /usr/include/boost/multiprecision/number.hpp:22,
  542. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  543. from ../MyCppApplication/main.cpp:4:
  544. /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>&&)
  545. BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, number<B, et_off>&& b)
  546. ^
  547. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template argument deduction/substitution failed:
  548. ../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>'
  549. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  550. ^
  551. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  552. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  553. from /usr/include/boost/multiprecision/number.hpp:22,
  554. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  555. from ../MyCppApplication/main.cpp:4:
  556. /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>&)
  557. BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, const number<B, et_off>& b)
  558. ^
  559. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template argument deduction/substitution failed:
  560. ../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
  561. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  562. ^
  563. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  564. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  565. from /usr/include/boost/multiprecision/number.hpp:22,
  566. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  567. from ../MyCppApplication/main.cpp:4:
  568. /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>&)
  569. operator * (const V& a, const number<B, et_off>& b)
  570. ^
  571. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template argument deduction/substitution failed:
  572. ../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>'
  573. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  574. ^
  575. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  576. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  577. from /usr/include/boost/multiprecision/number.hpp:22,
  578. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  579. from ../MyCppApplication/main.cpp:4:
  580. /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&)
  581. operator * (const number<B, et_off>& a, const V& b)
  582. ^
  583. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template argument deduction/substitution failed:
  584. ../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>'
  585. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  586. ^
  587. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  588. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  589. from /usr/include/boost/multiprecision/number.hpp:22,
  590. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  591. from ../MyCppApplication/main.cpp:4:
  592. /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>&)
  593. BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, const number<B, et_off>& b)
  594. ^
  595. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template argument deduction/substitution failed:
  596. ../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>'
  597. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  598. ^
  599. ../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>}')
  600. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  601. ^
  602. ../MyCppApplication/main.cpp:22:65: note: candidates are:
  603. In file included from ../MyCppApplication/main.cpp:5:0:
  604. ../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>&)
  605. inline Modular<T, modulus> operator*(const Modular<T, modulus>& lhs, const Modular<T, modulus>& rhs)
  606. ^
  607. ../MyCppApplication/euler.hpp:74:32: note: template argument deduction/substitution failed:
  608. ../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>'
  609. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  610. ^
  611. ../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>'
  612. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  613. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  614. from /usr/include/boost/multiprecision/number.hpp:22,
  615. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  616. from ../MyCppApplication/main.cpp:4:
  617. /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> >&)
  618. operator * (const number<B2, ET>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  619. ^
  620. /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template argument deduction/substitution failed:
  621. ../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>'
  622. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  623. ^
  624. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  625. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  626. from /usr/include/boost/multiprecision/number.hpp:22,
  627. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  628. from ../MyCppApplication/main.cpp:4:
  629. /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> >&)
  630. operator * (const V& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  631. ^
  632. /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template argument deduction/substitution failed:
  633. ../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> >'
  634. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  635. ^
  636. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  637. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  638. from /usr/include/boost/multiprecision/number.hpp:22,
  639. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  640. from ../MyCppApplication/main.cpp:4:
  641. /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>&)
  642. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B2, ET>& b)
  643. ^
  644. /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template argument deduction/substitution failed:
  645. ../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> >'
  646. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  647. ^
  648. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  649. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  650. from /usr/include/boost/multiprecision/number.hpp:22,
  651. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  652. from ../MyCppApplication/main.cpp:4:
  653. /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&)
  654. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const V& b)
  655. ^
  656. /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template argument deduction/substitution failed:
  657. ../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> >'
  658. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  659. ^
  660. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  661. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  662. from /usr/include/boost/multiprecision/number.hpp:22,
  663. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  664. from ../MyCppApplication/main.cpp:4:
  665. /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>&)
  666. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B, et_on>& b)
  667. ^
  668. /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template argument deduction/substitution failed:
  669. ../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> >'
  670. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  671. ^
  672. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  673. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  674. from /usr/include/boost/multiprecision/number.hpp:22,
  675. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  676. from ../MyCppApplication/main.cpp:4:
  677. /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> >&)
  678. operator * (const number<B, et_on>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  679. ^
  680. /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template argument deduction/substitution failed:
  681. ../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>'
  682. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  683. ^
  684. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  685. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  686. from /usr/include/boost/multiprecision/number.hpp:22,
  687. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  688. from ../MyCppApplication/main.cpp:4:
  689. /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>&)
  690. operator * (const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
  691. ^
  692. /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template argument deduction/substitution failed:
  693. ../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>'
  694. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  695. ^
  696. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  697. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  698. from /usr/include/boost/multiprecision/number.hpp:22,
  699. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  700. from ../MyCppApplication/main.cpp:4:
  701. /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>&)
  702. operator * (const number<B, ET>& a, const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& b)
  703. ^
  704. /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template argument deduction/substitution failed:
  705. ../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>'
  706. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  707. ^
  708. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  709. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  710. from /usr/include/boost/multiprecision/number.hpp:22,
  711. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  712. from ../MyCppApplication/main.cpp:4:
  713. /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>&)
  714. operator * (const V& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
  715. ^
  716. /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template argument deduction/substitution failed:
  717. ../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>'
  718. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  719. ^
  720. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  721. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  722. from /usr/include/boost/multiprecision/number.hpp:22,
  723. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  724. from ../MyCppApplication/main.cpp:4:
  725. /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&)
  726. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const V& b)
  727. ^
  728. /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template argument deduction/substitution failed:
  729. ../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>'
  730. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  731. ^
  732. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  733. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  734. from /usr/include/boost/multiprecision/number.hpp:22,
  735. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  736. from ../MyCppApplication/main.cpp:4:
  737. /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>&)
  738. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const detail::expression<tag2, Arg1b, Arg2b, Arg3b, Arg4b>& b)
  739. ^
  740. /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template argument deduction/substitution failed:
  741. ../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>'
  742. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  743. ^
  744. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  745. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  746. from /usr/include/boost/multiprecision/number.hpp:22,
  747. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  748. from ../MyCppApplication/main.cpp:4:
  749. /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>&)
  750. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
  751. ^
  752. /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template argument deduction/substitution failed:
  753. ../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>'
  754. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  755. ^
  756. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  757. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  758. from /usr/include/boost/multiprecision/number.hpp:22,
  759. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  760. from ../MyCppApplication/main.cpp:4:
  761. /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>&)
  762. operator * (const number<B, ET>& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
  763. ^
  764. /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template argument deduction/substitution failed:
  765. ../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>'
  766. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  767. ^
  768. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  769. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  770. from /usr/include/boost/multiprecision/number.hpp:22,
  771. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  772. from ../MyCppApplication/main.cpp:4:
  773. /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>&)
  774. operator * (const V& a, const number<B, et_on>& b)
  775. ^
  776. /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template argument deduction/substitution failed:
  777. ../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>'
  778. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  779. ^
  780. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  781. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  782. from /usr/include/boost/multiprecision/number.hpp:22,
  783. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  784. from ../MyCppApplication/main.cpp:4:
  785. /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&)
  786. operator * (const number<B, et_on>& a, const V& b)
  787. ^
  788. /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template argument deduction/substitution failed:
  789. ../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>'
  790. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  791. ^
  792. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  793. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  794. from /usr/include/boost/multiprecision/number.hpp:22,
  795. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  796. from ../MyCppApplication/main.cpp:4:
  797. /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>&)
  798. operator * (const number<B, et_on>& a, const number<B, et_on>& b)
  799. ^
  800. /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template argument deduction/substitution failed:
  801. ../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>'
  802. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  803. ^
  804. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  805. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  806. from /usr/include/boost/multiprecision/number.hpp:22,
  807. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  808. from ../MyCppApplication/main.cpp:4:
  809. /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>&&)
  810. operator * (const V& a, number<B, et_off>&& b)
  811. ^
  812. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template argument deduction/substitution failed:
  813. ../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>'
  814. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  815. ^
  816. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  817. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  818. from /usr/include/boost/multiprecision/number.hpp:22,
  819. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  820. from ../MyCppApplication/main.cpp:4:
  821. /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&)
  822. operator * (number<B, et_off>&& a, const V& b)
  823. ^
  824. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template argument deduction/substitution failed:
  825. ../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>'
  826. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  827. ^
  828. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  829. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  830. from /usr/include/boost/multiprecision/number.hpp:22,
  831. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  832. from ../MyCppApplication/main.cpp:4:
  833. /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>&&)
  834. BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, number<B, et_off>&& b)
  835. ^
  836. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template argument deduction/substitution failed:
  837. ../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>'
  838. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  839. ^
  840. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  841. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  842. from /usr/include/boost/multiprecision/number.hpp:22,
  843. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  844. from ../MyCppApplication/main.cpp:4:
  845. /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>&&)
  846. BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, number<B, et_off>&& b)
  847. ^
  848. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template argument deduction/substitution failed:
  849. ../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>'
  850. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  851. ^
  852. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  853. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  854. from /usr/include/boost/multiprecision/number.hpp:22,
  855. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  856. from ../MyCppApplication/main.cpp:4:
  857. /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>&)
  858. BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, const number<B, et_off>& b)
  859. ^
  860. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template argument deduction/substitution failed:
  861. ../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>'
  862. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  863. ^
  864. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  865. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  866. from /usr/include/boost/multiprecision/number.hpp:22,
  867. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  868. from ../MyCppApplication/main.cpp:4:
  869. /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>&)
  870. operator * (const V& a, const number<B, et_off>& b)
  871. ^
  872. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template argument deduction/substitution failed:
  873. ../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>'
  874. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  875. ^
  876. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  877. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  878. from /usr/include/boost/multiprecision/number.hpp:22,
  879. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  880. from ../MyCppApplication/main.cpp:4:
  881. /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&)
  882. operator * (const number<B, et_off>& a, const V& b)
  883. ^
  884. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template argument deduction/substitution failed:
  885. ../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>'
  886. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  887. ^
  888. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  889. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  890. from /usr/include/boost/multiprecision/number.hpp:22,
  891. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  892. from ../MyCppApplication/main.cpp:4:
  893. /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>&)
  894. BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, const number<B, et_off>& b)
  895. ^
  896. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template argument deduction/substitution failed:
  897. ../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>'
  898. result += (a * x.pow(n+2) + b * x.pow(n+1) - x) / mint(x*x + x - mint(1));
  899. ^
  900. In file included from ../MyCppApplication/main.cpp:5:0:
  901. ../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]':
  902. ../MyCppApplication/main.cpp:22:33: required from here
  903. ../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>')
  904. return (*this) * square.pow(exp/2);
  905. ^
  906. ../MyCppApplication/euler.hpp:48:32: note: candidates are:
  907. ../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>&)
  908. inline Modular<T, modulus> operator*(const Modular<T, modulus>& lhs, const Modular<T, modulus>& rhs)
  909. ^
  910. ../MyCppApplication/euler.hpp:74:32: note: template argument deduction/substitution failed:
  911. ../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>'
  912. return (*this) * square.pow(exp/2);
  913. ^
  914. ../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>'
  915. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  916. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  917. from /usr/include/boost/multiprecision/number.hpp:22,
  918. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  919. from ../MyCppApplication/main.cpp:4:
  920. /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> >&)
  921. operator * (const number<B2, ET>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  922. ^
  923. /usr/include/boost/multiprecision/detail/et_ops.hpp:411:4: note: template argument deduction/substitution failed:
  924. In file included from ../MyCppApplication/main.cpp:5:0:
  925. ../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>'
  926. return (*this) * square.pow(exp/2);
  927. ^
  928. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  929. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  930. from /usr/include/boost/multiprecision/number.hpp:22,
  931. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  932. from ../MyCppApplication/main.cpp:4:
  933. /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> >&)
  934. operator * (const V& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  935. ^
  936. /usr/include/boost/multiprecision/detail/et_ops.hpp:404:4: note: template argument deduction/substitution failed:
  937. In file included from ../MyCppApplication/main.cpp:5:0:
  938. ../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> >'
  939. return (*this) * square.pow(exp/2);
  940. ^
  941. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  942. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  943. from /usr/include/boost/multiprecision/number.hpp:22,
  944. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  945. from ../MyCppApplication/main.cpp:4:
  946. /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>&)
  947. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B2, ET>& b)
  948. ^
  949. /usr/include/boost/multiprecision/detail/et_ops.hpp:397:4: note: template argument deduction/substitution failed:
  950. In file included from ../MyCppApplication/main.cpp:5:0:
  951. ../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> >'
  952. return (*this) * square.pow(exp/2);
  953. ^
  954. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  955. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  956. from /usr/include/boost/multiprecision/number.hpp:22,
  957. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  958. from ../MyCppApplication/main.cpp:4:
  959. /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&)
  960. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const V& b)
  961. ^
  962. /usr/include/boost/multiprecision/detail/et_ops.hpp:390:4: note: template argument deduction/substitution failed:
  963. In file included from ../MyCppApplication/main.cpp:5:0:
  964. ../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> >'
  965. return (*this) * square.pow(exp/2);
  966. ^
  967. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  968. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  969. from /usr/include/boost/multiprecision/number.hpp:22,
  970. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  971. from ../MyCppApplication/main.cpp:4:
  972. /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>&)
  973. operator * (const detail::expression<detail::negate, number<B, et_on> >& a, const number<B, et_on>& b)
  974. ^
  975. /usr/include/boost/multiprecision/detail/et_ops.hpp:383:4: note: template argument deduction/substitution failed:
  976. In file included from ../MyCppApplication/main.cpp:5:0:
  977. ../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> >'
  978. return (*this) * square.pow(exp/2);
  979. ^
  980. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  981. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  982. from /usr/include/boost/multiprecision/number.hpp:22,
  983. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  984. from ../MyCppApplication/main.cpp:4:
  985. /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> >&)
  986. operator * (const number<B, et_on>& a, const detail::expression<detail::negate, number<B, et_on> >& b)
  987. ^
  988. /usr/include/boost/multiprecision/detail/et_ops.hpp:376:4: note: template argument deduction/substitution failed:
  989. In file included from ../MyCppApplication/main.cpp:5:0:
  990. ../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>'
  991. return (*this) * square.pow(exp/2);
  992. ^
  993. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  994. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  995. from /usr/include/boost/multiprecision/number.hpp:22,
  996. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  997. from ../MyCppApplication/main.cpp:4:
  998. /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>&)
  999. operator * (const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
  1000. ^
  1001. /usr/include/boost/multiprecision/detail/et_ops.hpp:369:4: note: template argument deduction/substitution failed:
  1002. In file included from ../MyCppApplication/main.cpp:5:0:
  1003. ../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>'
  1004. return (*this) * square.pow(exp/2);
  1005. ^
  1006. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  1007. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1008. from /usr/include/boost/multiprecision/number.hpp:22,
  1009. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1010. from ../MyCppApplication/main.cpp:4:
  1011. /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>&)
  1012. operator * (const number<B, ET>& a, const detail::expression<detail::negate, Arg1, Arg2, Arg3, Arg4>& b)
  1013. ^
  1014. /usr/include/boost/multiprecision/detail/et_ops.hpp:362:4: note: template argument deduction/substitution failed:
  1015. In file included from ../MyCppApplication/main.cpp:5:0:
  1016. ../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>'
  1017. return (*this) * square.pow(exp/2);
  1018. ^
  1019. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  1020. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1021. from /usr/include/boost/multiprecision/number.hpp:22,
  1022. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1023. from ../MyCppApplication/main.cpp:4:
  1024. /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>&)
  1025. operator * (const V& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
  1026. ^
  1027. /usr/include/boost/multiprecision/detail/et_ops.hpp:353:4: note: template argument deduction/substitution failed:
  1028. In file included from ../MyCppApplication/main.cpp:5:0:
  1029. ../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>'
  1030. return (*this) * square.pow(exp/2);
  1031. ^
  1032. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  1033. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1034. from /usr/include/boost/multiprecision/number.hpp:22,
  1035. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1036. from ../MyCppApplication/main.cpp:4:
  1037. /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&)
  1038. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const V& b)
  1039. ^
  1040. /usr/include/boost/multiprecision/detail/et_ops.hpp:347:4: note: template argument deduction/substitution failed:
  1041. In file included from ../MyCppApplication/main.cpp:5:0:
  1042. ../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>'
  1043. return (*this) * square.pow(exp/2);
  1044. ^
  1045. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  1046. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1047. from /usr/include/boost/multiprecision/number.hpp:22,
  1048. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1049. from ../MyCppApplication/main.cpp:4:
  1050. /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>&)
  1051. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const detail::expression<tag2, Arg1b, Arg2b, Arg3b, Arg4b>& b)
  1052. ^
  1053. /usr/include/boost/multiprecision/detail/et_ops.hpp:341:4: note: template argument deduction/substitution failed:
  1054. In file included from ../MyCppApplication/main.cpp:5:0:
  1055. ../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>'
  1056. return (*this) * square.pow(exp/2);
  1057. ^
  1058. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  1059. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1060. from /usr/include/boost/multiprecision/number.hpp:22,
  1061. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1062. from ../MyCppApplication/main.cpp:4:
  1063. /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>&)
  1064. operator * (const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& a, const number<B, ET>& b)
  1065. ^
  1066. /usr/include/boost/multiprecision/detail/et_ops.hpp:335:4: note: template argument deduction/substitution failed:
  1067. In file included from ../MyCppApplication/main.cpp:5:0:
  1068. ../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>'
  1069. return (*this) * square.pow(exp/2);
  1070. ^
  1071. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  1072. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1073. from /usr/include/boost/multiprecision/number.hpp:22,
  1074. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1075. from ../MyCppApplication/main.cpp:4:
  1076. /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>&)
  1077. operator * (const number<B, ET>& a, const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& b)
  1078. ^
  1079. /usr/include/boost/multiprecision/detail/et_ops.hpp:329:4: note: template argument deduction/substitution failed:
  1080. In file included from ../MyCppApplication/main.cpp:5:0:
  1081. ../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>'
  1082. return (*this) * square.pow(exp/2);
  1083. ^
  1084. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  1085. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1086. from /usr/include/boost/multiprecision/number.hpp:22,
  1087. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1088. from ../MyCppApplication/main.cpp:4:
  1089. /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>&)
  1090. operator * (const V& a, const number<B, et_on>& b)
  1091. ^
  1092. /usr/include/boost/multiprecision/detail/et_ops.hpp:323:4: note: template argument deduction/substitution failed:
  1093. In file included from ../MyCppApplication/main.cpp:5:0:
  1094. ../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>'
  1095. return (*this) * square.pow(exp/2);
  1096. ^
  1097. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  1098. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1099. from /usr/include/boost/multiprecision/number.hpp:22,
  1100. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1101. from ../MyCppApplication/main.cpp:4:
  1102. /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&)
  1103. operator * (const number<B, et_on>& a, const V& b)
  1104. ^
  1105. /usr/include/boost/multiprecision/detail/et_ops.hpp:317:4: note: template argument deduction/substitution failed:
  1106. In file included from ../MyCppApplication/main.cpp:5:0:
  1107. ../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>'
  1108. return (*this) * square.pow(exp/2);
  1109. ^
  1110. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1944:0,
  1111. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1112. from /usr/include/boost/multiprecision/number.hpp:22,
  1113. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1114. from ../MyCppApplication/main.cpp:4:
  1115. /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>&)
  1116. operator * (const number<B, et_on>& a, const number<B, et_on>& b)
  1117. ^
  1118. /usr/include/boost/multiprecision/detail/et_ops.hpp:311:4: note: template argument deduction/substitution failed:
  1119. In file included from ../MyCppApplication/main.cpp:5:0:
  1120. ../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>'
  1121. return (*this) * square.pow(exp/2);
  1122. ^
  1123. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  1124. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1125. from /usr/include/boost/multiprecision/number.hpp:22,
  1126. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1127. from ../MyCppApplication/main.cpp:4:
  1128. /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>&&)
  1129. operator * (const V& a, number<B, et_off>&& b)
  1130. ^
  1131. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:434:4: note: template argument deduction/substitution failed:
  1132. In file included from ../MyCppApplication/main.cpp:5:0:
  1133. ../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>'
  1134. return (*this) * square.pow(exp/2);
  1135. ^
  1136. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  1137. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1138. from /usr/include/boost/multiprecision/number.hpp:22,
  1139. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1140. from ../MyCppApplication/main.cpp:4:
  1141. /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&)
  1142. operator * (number<B, et_off>&& a, const V& b)
  1143. ^
  1144. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:426:4: note: template argument deduction/substitution failed:
  1145. In file included from ../MyCppApplication/main.cpp:5:0:
  1146. ../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>'
  1147. return (*this) * square.pow(exp/2);
  1148. ^
  1149. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  1150. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1151. from /usr/include/boost/multiprecision/number.hpp:22,
  1152. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1153. from ../MyCppApplication/main.cpp:4:
  1154. /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>&&)
  1155. BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, number<B, et_off>&& b)
  1156. ^
  1157. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:418:40: note: template argument deduction/substitution failed:
  1158. In file included from ../MyCppApplication/main.cpp:5:0:
  1159. ../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>'
  1160. return (*this) * square.pow(exp/2);
  1161. ^
  1162. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  1163. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1164. from /usr/include/boost/multiprecision/number.hpp:22,
  1165. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1166. from ../MyCppApplication/main.cpp:4:
  1167. /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>&&)
  1168. BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, number<B, et_off>&& b)
  1169. ^
  1170. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:411:40: note: template argument deduction/substitution failed:
  1171. In file included from ../MyCppApplication/main.cpp:5:0:
  1172. ../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>'
  1173. return (*this) * square.pow(exp/2);
  1174. ^
  1175. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  1176. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1177. from /usr/include/boost/multiprecision/number.hpp:22,
  1178. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1179. from ../MyCppApplication/main.cpp:4:
  1180. /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>&)
  1181. BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, const number<B, et_off>& b)
  1182. ^
  1183. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:404:40: note: template argument deduction/substitution failed:
  1184. In file included from ../MyCppApplication/main.cpp:5:0:
  1185. ../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>'
  1186. return (*this) * square.pow(exp/2);
  1187. ^
  1188. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  1189. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1190. from /usr/include/boost/multiprecision/number.hpp:22,
  1191. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1192. from ../MyCppApplication/main.cpp:4:
  1193. /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>&)
  1194. operator * (const V& a, const number<B, et_off>& b)
  1195. ^
  1196. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:117:4: note: template argument deduction/substitution failed:
  1197. In file included from ../MyCppApplication/main.cpp:5:0:
  1198. ../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>'
  1199. return (*this) * square.pow(exp/2);
  1200. ^
  1201. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  1202. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1203. from /usr/include/boost/multiprecision/number.hpp:22,
  1204. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1205. from ../MyCppApplication/main.cpp:4:
  1206. /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&)
  1207. operator * (const number<B, et_off>& a, const V& b)
  1208. ^
  1209. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:108:4: note: template argument deduction/substitution failed:
  1210. In file included from ../MyCppApplication/main.cpp:5:0:
  1211. ../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>'
  1212. return (*this) * square.pow(exp/2);
  1213. ^
  1214. In file included from /usr/include/boost/multiprecision/detail/default_ops.hpp:1943:0,
  1215. from /usr/include/boost/multiprecision/detail/generic_interconvert.hpp:9,
  1216. from /usr/include/boost/multiprecision/number.hpp:22,
  1217. from /usr/include/boost/multiprecision/cpp_int.hpp:12,
  1218. from ../MyCppApplication/main.cpp:4:
  1219. /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>&)
  1220. BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, const number<B, et_off>& b)
  1221. ^
  1222. /usr/include/boost/multiprecision/detail/no_et_ops.hpp:99:40: note: template argument deduction/substitution failed:
  1223. In file included from ../MyCppApplication/main.cpp:5:0:
  1224. ../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>'
  1225. return (*this) * square.pow(exp/2);
  1226. ^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement