This is the mail archive of the
gsl-discuss@sources.redhat.com
mailing list for the GSL project.
Re: gsl_complex_rect undefined?
- From: Tisserand Patrice <Patrice dot Tisserand at ircam dot fr>
- To: abrahamsmith at students dot wisc dot edu
- Cc: gsl-discuss at sources dot redhat dot com
- Date: Tue, 18 Dec 2001 18:39:36 +0100
- Subject: Re: gsl_complex_rect undefined?
- References: <20011218113006.A22589@euclid.dsl.wisc.edu>
Abraham David Smith wrote:
> I am trying to use GSL 1.0 on an ix86 running an essentially normal RedHat
> Linux 7.1 installation (with all of RedHat's published patches applied
> to gcc, etc).
>
> Consider the following code snippet:
>
> #include <iostream.h>
/*
Humm: It's out of topic but it's better to use:
#include <iostream> instead of #include <iostream.h> old version of include
file
and add:
using namespace std;
*/
>
> #include <gsl/gsl_complex.h>
#include <gsl/gsl_complex_math.h> /* See comments lower */
>
> void main()
> {
> gsl_complex a = gsl_complex_rect(1.0,2.0);
> cout << GSL_REAL(a) << ", " << GSL_IMAG(a) << endl;
> GSL_SET_COMPLEX (&a, 3.0, 4.0);
> cout << GSL_REAL(a) << ", " << GSL_IMAG(a) << endl;
> }
>
> Compiling this with g++ gives:
>
> testcomplex.cpp: In function `int main (...)':
> testcomplex.cpp:9: `gsl_complex_rect' undeclared (first use this
> function)
> testcomplex.cpp:9: (Each undeclared identifier is reported only once
> for each function it appears in.)
>
> now consider the snippet:
>
> #include <iostream.h>
> #include <gsl/gsl_complex.h>
> void main()
> {
> gsl_complex a;
> cout << GSL_REAL(a) << ", " << GSL_IMAG(a) << endl;
> GSL_SET_COMPLEX (&a, 3.0, 4.0);
> cout << GSL_REAL(a) << ", " << GSL_IMAG(a) << endl;
> }
>
> this compiles and gives:
> 2.10391, 7.02217
> 3, 4
>
> According to page 18 of the GSL manual
> [ http://sources.redhat.com/gsl/ref/gsl-ref_5.html#SEC34 ], the function
> gsl_complex_rect should be defined. What's up here?
>
According to the same page of the GSL Manual:
The complex types are defined in the header file `gsl_complex.h', while the
corresponding complex functions and arithmetic operations are defined in
`gsl_complex_math.h'.
I made the same mistake some time ago and I take some time to understand why it
doesn't work.
Thanks to be open source
Patrice
>
> --
> # Abraham David Smith UW--Madison Mathematics/Physics Undergraduate [*] #
> # <abrahamsmith@students.wisc.edu> Y!:abrahamdavidsmith AOL-IM:abrahamsmith #
> # http://euclid.dsl.wisc.edu/~abe Molon Labe! Defend your rights! #
> # [*]: The views I express are not necessarily those of the UW--Madison, etc. #