Compile [2024-11-17 19:52:14 UTC]: fail
"g++-13" -fvisibility-inlines-hidden -std=gnu++11 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden -Wno-missing-braces -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_DYN_LINK=1 -DBOOST_CONTAINER_NO_LIB=1 -DBOOST_RANDOM_DYN_LINK=1 -DBOOST_RANDOM_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_LIB=1 -I".." -I"../libs/math/include_private" -I"/var/boost/run/boost_root/libs/assert/include" -I"/var/boost/run/boost_root/libs/container/include" -I"/var/boost/run/boost_root/libs/core/include" -I"/var/boost/run/boost_root/libs/integer/include" -I"/var/boost/run/boost_root/libs/intrusive/include" -I"/var/boost/run/boost_root/libs/lexical_cast/include" -I"/var/boost/run/boost_root/libs/math/include" -I"/var/boost/run/boost_root/libs/move/include" -I"/var/boost/run/boost_root/libs/mp11/include" -I"/var/boost/run/boost_root/libs/predef/include" -I"/var/boost/run/boost_root/libs/random/include" -I"/var/boost/run/boost_root/libs/system/include" -I"/var/boost/run/boost_root/libs/throw_exception/include" -I"/var/boost/run/boost_root/libs/type_traits/include" -I"/var/boost/run/boost_root/libs/variant2/include" -I"/var/boost/run/boost_root/libs/winapi/include" -c -o "/var/boost/run/results/boost/bin.v2/libs/math/example/autodiff_black_scholes.test/gcc-13~gnu11/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/autodiff_black_scholes.o" "../libs/math/example/autodiff_black_scholes.cpp"
In file included from ../boost/math/cstdfloat/cstdfloat_types.hpp:17,
from ../boost/cstdfloat.hpp:18,
from ../boost/math/differentiation/autodiff.hpp:9,
from ../libs/math/example/autodiff_black_scholes.cpp:6:
../boost/math/tools/config.hpp:28:6: warning: #warning "Boost.Math requires C++14" [-Wcpp]
28 | # warning "Boost.Math requires C++14"
| ^~~~~~~
In file included from ../boost/math/tools/mp.hpp:15,
from ../boost/math/policies/policy.hpp:11,
from ../boost/math/constants/constants.hpp:16,
from ../boost/math/cstdfloat/cstdfloat_complex_std.hpp:21,
from ../boost/math/cstdfloat/cstdfloat_complex.hpp:33,
from ../boost/cstdfloat.hpp:49:
../boost/math/tools/type_traits.hpp:208:12: error: 'is_final' has not been declared in 'std'
208 | using std::is_final;
| ^~~~~~~~
../boost/math/tools/type_traits.hpp:259:12: error: 'remove_cv_t' has not been declared in 'std'
259 | using std::remove_cv_t;
| ^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:261:12: error: 'remove_const_t' has not been declared in 'std'
261 | using std::remove_const_t;
| ^~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:263:12: error: 'remove_volatile_t' has not been declared in 'std'
263 | using std::remove_volatile_t;
| ^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:265:12: error: 'add_cv_t' has not been declared in 'std'
265 | using std::add_cv_t;
| ^~~~~~~~
../boost/math/tools/type_traits.hpp:267:12: error: 'add_const_t' has not been declared in 'std'
267 | using std::add_const_t;
| ^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:269:12: error: 'add_volatile_t' has not been declared in 'std'
269 | using std::add_volatile_t;
| ^~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:273:12: error: 'remove_reference_t' has not been declared in 'std'
273 | using std::remove_reference_t;
| ^~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:275:12: error: 'add_lvalue_reference_t' has not been declared in 'std'
275 | using std::add_lvalue_reference_t;
| ^~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:277:12: error: 'add_rvalue_reference_t' has not been declared in 'std'
277 | using std::add_rvalue_reference_t;
| ^~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:281:12: error: 'remove_pointer_t' has not been declared in 'std'
281 | using std::remove_pointer_t;
| ^~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:283:12: error: 'add_pointer_t' has not been declared in 'std'
283 | using std::add_pointer_t;
| ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:287:12: error: 'make_signed_t' has not been declared in 'std'
287 | using std::make_signed_t;
| ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:289:12: error: 'make_unsigned_t' has not been declared in 'std'
289 | using std::make_unsigned_t;
| ^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:293:12: error: 'remove_extent_t' has not been declared in 'std'
293 | using std::remove_extent_t;
| ^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:295:12: error: 'remove_all_extents_t' has not been declared in 'std'
295 | using std::remove_all_extents_t;
| ^~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:299:12: error: 'decay_t' has not been declared in 'std'
299 | using std::decay_t;
| ^~~~~~~
../boost/math/tools/type_traits.hpp:301:12: error: 'enable_if_t' has not been declared in 'std'
301 | using std::enable_if_t;
| ^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:303:12: error: 'conditional_t' has not been declared in 'std'
303 | using std::conditional_t;
| ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:305:12: error: 'common_type_t' has not been declared in 'std'
305 | using std::common_type_t;
| ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:307:12: error: 'underlying_type_t' has not been declared in 'std'
307 | using std::underlying_type_t;
| ^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:402:60: error: 'is_final' is not a member of 'boost::math'; did you mean 'is_final_v'?
402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
| ^~~~~~~~
| is_final_v
../boost/math/tools/type_traits.hpp:402:70: error: expected primary-expression before '>' token
402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
| ^
../boost/math/tools/type_traits.hpp:402:73: error: '::value' has not been declared
402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
| ^~~~~
In file included from ../boost/math/special_functions/math_fwd.hpp:28,
from ../boost/math/special_functions/trunc.hpp:21,
from ../boost/math/differentiation/autodiff.hpp:11:
../boost/math/tools/promotion.hpp:90:36: error: 'common_type_t' in namespace 'boost::math' does not name a template type; did you mean 'common_type'?
90 | using type = boost::math::common_type_t<T1, T2, float>;
| ^~~~~~~~~~~~~
| common_type
../boost/math/special_functions/trunc.hpp:324:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
324 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<boost::math::is_constructible_v<int, T>, int>
| ^~~~~~~~~~~
| enable_if
../boost/math/special_functions/trunc.hpp:331:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
331 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<!boost::math::is_constructible_v<int, T>, int>
| ^~~~~~~~~~~
| enable_if
../boost/math/special_functions/trunc.hpp:339:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
339 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<boost::math::is_constructible_v<long, T>, long>
| ^~~~~~~~~~~
| enable_if
../boost/math/special_functions/trunc.hpp:346:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
346 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<!boost::math::is_constructible_v<long, T>, long>
| ^~~~~~~~~~~
| enable_if
../boost/math/special_functions/trunc.hpp:354:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
354 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<boost::math::is_constructible_v<long long, T>, long long>
| ^~~~~~~~~~~
| enable_if
../boost/math/special_functions/trunc.hpp:361:53: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
361 | BOOST_MATH_GPU_ENABLED inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
| ^~~~~~~~~~~
| enable_if
../boost/math/special_functions/trunc.hpp:361:64: error: expected unqualified-id before '<' token
361 | BOOST_MATH_GPU_ENABLED inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
| ^
../boost/math/special_functions/trunc.hpp:369:76: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
369 | BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline boost::math::enable_if_t<boost::math::is_constructible_v<long long, T>, long long>
| ^~~~~~~~~~~
| enable_if
../boost/math/special_functions/trunc.hpp:376:85: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
376 | BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
| ^~~~~~~~~~~
| enable_if
../boost/math/special_functions/trunc.hpp:376:96: error: expected unqualified-id before '<' token
376 | BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
| ^
In file included from ../boost/math/special_functions/detail/polygamma.hpp:24,
from ../boost/math/special_functions/polygamma.hpp:15,
from ../boost/math/differentiation/autodiff.hpp:17:
../boost/math/special_functions/pow.hpp:126:79: error: redeclaration 'constexpr typename boost::math::tools::promote_args<T2>::type boost::math::pow(T, const Policy&)' differs in 'constexpr' from previous declaration
126 | BOOST_MATH_GPU_ENABLED constexpr inline typename tools::promote_args<T>::type pow(T base, const Policy& policy)
| ^~~
../boost/math/special_functions/math_fwd.hpp:1173:79: note: previous declaration 'boost::math::tools::promote_args_t<T> boost::math::pow(T, const Policy&)'
1173 | BOOST_MATH_GPU_ENABLED BOOST_MATH_CXX14_CONSTEXPR tools::promote_args_t<T> pow(T base, const Policy& policy);
| ^~~
../boost/math/special_functions/pow.hpp:133:79: error: redeclaration 'constexpr typename boost::math::tools::promote_args<T2>::type boost::math::pow(T)' differs in 'constexpr' from previous declaration
133 | BOOST_MATH_GPU_ENABLED constexpr inline typename tools::promote_args<T>::type pow(T base)
| ^~~
../boost/math/special_functions/math_fwd.hpp:1176:79: note: previous declaration 'boost::math::tools::promote_args_t<T> boost::math::pow(T)'
1176 | BOOST_MATH_GPU_ENABLED BOOST_MATH_CXX14_CONSTEXPR tools::promote_args_t<T> pow(T base);
| ^~~
../boost/math/tools/promotion.hpp: In instantiation of 'struct boost::math::tools::promote_args_permissive<double, double>':
../boost/math/tools/promotion.hpp:119:16: required from 'struct boost::math::tools::promote_args<double, double>'
../boost/math/differentiation/autodiff.hpp:2007:9: recursively required from 'struct boost::math::tools::promote_args<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0> >'
../boost/math/differentiation/autodiff.hpp:42:9: recursively required from 'struct boost::math::differentiation::autodiff_v1::detail::promote_args_n<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0> >'
../boost/math/differentiation/autodiff.hpp:42:9: required from 'struct boost::math::differentiation::autodiff_v1::detail::promote_args_n<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0> >'
../boost/math/differentiation/autodiff.hpp:53:7: required by substitution of 'template<class RealType, class ... RealTypes> using boost::math::differentiation::autodiff_v1::promote = typename boost::math::differentiation::autodiff_v1::detail::promote_args_n::type [with RealType = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; RealTypes = {boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>}]'
../libs/math/example/autodiff_black_scholes.cpp:32:34: required by substitution of 'template<class Price, class Sigma, class Tau, class Rate> boost::math::differentiation::autodiff_v1::promote<Price, Sigma, Tau, Rate> black_scholes_option_price(CP, double, const Price&, const Sigma&, const Tau&, const Rate&) [with Price = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; Sigma = boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>; Tau = boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>; Rate = boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>]'
../libs/math/example/autodiff_black_scholes.cpp:58:53: required from here
../boost/math/tools/promotion.hpp:105:16: error: no type named 'type' in 'struct boost::math::tools::pa2_integral_already_removed<double, double, true>'
105 | using type = typename pa2_integral_already_removed<
| ^~~~
../libs/math/example/autodiff_black_scholes.cpp: In function 'int main()':
../libs/math/example/autodiff_black_scholes.cpp:58:53: error: no matching function for call to 'black_scholes_option_price(CP, const double&, const boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>&, const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>&, const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>&, const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>&)'
58 | auto const call_price = black_scholes_option_price(CP::call, K, S, sigma, tau, r);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:32:34: note: candidate: 'template<class Price, class Sigma, class Tau, class Rate> boost::math::differentiation::autodiff_v1::promote<Price, Sigma, Tau, Rate> black_scholes_option_price(CP, double, const Price&, const Sigma&, const Tau&, const Rate&)'
32 | promote<Price, Sigma, Tau, Rate> black_scholes_option_price(CP cp,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:32:34: note: substitution of deduced template arguments resulted in errors seen above
../libs/math/example/autodiff_black_scholes.cpp:59:52: error: no matching function for call to 'black_scholes_option_price(CP, const double&, const boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>&, const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>&, const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>&, const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>&)'
59 | auto const put_price = black_scholes_option_price(CP::put, K, S, sigma, tau, r);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:32:34: note: candidate: 'template<class Price, class Sigma, class Tau, class Rate> boost::math::differentiation::autodiff_v1::promote<Price, Sigma, Tau, Rate> black_scholes_option_price(CP, double, const Price&, const Sigma&, const Tau&, const Rate&)'
32 | promote<Price, Sigma, Tau, Rate> black_scholes_option_price(CP cp,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:32:34: note: template argument deduction/substitution failed:
../libs/math/example/autodiff_black_scholes.cpp:61:66: error: no match for 'operator*' (operand types are 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' and 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>')
61 | double const d1 = static_cast<double>((log(S / K) + (r + sigma * sigma / 2) * tau) / (sigma * sqrt(tau)));
| ~~~~~ ^ ~~~~~
| | |
| | fvar<[...],[...]>
| fvar<[...],[...]>
../libs/math/example/autodiff_black_scholes.cpp:61:66: note: candidate: 'operator*(boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type {aka double}, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type {aka double})' (built-in)
61 | double const d1 = static_cast<double>((log(S / K) + (r + sigma * sigma / 2) * tau) / (sigma * sqrt(tau)));
| ~~~~~~^~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:61:66: note: no known conversion for argument 2 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type' {aka 'double'}
../boost/math/differentiation/autodiff.hpp:219:42: note: candidate: 'template<class RealType2, long unsigned int Order2> boost::math::differentiation::autodiff_v1::promote<boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>, boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2> > boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2>&) const [with long unsigned int Order2 = RealType2; RealType = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; long unsigned int Order = 0]'
219 | promote<fvar, fvar<RealType2, Order2>> operator*(fvar<RealType2, Order2> const&)const;
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:219:42: note: template argument deduction/substitution failed:
../boost/math/differentiation/autodiff.hpp:861:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const root_type&) const [with RealType = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; long unsigned int Order = 0; root_type = double]'
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ^~~~~~~~~~~~~~~~~~~~~
../boost/math/differentiation/autodiff.hpp:861:73: note: no known conversion for argument 1 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type&' {aka 'const double&'}
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ~~~~~~~~~~~~~~~~~^~
../boost/math/differentiation/autodiff.hpp:868:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::operator*(const typename fvar<RealType, Order>::root_type&, const fvar<RealType, Order>&) [with RealType = fvar<double, 3>; long unsigned int Order = 0; typename fvar<RealType, Order>::root_type = double]'
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:868:82: note: no known conversion for argument 1 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type&' {aka 'const double&'}
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
../libs/math/example/autodiff_black_scholes.cpp:61:95: error: no match for 'operator*' (operand types are 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' and 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>')
61 | double const d1 = static_cast<double>((log(S / K) + (r + sigma * sigma / 2) * tau) / (sigma * sqrt(tau)));
| ~~~~~ ^ ~~~~~~~~~
| | |
| | fvar<fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>,0>,[...]>
| fvar<fvar<double,3>,[...]>
../libs/math/example/autodiff_black_scholes.cpp:61:95: note: candidate: 'operator*(boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type {aka double}, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type {aka double})' (built-in)
61 | double const d1 = static_cast<double>((log(S / K) + (r + sigma * sigma / 2) * tau) / (sigma * sqrt(tau)));
| ~~~~~~^~~~~~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:61:95: note: no known conversion for argument 2 from 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>' to 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type' {aka 'double'}
../boost/math/differentiation/autodiff.hpp:219:42: note: candidate: 'template<class RealType2, long unsigned int Order2> boost::math::differentiation::autodiff_v1::promote<boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>, boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2> > boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2>&) const [with long unsigned int Order2 = RealType2; RealType = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; long unsigned int Order = 0]'
219 | promote<fvar, fvar<RealType2, Order2>> operator*(fvar<RealType2, Order2> const&)const;
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:219:42: note: template argument deduction/substitution failed:
../boost/math/differentiation/autodiff.hpp:861:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const root_type&) const [with RealType = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; long unsigned int Order = 0; root_type = double]'
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ^~~~~~~~~~~~~~~~~~~~~
../boost/math/differentiation/autodiff.hpp:861:73: note: no known conversion for argument 1 from 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type&' {aka 'const double&'}
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ~~~~~~~~~~~~~~~~~^~
../boost/math/differentiation/autodiff.hpp:868:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::operator*(const typename fvar<RealType, Order>::root_type&, const fvar<RealType, Order>&) [with RealType = fvar<fvar<double, 1>, 0>; long unsigned int Order = 0; typename fvar<RealType, Order>::root_type = double]'
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:868:82: note: no known conversion for argument 1 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type&' {aka 'const double&'}
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
../libs/math/example/autodiff_black_scholes.cpp:62:66: error: no match for 'operator*' (operand types are 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' and 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>')
62 | double const d2 = static_cast<double>((log(S / K) + (r - sigma * sigma / 2) * tau) / (sigma * sqrt(tau)));
| ~~~~~ ^ ~~~~~
| | |
| | fvar<[...],[...]>
| fvar<[...],[...]>
../libs/math/example/autodiff_black_scholes.cpp:62:66: note: candidate: 'operator*(boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type {aka double}, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type {aka double})' (built-in)
62 | double const d2 = static_cast<double>((log(S / K) + (r - sigma * sigma / 2) * tau) / (sigma * sqrt(tau)));
| ~~~~~~^~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:62:66: note: no known conversion for argument 2 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type' {aka 'double'}
../boost/math/differentiation/autodiff.hpp:219:42: note: candidate: 'template<class RealType2, long unsigned int Order2> boost::math::differentiation::autodiff_v1::promote<boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>, boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2> > boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2>&) const [with long unsigned int Order2 = RealType2; RealType = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; long unsigned int Order = 0]'
219 | promote<fvar, fvar<RealType2, Order2>> operator*(fvar<RealType2, Order2> const&)const;
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:219:42: note: template argument deduction/substitution failed:
../boost/math/differentiation/autodiff.hpp:861:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const root_type&) const [with RealType = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; long unsigned int Order = 0; root_type = double]'
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ^~~~~~~~~~~~~~~~~~~~~
../boost/math/differentiation/autodiff.hpp:861:73: note: no known conversion for argument 1 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type&' {aka 'const double&'}
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ~~~~~~~~~~~~~~~~~^~
../boost/math/differentiation/autodiff.hpp:868:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::operator*(const typename fvar<RealType, Order>::root_type&, const fvar<RealType, Order>&) [with RealType = fvar<double, 3>; long unsigned int Order = 0; typename fvar<RealType, Order>::root_type = double]'
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:868:82: note: no known conversion for argument 1 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type&' {aka 'const double&'}
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
../libs/math/example/autodiff_black_scholes.cpp:62:95: error: no match for 'operator*' (operand types are 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' and 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>')
62 | double const d2 = static_cast<double>((log(S / K) + (r - sigma * sigma / 2) * tau) / (sigma * sqrt(tau)));
| ~~~~~ ^ ~~~~~~~~~
| | |
| | fvar<fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>,0>,[...]>
| fvar<fvar<double,3>,[...]>
../libs/math/example/autodiff_black_scholes.cpp:62:95: note: candidate: 'operator*(boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type {aka double}, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type {aka double})' (built-in)
62 | double const d2 = static_cast<double>((log(S / K) + (r - sigma * sigma / 2) * tau) / (sigma * sqrt(tau)));
| ~~~~~~^~~~~~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:62:95: note: no known conversion for argument 2 from 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>' to 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type' {aka 'double'}
../boost/math/differentiation/autodiff.hpp:219:42: note: candidate: 'template<class RealType2, long unsigned int Order2> boost::math::differentiation::autodiff_v1::promote<boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>, boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2> > boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2>&) const [with long unsigned int Order2 = RealType2; RealType = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; long unsigned int Order = 0]'
219 | promote<fvar, fvar<RealType2, Order2>> operator*(fvar<RealType2, Order2> const&)const;
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:219:42: note: template argument deduction/substitution failed:
../boost/math/differentiation/autodiff.hpp:861:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const root_type&) const [with RealType = boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>; long unsigned int Order = 0; root_type = double]'
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ^~~~~~~~~~~~~~~~~~~~~
../boost/math/differentiation/autodiff.hpp:861:73: note: no known conversion for argument 1 from 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type&' {aka 'const double&'}
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ~~~~~~~~~~~~~~~~~^~
../boost/math/differentiation/autodiff.hpp:868:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::operator*(const typename fvar<RealType, Order>::root_type&, const fvar<RealType, Order>&) [with RealType = fvar<fvar<double, 1>, 0>; long unsigned int Order = 0; typename fvar<RealType, Order>::root_type = double]'
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:868:82: note: no known conversion for argument 1 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type&' {aka 'const double&'}
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
../libs/math/example/autodiff_black_scholes.cpp:65:63: error: no match for 'operator*' (operand types are 'boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>' and 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>')
65 | double const formula_vega = static_cast<double>(S * phi(d1) * sqrt(tau));
| ~~~~~~~~~~~ ^ ~~~~~~~~~
| | |
| fvar<double,3> fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>,0>
../libs/math/example/autodiff_black_scholes.cpp:65:63: note: candidate: 'operator*(boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>::root_type {aka double}, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type {aka double})' (built-in)
65 | double const formula_vega = static_cast<double>(S * phi(d1) * sqrt(tau));
| ~~~~~~~~~~~~^~~~~~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:65:63: note: no known conversion for argument 2 from 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>' to 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type' {aka 'double'}
../boost/math/differentiation/autodiff.hpp:219:42: note: candidate: 'template<class RealType2, long unsigned int Order2> boost::math::differentiation::autodiff_v1::promote<boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>, boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2> > boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2>&) const [with long unsigned int Order2 = RealType2; RealType = double; long unsigned int Order = 3]'
219 | promote<fvar, fvar<RealType2, Order2>> operator*(fvar<RealType2, Order2> const&)const;
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:219:42: note: template argument deduction/substitution failed:
../boost/math/differentiation/autodiff.hpp:861:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const root_type&) const [with RealType = double; long unsigned int Order = 3; root_type = double]'
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ^~~~~~~~~~~~~~~~~~~~~
../boost/math/differentiation/autodiff.hpp:861:73: note: no known conversion for argument 1 from 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>::root_type&' {aka 'const double&'}
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ~~~~~~~~~~~~~~~~~^~
../boost/math/differentiation/autodiff.hpp:868:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::operator*(const typename fvar<RealType, Order>::root_type&, const fvar<RealType, Order>&) [with RealType = fvar<fvar<double, 1>, 0>; long unsigned int Order = 0; typename fvar<RealType, Order>::root_type = double]'
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:868:82: note: no known conversion for argument 1 from 'boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type&' {aka 'const double&'}
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
../libs/math/example/autodiff_black_scholes.cpp:67:40: error: no match for 'operator*' (operand types are 'boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>' and 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>')
67 | static_cast<double>(-S * phi(d1) * sigma / (2 * sqrt(tau)) - r * K * exp(-r * tau) * Phi(+d2));
| ~~~~~~~~~~~~ ^ ~~~~~
| | |
| | fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>,0>
| fvar<double,3>
../libs/math/example/autodiff_black_scholes.cpp:67:40: note: candidate: 'operator*(boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>::root_type {aka double}, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type {aka double})' (built-in)
67 | static_cast<double>(-S * phi(d1) * sigma / (2 * sqrt(tau)) - r * K * exp(-r * tau) * Phi(+d2));
| ~~~~~~~~~~~~~^~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:67:40: note: no known conversion for argument 2 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type' {aka 'double'}
../boost/math/differentiation/autodiff.hpp:219:42: note: candidate: 'template<class RealType2, long unsigned int Order2> boost::math::differentiation::autodiff_v1::promote<boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>, boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2> > boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2>&) const [with long unsigned int Order2 = RealType2; RealType = double; long unsigned int Order = 3]'
219 | promote<fvar, fvar<RealType2, Order2>> operator*(fvar<RealType2, Order2> const&)const;
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:219:42: note: template argument deduction/substitution failed:
../boost/math/differentiation/autodiff.hpp:861:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const root_type&) const [with RealType = double; long unsigned int Order = 3; root_type = double]'
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ^~~~~~~~~~~~~~~~~~~~~
../boost/math/differentiation/autodiff.hpp:861:73: note: no known conversion for argument 1 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>::root_type&' {aka 'const double&'}
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ~~~~~~~~~~~~~~~~~^~
../boost/math/differentiation/autodiff.hpp:868:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::operator*(const typename fvar<RealType, Order>::root_type&, const fvar<RealType, Order>&) [with RealType = fvar<double, 3>; long unsigned int Order = 0; typename fvar<RealType, Order>::root_type = double]'
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:868:82: note: no known conversion for argument 1 from 'boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type&' {aka 'const double&'}
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
../libs/math/example/autodiff_black_scholes.cpp:67:83: error: no match for 'operator*' (operand types are 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>' and 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>')
67 | static_cast<double>(-S * phi(d1) * sigma / (2 * sqrt(tau)) - r * K * exp(-r * tau) * Phi(+d2));
| ~~ ^ ~~~
| | |
| | fvar<fvar<fvar<double,1>,[...]>,[...]>
| fvar<fvar<fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>,0>,[...]>,[...]>
../libs/math/example/autodiff_black_scholes.cpp:67:83: note: candidate: 'operator*(boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>::root_type {aka double}, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type {aka double})' (built-in)
67 | static_cast<double>(-S * phi(d1) * sigma / (2 * sqrt(tau)) - r * K * exp(-r * tau) * Phi(+d2));
| ~~~^~~~~
../libs/math/example/autodiff_black_scholes.cpp:67:83: note: no known conversion for argument 2 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>' to 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type' {aka 'double'}
../boost/math/differentiation/autodiff.hpp:219:42: note: candidate: 'template<class RealType2, long unsigned int Order2> boost::math::differentiation::autodiff_v1::promote<boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>, boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2> > boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2>&) const [with long unsigned int Order2 = RealType2; RealType = boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>; long unsigned int Order = 0]'
219 | promote<fvar, fvar<RealType2, Order2>> operator*(fvar<RealType2, Order2> const&)const;
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:219:42: note: template argument deduction/substitution failed:
../boost/math/differentiation/autodiff.hpp:861:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const root_type&) const [with RealType = boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>; long unsigned int Order = 0; root_type = double]'
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ^~~~~~~~~~~~~~~~~~~~~
../boost/math/differentiation/autodiff.hpp:861:73: note: no known conversion for argument 1 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>::root_type&' {aka 'const double&'}
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ~~~~~~~~~~~~~~~~~^~
../boost/math/differentiation/autodiff.hpp:868:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::operator*(const typename fvar<RealType, Order>::root_type&, const fvar<RealType, Order>&) [with RealType = fvar<fvar<double, 1>, 0>; long unsigned int Order = 0; typename fvar<RealType, Order>::root_type = double]'
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:868:82: note: no known conversion for argument 1 from 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type&' {aka 'const double&'}
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
../libs/math/example/autodiff_black_scholes.cpp:69:40: error: no match for 'operator*' (operand types are 'boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>' and 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>')
69 | static_cast<double>(-S * phi(d1) * sigma / (2 * sqrt(tau)) + r * K * exp(-r * tau) * Phi(-d2));
| ~~~~~~~~~~~~ ^ ~~~~~
| | |
| | fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>,0>
| fvar<double,3>
../libs/math/example/autodiff_black_scholes.cpp:69:40: note: candidate: 'operator*(boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>::root_type {aka double}, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type {aka double})' (built-in)
69 | static_cast<double>(-S * phi(d1) * sigma / (2 * sqrt(tau)) + r * K * exp(-r * tau) * Phi(-d2));
| ~~~~~~~~~~~~~^~~~~~~
../libs/math/example/autodiff_black_scholes.cpp:69:40: note: no known conversion for argument 2 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type' {aka 'double'}
../boost/math/differentiation/autodiff.hpp:219:42: note: candidate: 'template<class RealType2, long unsigned int Order2> boost::math::differentiation::autodiff_v1::promote<boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>, boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2> > boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2>&) const [with long unsigned int Order2 = RealType2; RealType = double; long unsigned int Order = 3]'
219 | promote<fvar, fvar<RealType2, Order2>> operator*(fvar<RealType2, Order2> const&)const;
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:219:42: note: template argument deduction/substitution failed:
../boost/math/differentiation/autodiff.hpp:861:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const root_type&) const [with RealType = double; long unsigned int Order = 3; root_type = double]'
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ^~~~~~~~~~~~~~~~~~~~~
../boost/math/differentiation/autodiff.hpp:861:73: note: no known conversion for argument 1 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>::root_type&' {aka 'const double&'}
861 | fvar<RealType, Order> fvar<RealType, Order>::operator*(root_type const& ca) const {
| ~~~~~~~~~~~~~~~~~^~
../boost/math/differentiation/autodiff.hpp:868:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::operator*(const typename fvar<RealType, Order>::root_type&, const fvar<RealType, Order>&) [with RealType = fvar<double, 3>; long unsigned int Order = 0; typename fvar<RealType, Order>::root_type = double]'
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:868:82: note: no known conversion for argument 1 from 'boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>' to 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 3>, 0>::root_type&' {aka 'const double&'}
868 | fvar<RealType, Order> operator*(typename fvar<RealType, Order>::root_type const& ca,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
../libs/math/example/autodiff_black_scholes.cpp:69:83: error: no match for 'operator*' (operand types are 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>' and 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>')
69 | static_cast<double>(-S * phi(d1) * sigma / (2 * sqrt(tau)) + r * K * exp(-r * tau) * Phi(-d2));
| ~~ ^ ~~~
| | |
| | fvar<fvar<fvar<double,1>,[...]>,[...]>
| fvar<fvar<fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>,0>,[...]>,[...]>
../libs/math/example/autodiff_black_scholes.cpp:69:83: note: candidate: 'operator*(boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>, 0>::root_type {aka double}, boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type {aka double})' (built-in)
69 | static_cast<double>(-S * phi(d1) * sigma / (2 * sqrt(tau)) + r * K * exp(-r * tau) * Phi(-d2));
| ~~~^~~~~
../libs/math/example/autodiff_black_scholes.cpp:69:83: note: no known conversion for argument 2 from 'const boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>' to 'boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>::root_type' {aka 'double'}
../boost/math/differentiation/autodiff.hpp:219:42: note: candidate: 'template<class RealType2, long unsigned int Order2> boost::math::differentiation::autodiff_v1::promote<boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>, boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2> > boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order>::operator*(const boost::math::differentiation::autodiff_v1::detail::fvar<RealType2, Order2>&) const [with long unsigned int Order2 = RealType2; RealType = boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<boost::math::differentiation::autodiff_v1::detail::fvar<double, 1>, 0>, 0>; long unsigned int Order = 0]'
219 | promote<fvar, fvar<RealType2, Order2>> operator*(fvar<RealType2, Order2> const&)const;
| ^~~~~~~~
../boost/math/differentiation/autodiff.hpp:219:42: note: template argument deduction/substitution failed:
../boost/math/differentiation/autodiff.hpp:861:23: note: candidate: 'boost::math::differentiation::autodiff_v1::detail::fvar<RealType, Order> boost::math::differentiation::autodiff_v1::detail::fvar<RealType, O...
[The content has been trimmed by the report system because it exceeds 65536 bytes]