[CppAD-tickets] [C++ Algorithmic Differentiation] #5: failure
compiling complex_poly
C++ Algorithmic Differentiation
coin-trac at coin-or.org
Sun Nov 11 14:28:56 EST 2007
#5: failure compiling complex_poly
------------------------+---------------------------------------------------
Reporter: stefan | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone:
Component: component1 | Version:
Severity: normal | Keywords:
------------------------+---------------------------------------------------
Hi, with trunk rev. 1063 I get the following errors when I try to compile
example/complex_poly.cpp:
{{{
g++ -I. -g -MT complex_poly.o -MD -MP -MF .deps/complex_poly.Tpo -c
-o complex_poly.o example/complex_poly.cpp
cppad/local/mul.hpp: In member function ‘CppAD::AD<Base>
CppAD::AD<Base>::operator*(const CppAD::AD<Base>&) const [with Base =
std::complex<double>]’:
cppad/poly.hpp:180: instantiated from ‘Type CppAD::Poly(size_t, const
Vector&, const Type&) [with Type = CppAD::AD<std::complex<double> >,
Vector = CppAD::vector<CppAD::AD<std::complex<double> > >]’
example/complex_poly.cpp:67: instantiated from here
cppad/local/mul.hpp:41: error: no matching function for call to
‘IdenticalZero(const std::complex<double>&)’
cppad/local/identical.hpp:144: note: candidates are: bool
CppAD::IdenticalZero(const float&)
cppad/local/identical.hpp:146: note: bool
CppAD::IdenticalZero(const double&)
cppad/local/mul.hpp:44: error: no matching function for call to
‘IdenticalOne(const std::complex<double>&)’
cppad/local/identical.hpp:153: note: candidates are: bool
CppAD::IdenticalOne(const float&)
cppad/local/identical.hpp:155: note: bool
CppAD::IdenticalOne(const double&)
cppad/poly.hpp:180: instantiated from ‘Type CppAD::Poly(size_t, const
Vector&, const Type&) [with Type = CppAD::AD<std::complex<double> >,
Vector = CppAD::vector<CppAD::AD<std::complex<double> > >]’
example/complex_poly.cpp:67: instantiated from here
cppad/local/mul.hpp:59: error: no matching function for call to
‘IdenticalZero(const std::complex<double>&)’
cppad/local/identical.hpp:144: note: candidates are: bool
CppAD::IdenticalZero(const float&)
cppad/local/identical.hpp:146: note: bool
CppAD::IdenticalZero(const double&)
cppad/local/mul.hpp:62: error: no matching function for call to
‘IdenticalOne(const std::complex<double>&)’
cppad/local/identical.hpp:153: note: candidates are: bool
CppAD::IdenticalOne(const float&)
cppad/local/identical.hpp:155: note: bool
CppAD::IdenticalOne(const double&)
cppad/local/mul_eq.hpp: In member function ‘CppAD::AD<Base>&
CppAD::AD<Base>::operator*=(const CppAD::AD<Base>&) [with Base =
std::complex<double>]’:
cppad/poly.hpp:190: instantiated from ‘Type CppAD::Poly(size_t, const
Vector&, const Type&) [with Type = CppAD::AD<std::complex<double> >,
Vector = CppAD::vector<CppAD::AD<std::complex<double> > >]’
example/complex_poly.cpp:67: instantiated from here
cppad/local/mul_eq.hpp:27: error: no matching function for call to
‘IdenticalZero(std::complex<double>&)’
cppad/local/identical.hpp:144: note: candidates are: bool
CppAD::IdenticalZero(const float&)
cppad/local/identical.hpp:146: note: bool
CppAD::IdenticalZero(const double&)
cppad/local/mul_eq.hpp:28: error: no matching function for call to
‘IdenticalOne(std::complex<double>&)’
cppad/local/identical.hpp:153: note: candidates are: bool
CppAD::IdenticalOne(const float&)
cppad/local/identical.hpp:155: note: bool
CppAD::IdenticalOne(const double&)
cppad/local/mul_eq.hpp:42: error: no matching function for call to
‘IdenticalOne(const std::complex<double>&)’
cppad/local/identical.hpp:153: note: candidates are: bool
CppAD::IdenticalOne(const float&)
cppad/local/identical.hpp:155: note: bool
CppAD::IdenticalOne(const double&)
cppad/local/mul_eq.hpp:43: error: no matching function for call to
‘IdenticalZero(const std::complex<double>&)’
cppad/local/identical.hpp:144: note: candidates are: bool
CppAD::IdenticalZero(const float&)
cppad/local/identical.hpp:146: note: bool
CppAD::IdenticalZero(const double&)
cppad/local/add_eq.hpp: In member function ‘CppAD::AD<Base>&
CppAD::AD<Base>::operator+=(const CppAD::AD<Base>&) [with Base =
std::complex<double>]’:
cppad/poly.hpp:191: instantiated from ‘Type CppAD::Poly(size_t, const
Vector&, const Type&) [with Type = CppAD::AD<std::complex<double> >,
Vector = CppAD::vector<CppAD::AD<std::complex<double> > >]’
example/complex_poly.cpp:67: instantiated from here
cppad/local/add_eq.hpp:27: error: no matching function for call to
‘IdenticalZero(std::complex<double>&)’
cppad/local/identical.hpp:144: note: candidates are: bool
CppAD::IdenticalZero(const float&)
cppad/local/identical.hpp:146: note: bool
CppAD::IdenticalZero(const double&)
cppad/local/add_eq.hpp:37: error: no matching function for call to
‘IdenticalZero(const std::complex<double>&)’
cppad/local/identical.hpp:144: note: candidates are: bool
CppAD::IdenticalZero(const float&)
cppad/local/identical.hpp:146: note: bool
CppAD::IdenticalZero(const double&)
cppad/local/forward_sweep.hpp: In function ‘size_t
CppAD::ForwardSweep(bool, size_t, size_t, CppAD::TapeRec<Base>*, size_t,
Base*) [with Base = std::complex<double>]’:
cppad/local/fun_construct.hpp:217: instantiated from
‘CppAD::ADFun<Base>::ADFun(const VectorAD&, const VectorAD&) [with
ADvector = CppAD::vector<CppAD::AD<std::complex<double> > >, Base =
std::complex<double>]’
example/complex_poly.cpp:70: instantiated from here
cppad/local/forward_sweep.hpp:388: error: no matching function for call to
‘LessThanZero(std::complex<double>)’
cppad/local/ordered.hpp:156: note: candidates are: bool
CppAD::LessThanZero(const float&)
cppad/local/ordered.hpp:159: note: bool
CppAD::LessThanZero(const double&)
cppad/local/forward_sweep.hpp:393: error: no matching function for call to
‘LessThanOrZero(std::complex<double>)’
cppad/local/ordered.hpp:168: note: candidates are: bool
CppAD::LessThanOrZero(const float&)
cppad/local/ordered.hpp:171: note: bool
CppAD::LessThanOrZero(const double&)
cppad/local/forward_sweep.hpp:403: error: no matching function for call to
‘GreaterThanOrZero(std::complex<double>)’
cppad/local/ordered.hpp:143: note: candidates are: bool
CppAD::GreaterThanOrZero(const float&)
cppad/local/ordered.hpp:146: note: bool
CppAD::GreaterThanOrZero(const double&)
cppad/local/forward_sweep.hpp:408: error: no matching function for call to
‘GreaterThanZero(std::complex<double>)’
cppad/local/ordered.hpp:131: note: candidates are: bool
CppAD::GreaterThanZero(const float&)
cppad/local/ordered.hpp:134: note: bool
CppAD::GreaterThanZero(const double&)
cppad/local/fun_construct.hpp:217: instantiated from
‘CppAD::ADFun<Base>::ADFun(const VectorAD&, const VectorAD&) [with
ADvector = CppAD::vector<CppAD::AD<std::complex<double> > >, Base =
std::complex<double>]’
example/complex_poly.cpp:70: instantiated from here
cppad/local/forward_sweep.hpp:573: error: no matching function for call to
‘Integer(const std::complex<double>&)’
cppad/local/integer.hpp:105: note: candidates are: int
CppAD::Integer(const float&)
cppad/local/integer.hpp:108: note: int
CppAD::Integer(const double&)
cppad/local/fun_construct.hpp:217: instantiated from
‘CppAD::ADFun<Base>::ADFun(const VectorAD&, const VectorAD&) [with
ADvector = CppAD::vector<CppAD::AD<std::complex<double> > >, Base =
std::complex<double>]’
example/complex_poly.cpp:70: instantiated from here
cppad/local/forward_sweep.hpp:865: error: no matching function for call to
‘Integer(const std::complex<double>&)’
cppad/local/integer.hpp:105: note: candidates are: int
CppAD::Integer(const float&)
cppad/local/integer.hpp:108: note: int
CppAD::Integer(const double&)
cppad/local/forward_sweep.hpp:894: error: no matching function for call to
‘Integer(const std::complex<double>&)’
cppad/local/integer.hpp:105: note: candidates are: int
CppAD::Integer(const float&)
cppad/local/integer.hpp:108: note: int
CppAD::Integer(const double&)
cppad/local/abs_op.hpp: In function ‘void CppAD::ForAbsOp(size_t, Base*,
const Base*) [with Base = std::complex<double>]’:
cppad/local/forward_sweep.hpp:253: instantiated from ‘size_t
CppAD::ForwardSweep(bool, size_t, size_t, CppAD::TapeRec<Base>*, size_t,
Base*) [with Base = std::complex<double>]’
cppad/local/fun_construct.hpp:217: instantiated from
‘CppAD::ADFun<Base>::ADFun(const VectorAD&, const VectorAD&) [with
ADvector = CppAD::vector<CppAD::AD<std::complex<double> > >, Base =
std::complex<double>]’
example/complex_poly.cpp:70: instantiated from here
cppad/local/abs_op.hpp:149: error: no matching function for call to
‘GreaterThanZero(const std::complex<double>&)’
cppad/local/ordered.hpp:131: note: candidates are: bool
CppAD::GreaterThanZero(const float&)
cppad/local/ordered.hpp:134: note: bool
CppAD::GreaterThanZero(const double&)
cppad/local/abs_op.hpp:151: error: no matching function for call to
‘LessThanZero(const std::complex<double>&)’
cppad/local/ordered.hpp:156: note: candidates are: bool
CppAD::LessThanZero(const float&)
cppad/local/ordered.hpp:159: note: bool
CppAD::LessThanZero(const double&)
cppad/local/acos_op.hpp: In function ‘void CppAD::ForAcosOp(size_t, Base*,
Base*, const Base*) [with Base = std::complex<double>]’:
cppad/local/forward_sweep.hpp:302: instantiated from ‘size_t
CppAD::ForwardSweep(bool, size_t, size_t, CppAD::TapeRec<Base>*, size_t,
Base*) [with Base = std::complex<double>]’
cppad/local/fun_construct.hpp:217: instantiated from
‘CppAD::ADFun<Base>::ADFun(const VectorAD&, const VectorAD&) [with
ADvector = CppAD::vector<CppAD::AD<std::complex<double> > >, Base =
std::complex<double>]’
example/complex_poly.cpp:70: instantiated from here
cppad/local/acos_op.hpp:180: error: no matching function for call to
‘acos(const std::complex<double>&)’
cppad/local/std_math_unary.hpp:309: note: candidates are: float
CppAD::acos(const float&)
cppad/local/std_math_unary.hpp:309: note: double
CppAD::acos(const double&)
/usr/include/c++/4.2.1/cmath:107: note: long double
std::acos(long double)
/usr/include/c++/4.2.1/cmath:103: note: float
std::acos(float)
/usr/include/bits/mathcalls.h:55: note: double
acos(double)
cppad/local/asin_op.hpp: In function ‘void CppAD::ForAsinOp(size_t, Base*,
Base*, const Base*) [with Base = std::complex<double>]’:
cppad/local/forward_sweep.hpp:317: instantiated from ‘size_t
CppAD::ForwardSweep(bool, size_t, size_t, CppAD::TapeRec<Base>*, size_t,
Base*) [with Base = std::complex<double>]’
cppad/local/fun_construct.hpp:217: instantiated from
‘CppAD::ADFun<Base>::ADFun(const VectorAD&, const VectorAD&) [with
ADvector = CppAD::vector<CppAD::AD<std::complex<double> > >, Base =
std::complex<double>]’
example/complex_poly.cpp:70: instantiated from here
cppad/local/asin_op.hpp:179: error: no matching function for call to
‘asin(const std::complex<double>&)’
cppad/local/std_math_unary.hpp:313: note: candidates are: float
CppAD::asin(const float&)
cppad/local/std_math_unary.hpp:313: note: double
CppAD::asin(const double&)
/usr/include/c++/4.2.1/cmath:123: note: long double
std::asin(long double)
/usr/include/c++/4.2.1/cmath:119: note: float
std::asin(float)
/usr/include/bits/mathcalls.h:57: note: double
asin(double)
cppad/local/atan_op.hpp: In function ‘void CppAD::ForAtanOp(size_t, Base*,
Base*, const Base*) [with Base = std::complex<double>]’:
cppad/local/forward_sweep.hpp:332: instantiated from ‘size_t
CppAD::ForwardSweep(bool, size_t, size_t, CppAD::TapeRec<Base>*, size_t,
Base*) [with Base = std::complex<double>]’
cppad/local/fun_construct.hpp:217: instantiated from
‘CppAD::ADFun<Base>::ADFun(const VectorAD&, const VectorAD&) [with
ADvector = CppAD::vector<CppAD::AD<std::complex<double> > >, Base =
std::complex<double>]’
example/complex_poly.cpp:70: instantiated from here
cppad/local/atan_op.hpp:178: error: no matching function for call to
‘atan(const std::complex<double>&)’
cppad/local/std_math_unary.hpp:317: note: candidates are: float
CppAD::atan(const float&)
cppad/local/std_math_unary.hpp:317: note: double
CppAD::atan(const double&)
/usr/include/c++/4.2.1/cmath:139: note: long double
std::atan(long double)
/usr/include/c++/4.2.1/cmath:135: note: float
std::atan(float)
/usr/include/bits/mathcalls.h:59: note: double
atan(double)
cppad/local/tape_rec.hpp: In member function ‘size_t
CppAD::TapeRec<Base>::PutPar(const Base&) [with Base =
std::complex<double>]’:
cppad/local/ad_tape.hpp:755: instantiated from ‘void
CppAD::ADTape<Base>::RecordOp(CppAD::OpCode, CppAD::AD<Base>&, size_t,
const Base&) [with Base = std::complex<double>]’
cppad/local/mul.hpp:50: instantiated from ‘CppAD::AD<Base>
CppAD::AD<Base>::operator*(const CppAD::AD<Base>&) const [with Base =
std::complex<double>]’
cppad/poly.hpp:180: instantiated from ‘Type CppAD::Poly(size_t, const
Vector&, const Type&) [with Type = CppAD::AD<std::complex<double> >,
Vector = CppAD::vector<CppAD::AD<std::complex<double> > >]’
example/complex_poly.cpp:67: instantiated from here
cppad/local/tape_rec.hpp:532: error: no matching function for call to
‘IdenticalEqualPar(std::complex<double>&, const std::complex<double>&)’
cppad/local/identical.hpp:162: note: candidates are: bool
CppAD::IdenticalEqualPar(const float&, const float&)
cppad/local/identical.hpp:164: note: bool
CppAD::IdenticalEqualPar(const double&, const double&)
make[1]: *** [complex_poly.o] Fehler 1
}}}
The configure line was
{{{ configure -C --with-Example --with-TestMore }}}
I'm using gcc 4.2.1 on a Linux 64 Bit Intel machine.
Stefan
--
Ticket URL: <https://projects.coin-or.org/CppAD/ticket/5>
C++ Algorithmic Differentiation <http://projects.coin-or.org/CppAD>
An algorithmic differentiation library for C++ programs.
More information about the CppAD-tickets
mailing list