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