![]() |
Blitz Support : |
From: van den Bosch (vandenbosch_at_[hidden])
Date: 2003-09-03 08:31:57
Hi,
I'm declaring Array constants in a file named "GK_triangle. h" as follows:
/////////////////////////////////////////////// GK_triangle.h ///////
const Array<double,1> xi_6 (0.816847572980459, 0.091576213509771,
0.091576213509771, 0.108103018168070, 0.445948490915965, 0.445948490915965);
const Array<double,1> eta_6 (0.091576213509771, 0.816847572980459,
0.091576213509771, 0.445948490915965, 0.108103018168070, 0.445948490915965);
const Array<double,1> weigths_6 (0.109951743655322, 0.109951743655322,
0.109951743655322, 0.223381589678011, 0.223381589678011, 0.223381589678011);
const double sum_weigths_6 = sum(weigths_6);
const Array<double,1> xi_9 (0.124949503233232, 0.437525248383384,
0.437525248383384, 0.797112651860071, 0.797112651860071, 0.165409927389841,
0.165409927389841, 0.037477420750088, 0.037477420750088);
const Array<double,1> eta_9 (0.437525248383384, 0.124949503233232,
0.437525248383384, 0.165409927389841, 0.037477420750088, 0.797112651860071,
0.037477420750088, 0.797112651860071, 0.165409927389841);
const Array<double,1> weigths_9 (0.205950504760887, 0.205950504760887,
0.205950504760887, 0.063691414286223, 0.063691414286223, 0.063691414286223,
0.063691414286223, 0.063691414286223, 0.063691414286223);
const double sum_weigths_9 = sum(weigths_9);
and using it in another file called "triangle_int.cpp" as follows
///////////////////////////////// triangle_int.cpp ////////////
#include <iostream>
#include <complex>
#include <blitz/array.h>
#include <blitz/tinyvec-et.h>
using namespace blitz;
const complex<double> I (0.0, 1.0);
const double mu_0 = 4*M_PI*1e-7;
const double eps_0 = 8.85418782e-12;
const double c = 2.99792458e8;
#include "KA_grid.h"
#include "interp_KA_mm.h"
#include "GK_triangle.h"
complex<double> triangle_int (etc.)
But when I compile, the error message is:
[denbosch_at_lorentz devel]$ make Zmain_mn
g++ -c -O3 -I../../blitz++/include triangle_int.cpp
GK_triangle.h: In function `void
__static_initialization_and_destruction_0(int,
int)':
GK_triangle.h:1: warning: passing `double' for argument 1 of `blitz::Array<T,
N>::Array(int, int, int, int, int, int, blitz::GeneralArrayStorage<N_rank>)
[with P_numtype = double, int N_rank = 1]'
GK_triangle.h:1: warning: passing `double' for argument 2 of `blitz::Array<T,
N>::Array(int, int, int, int, int, int, blitz::GeneralArrayStorage<N_rank>)
[with P_numtype = double, int N_rank = 1]'
GK_triangle.h:1: warning: passing `double' for argument 3 of `blitz::Array<T,
N>::Array(int, int, int, int, int, int, blitz::GeneralArrayStorage<N_rank>)
[with P_numtype = double, int N_rank = 1]'
GK_triangle.h:1: warning: passing `double' for argument 4 of `blitz::Array<T,
N>::Array(int, int, int, int, int, int, blitz::GeneralArrayStorage<N_rank>)
[with P_numtype = double, int N_rank = 1]'
...
As one can see, there is one error message per Array argument, saying that it
is a "double" when it should be an "int". But in the declaration, all arrays
are declared Array<double>. Anyone understands what's going on? Thanks,
Ides
-- Ir Idesbald van den Bosch PhD Student 3, Place du Levant - Bātiment Maxwell 1348 Louvain-la-Neuve tel.: +32 (0)10 47 81 06 fax : +32 (0)10 47 87 05