Scanning dependencies of target Nthdual
[ 50%] Building CXX object CMakeFiles/Nthdual.dir/Nthdual.cpp.o
In file included from /home/ian/Code/helmderiv/externals/autodiff/autodiff/forward.hpp:33:0,
from /home/ian/Code/helmderiv/Nthdual.cpp:6:
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp: In instantiation of ‘constexpr void autodiff::forward::assignPow(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&]’:
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:976:18: required from ‘constexpr void autodiff::forward::assign(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>]’
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:471:15: required from ‘autodiff::forward::Dual<T, G>::Dual(U&&) [with U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>; typename std::enable_if<(isExpr<U> && (! isDual<U>)), void>::type ...<anonymous> = {}; T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >]’
/home/ian/Code/helmderiv/Nthdual.cpp:17:20: required from here
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:1296:32: error: no matching function for call to ‘pow(autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >&)’
const T aux1 = std::pow(self.val, other.val);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:33:0,
from /home/ian/Code/helmderiv/externals/autodiff/autodiff/forward.hpp:33,
from /home/ian/Code/helmderiv/Nthdual.cpp:6:
/usr/include/c++/7/cmath:415:5: note: candidate: template<class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type std::pow(_Tp, _Up)
pow(_Tp __x, _Up __y)
^~~
/usr/include/c++/7/cmath:415:5: note: template argument deduction/substitution failed:
/usr/include/c++/7/cmath: In substitution of ‘template<class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type std::pow(_Tp, _Up) [with _Tp = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; _Up = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >]’:
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:1296:32: required from ‘constexpr void autodiff::forward::assignPow(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&]’
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:976:18: required from ‘constexpr void autodiff::forward::assign(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>]’
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:471:15: required from ‘autodiff::forward::Dual<T, G>::Dual(U&&) [with U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>; typename std::enable_if<(isExpr<U> && (! isDual<U>)), void>::type ...<anonymous> = {}; T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >]’
/home/ian/Code/helmderiv/Nthdual.cpp:17:20: required from here
/usr/include/c++/7/cmath:415:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__promote<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, false>’
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp: In instantiation of ‘constexpr void autodiff::forward::assignPow(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&]’:
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:976:18: required from ‘constexpr void autodiff::forward::assign(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>]’
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:471:15: required from ‘autodiff::forward::Dual<T, G>::Dual(U&&) [with U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>; typename std::enable_if<(isExpr<U> && (! isDual<U>)), void>::type ...<anonymous> = {}; T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >]’
/home/ian/Code/helmderiv/Nthdual.cpp:17:20: required from here
/usr/include/c++/7/cmath:392:3: note: candidate: constexpr long double std::pow(long double, long double)
pow(long double __x, long double __y)
^~~
/usr/include/c++/7/cmath:392:3: note: no known conversion for argument 1 from ‘autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >’ to ‘long double’
/usr/include/c++/7/cmath:388:3: note: candidate: constexpr float std::pow(float, float)
pow(float __x, float __y)
^~~
/usr/include/c++/7/cmath:388:3: note: no known conversion for argument 1 from ‘autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >’ to ‘float’
In file included from /usr/include/features.h:424:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533,
from /usr/include/c++/7/iostream:38,
from /home/ian/Code/helmderiv/Nthdual.cpp:2:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:140:1: note: candidate: double pow(double, double)
__MATHCALL_VEC (pow,, (_Mdouble_ __x, _Mdouble_ __y));
^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:140:1: note: no known conversion for argument 1 from ‘autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >’ to ‘double’
In file included from /home/ian/Code/helmderiv/externals/autodiff/autodiff/forward.hpp:33:0,
from /home/ian/Code/helmderiv/Nthdual.cpp:6:
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:1297:32: error: no matching function for call to ‘log(autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >&)’
const T aux2 = std::log(self.val);
~~~~~~~~^~~~~~~~~~
In file included from /home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:33:0,
from /home/ian/Code/helmderiv/externals/autodiff/autodiff/forward.hpp:33,
from /home/ian/Code/helmderiv/Nthdual.cpp:6:
/usr/include/c++/7/cmath:350:5: note: candidate: template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::log(_Tp)
log(_Tp __x)
^~~
/usr/include/c++/7/cmath:350:5: note: template argument deduction/substitution failed:
/usr/include/c++/7/cmath: In substitution of ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::log(_Tp) [with _Tp = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >]’:
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:1297:32: required from ‘constexpr void autodiff::forward::assignPow(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&]’
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:976:18: required from ‘constexpr void autodiff::forward::assign(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>]’
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:471:15: required from ‘autodiff::forward::Dual<T, G>::Dual(U&&) [with U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>; typename std::enable_if<(isExpr<U> && (! isDual<U>)), void>::type ...<anonymous> = {}; T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >]’
/home/ian/Code/helmderiv/Nthdual.cpp:17:20: required from here
/usr/include/c++/7/cmath:350:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, double>’
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp: In instantiation of ‘constexpr void autodiff::forward::assignPow(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&]’:
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:976:18: required from ‘constexpr void autodiff::forward::assign(autodiff::forward::Dual<T, G>&, U&&) [with T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>]’
/home/ian/Code/helmderiv/externals/autodiff/autodiff/forward/forward.hpp:471:15: required from ‘autodiff::forward::Dual<T, G>::Dual(U&&) [with U = autodiff::forward::BinaryExpr<autodiff::forward::PowOp, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >, autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > > >&>; typename std::enable_if<(isExpr<U> && (! isDual<U>)), void>::type ...<anonymous> = {}; T = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >; G = autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >]’
/home/ian/Code/helmderiv/Nthdual.cpp:17:20: required from here
/usr/include/c++/7/cmath:342:3: note: candidate: constexpr long double std::log(long double)
log(long double __x)
^~~
/usr/include/c++/7/cmath:342:3: note: no known conversion for argument 1 from ‘autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >’ to ‘long double’
/usr/include/c++/7/cmath:338:3: note: candidate: constexpr float std::log(float)
log(float __x)
^~~
/usr/include/c++/7/cmath:338:3: note: no known conversion for argument 1 from ‘autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >’ to ‘float’
In file included from /usr/include/features.h:424:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533,
from /usr/include/c++/7/iostream:38,
from /home/ian/Code/helmderiv/Nthdual.cpp:2:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:1: note: candidate: double log(double)
__MATHCALL_VEC (log,, (_Mdouble_ __x));
^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:1: note: no known conversion for argument 1 from ‘autodiff::forward::Dual<autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> >, autodiff::forward::Dual<autodiff::forward::Dual<double, double>, autodiff::forward::Dual<double, double> > >’ to ‘double’
CMakeFiles/Nthdual.dir/build.make:62: recipe for target 'CMakeFiles/Nthdual.dir/Nthdual.cpp.o' failed
make[3]: *** [CMakeFiles/Nthdual.dir/Nthdual.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/Nthdual.dir/all' failed
make[2]: *** [CMakeFiles/Nthdual.dir/all] Error 2
CMakeFiles/Makefile2:79: recipe for target 'CMakeFiles/Nthdual.dir/rule' failed
make[1]: *** [CMakeFiles/Nthdual.dir/rule] Error 2
Makefile:118: recipe for target 'Nthdual' failed
make: *** [Nthdual] Error 2