Hello Fons and Christopher, You need to load stdfunc.dll to avoid this problem. stdfunc.dll is created in lib/stdstrct directory. Without this library , double exp(double) is out of function overloading matching. If complex.h is loaded, complex exp(const complex&) is always used and it causes infinite recursion. Loading stdfunc.dll, double exp(double) is properly handled and you can avoid the problem. For making stdfunc.dll, there are 2 methods. 1) Using pure cint package Download pure cint source package, install it using an appropriate platform dependency file. At the end all essential DLLs will be created. You will find $CINTSYSDIR/include/stdfunc.dll. Copy this file to $ROOTSYS/cint/include/stdfunc.dll. 2) In root package, one of make option enebles you to build all essential DLLs. Please refer to ROOT documentation. (There was a problem in this course, but it was fixed during the ROOT2001 workshop.) Thank you Masaharu Goto >Date: Sat, 14 Jul 2001 16:48:41 +0000 >From: Fons Rademakers <Fons.Rademakers@cern.ch> >To: Masaharu Goto <MXJ02154@niftyserve.or.jp> >Cc: Rene@cern.ch >Subject: [Fwd: [ROOT] complex number operations.] > >Hi Masa, > > can you have a look at this. > >Cheers, Fons. > > >-- >Org: CERN, European Laboratory for Particle Physics. >Mail: 1211 Geneve 23, Switzerland >E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 >WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7677910 >----------------------------------------------------------------------------- - -- >Date: Fri, 13 Jul 2001 10:39:28 -0400 >From: "Christopher B. Lirakis" <clirakis@bbn.com> >To: roottalk@pcroot.cern.ch >Subject: [ROOT] complex number operations. > > >hi Rooters, > I have noticed something strange when using the complex class. It >appears that you can't use complex numbers until you load the complex.h >header. Once this is done the function call to exp blows up. > >What I have is another header that defines some functions that I am using. >Within this header I have an include <complex.h> >Once loaded, exp no longer works. > >exp(0.0) before loading gives 1.0 >exp(0.0) after loading gives an exception. > >I am running windows 2000, root 3.01/05. > >Also are there intentions to include more of the complex functionalitiy? > >Include file. >#ifndef __TOOLS_h_ >#define __TOOLS_h_ >#include <math.h> >#include <limits.h> >#include <float.h> >#include <complex.h> > >#endif > > > > >-Christopher B. Lirakis, Phd >-High Performance Computing >-BBN Technologies >-127 John Clarke Rd >-Middletown, RI 02842 >- >-(401) 849-2543 (voice) - Front Desk >-(401) 848-3537 (voice) - Direct Line. >-(401) 849-8611 (fax) >-(401) 788-4607 (cell) >- >-http://www.gte.com/AboutGTE/gto/bbnt/ >
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:52 MET