Re: [eigen] Ambiguous call |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Ambiguous call
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Wed, 7 Dec 2011 15:46:23 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=nazP1G2oJa+ndE+b7haytgnfgp3WuRcQ3ujsH5sjCpI=; b=giYpP/sjD6Us9px+f+se432SYiukFKsM3zqMs+aKU83EuTeq4fw7/LQIuA6eYEn4Vp HcT/CfSkSu/Z7+Evj3L081qVlrhZKPDftupyGlawg3Dn5M2ZiN3yKjzjaSAT2xy9wGqO s+J8WzJk0dAPOSVdSmWSlZe5ZVKJFFYl2qXNY=
2011/12/7 Luis Peñaranda <luis.penaranda@xxxxxxx>:
>> 2011/12/7 Luis Peñaranda<luis.penaranda@xxxxxxx>:
>>>>
>>>> Sounds good, will you make a patch?
>>>
>>>
>>> Sure, it's done. Let me know if something goes wrong.
>>
>>
>> Sorry, where's the patch?
>
> Oups, my fault. I just commited to the repo :(
> I'll revert and create the patch.
What? I don't see any changeset from you in the mainline eigen repo.
Use this documentation:
http://eigen.tuxfamily.org/index.php?title=Mercurial#Generating_a_patch
Benoit
>
> --
> Luis
>
>
>
>>
>> Benoit
>>
>>>
>>> Best,
>>>
>>> --
>>> Luis
>>>
>>>
>>>> Benoit
>>>>
>>>> 2011/12/7 Luis Peñaranda<luis.penaranda@xxxxxxx>:
>>>>>
>>>>>
>>>>> Hello,
>>>>>
>>>>> I have a problem with a simple call to the determinant of a
>>>>> Eigen::Matrix<NT,Eigen::Dynamic,Eigen::Dynamic> . This works for
>>>>> many
>>>>> different instantiations of NT, like mpq_class. The problem is when I
>>>>> try
>>>>> to
>>>>> use a rational number type from the CGAL library, CGAL::Gmpq. I get the
>>>>> following error from the compiler:
>>>>>
>>>>> /usr/local/include/eigen3/Eigen/src/Core/Functors.h:284:90: error: call
>>>>> of
>>>>> overloaded ‘abs(const CGAL::Gmpq&)’ is ambiguous
>>>>>
>>>>> The point is that the function abs(a) is also defined for CGAL::Gmpq.
>>>>> Digging inside the code, I found that the line 284 of the above file
>>>>> reads
>>>>>
>>>>> EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a)
>>>>> const {
>>>>> return abs(a); }
>>>>>
>>>>> This function is inside the namespace internal::, and I think what is
>>>>> intended here is to return internal::abs(a). Changing this line
>>>>> resulted
>>>>> in
>>>>> a correct compilation.
>>>>>
>>>>> My question are two, then. Is it right what I am saying? Is it feasible
>>>>> to
>>>>> make this change permanent?
>>>>>
>>>>> Thank you,
>>>>>
>>>>> --
>>>>> Luis
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>