From: Gehua Y. <ya...@rp...> - 2005-04-13 22:08:02
|
Riccardo Lattanzi wrote: >Good news! I was able to build vnl.lib. > > Congratulations! This is a great news. >However, I used some tricks. >I first compiled the files by themselves and to quickly get rid of the errors I >commented out 4 functions on vnl_matrix.txx that were causing errors (those are >functions I don't need directly for my purposes but some other routines may >invoke them, so I'll need to check). >Another thing I did was avoiding to use vcl_sqrt, so my vnl_mpcomplex_traits >(same thing on vnl_mpreal_traits)is: > >#include "vnl_mpcomplex_traits.h" >#include <mp/mpcomplex.h> >#include <mp/mpreal.h> >#include <vcl_cmath.h> > >const mp_complex vnl_numeric_traits<mp_complex>::zero = mp_complex(0.0,0.0); >const mp_complex vnl_numeric_traits<mp_complex>::one = mp_complex(1.0,1.0); >const mp_complex vnl_numeric_traits<mp_complex>::maxval = >mp_complex(1E+308,1E+308); > >mp_real vnl_math_squared_magnitude(mp_complex const& x) >{ > return x.real*x.real+x.imag*x.imag; >} >mp_real vnl_math_abs(mp_complex const& x) >{ > //return mp_real(vcl_sqrt(double(x.real*x.real+x.imag*x.imag))); > mp_real fake(1.0); > return fake; > >} > >vcl_ostream& operator<<(vcl_ostream& os, mp_complex x) { > return os << x.real << '+' << x.imag << 'j'; >} > > >You said you will write a vnl_math_sqrt: would it be an inline >function with all the specialization that would go in vnl_math.h ?. > > It will likely be a template function with specializations for mp_real type. >I guess at that point I would need to download a more recent version of >Vxl form CVS. > > > Yes, Please download the CVS version. |