Blitz logo

Blitz Support :

From: david moloney (moloned_at_[hidden])
Date: 2003-12-11 09:59:13


I have a working overloaded class which is a wrapper for a double which
I use fof profiling applications written using mtl and itl. I was
interested in porting it to Blitz++ and tried it out using the cfd.cpp
example provided.

As shown below I can use a #define switch to switch between using
doubles or my overloaded tr_doubles

#define USE_TREVI

#ifdef USE_TREVI
  #include "trevi.h"
  typedef tr_double dbl;
#endif

#ifndef USE_TREVI
  typedef double dbl;
#endif

cfd.cpp body with dbl substituted for double

Obviously if I use double as the base type there is no issue,
unfortunately when I compile the application
using the tr_double class I get a large number of errors related to
stencil.h and stencilops.h ... see attached logfile from gcc.

Has anybody an idea of where to start solving this problem? I know a
reasonable amount about C++ but have not used stencils to date.

- David

g++ -ftemplate-depth-30 -I/home/david/masters/Masters/Work/AppInterface/trevi/ -c -o cfd.o cfd.cpp
cfd.cpp: In function `void setup (int, vectorField &, vectorField &,
scalarField &, scalarField &, vectorField &, vectorField &)':
cfd.cpp:192: no match for `blitz::Array<vector3d, 3> & = double'
/usr/local/include/blitz/array-impl.h:2275: candidates are:
blitz::ListInitializationSwitch<blitz::Array<T, N>, P_numtype *> blitz::Array<T, N>::operator=
(P_numtype) [with P_numtype = vector3d, int N_rank = 3]
/usr/local/include/blitz/array/ops.cc:78: blitz::Array<T, N> &blitz::Array<T,
N>::operator= (const blitz::Array<T, N> &) [with P_numtype = vector3d, int N_rank = 3]
cfd.cpp:194: no match for `blitz::Array<vector3d, 3> & = double'
/usr/local/include/blitz/array-impl.h:2275: candidates are:
blitz::ListInitializationSwitch<blitz::Array<T, N>, P_numtype *> blitz::Array<T, N>::operator=
(P_numtype) [with P_numtype = vector3d, int N_rank = 3]
/usr/local/include/blitz/array/ops.cc:78: blitz::Array<T, N> &blitz::Array<T,
N>::operator= (const blitz::Array<T, N> &) [with P_numtype = vector3d, int N_rank = 3]
cfd.cpp:195: no match for `blitz::Array<vector3d, 3> & = double'
/usr/local/include/blitz/array-impl.h:2275: candidates are:
blitz::ListInitializationSwitch<blitz::Array<T, N>, P_numtype *> blitz::Array<T, N>::operator=
(P_numtype) [with P_numtype = vector3d, int N_rank = 3]
/usr/local/include/blitz/array/ops.cc:78: blitz::Array<T, N> &blitz::Array<T,
N>::operator= (const blitz::Array<T, N> &) [with P_numtype = vector3d, int N_rank = 3]
cfd.cpp: In function `int main ()':
cfd.cpp:414: no match for `vectorField & = double'
/usr/local/include/blitz/array-impl.h:2275: candidates are:
blitz::ListInitializationSwitch<blitz::Array<T, N>, P_numtype *> blitz::Array<T, N>::operator=
(P_numtype) [with P_numtype = vector3d, int N_rank = 3]
/usr/local/include/blitz/array/ops.cc:78: blitz::Array<T, N> &blitz::Array<T,
N>::operator= (const blitz::Array<T, N> &) [with P_numtype = vector3d, int N_rank = 3]
/usr/local/include/blitz/array/stencilops.h: In function `typename T::T_numtype blitz::Laplacian3D4 (T
&) [with T = blitz::stencilExtent<3, dbl>]':
/usr/local/include/blitz/array/stencilops.h:111: instantiated from `blitz::Laplacian3D4n (T &) [with T = blitz::stencilExtent<3, dbl>]'
/usr/local/include/blitz/array/stencilops.h:1112: instantiated from `blitz::Laplacian3D4 (T &, const blitz::UniformCubicGeometry<3, T_defaultSpatialCoordinate> &) [with T = blitz::stencilExtent<3, dbl>]'
cfd.cpp:156: instantiated from `P_solver_update::apply (T1 &, T2 &, T3, T4, T5, T6, T7, T8, T9, T10, T11) [with T1 = blitz::stencilExtent<3, dbl>, T2 = blitz::stencilExtent<3, dbl>, T3 = blitz::dummy<double>, T4 = blitz::dummy<double>, T5 = blitz::dummy<double>, T6 = blitz::dummy<double>, T7 = blitz::dummy<double>, T8 = blitz::dummy<double>, T9 = blitz::dummy<double>, T10 = blitz::dummy<double>, T11 = blitz::dummy<double>]'
/usr/local/include/blitz/array/stencils.cc:116: instantiated from `blitz::calcStencilExtent (T_extent &, const T_stencil &, const blitz::Array<T_numtype1, N_rank> &, const T_array2 &, const T_array3 &, const T_array4 &, const T_array5 &, const T_array6 &, const T_array7 &, const T_array8 &, const T_array9 &, const T_array10 &, const T_array11 &) [with T_extent = blitz::stencilExtent<3, dbl>, int N_rank = 3, T_stencil = P_solver_update, T_numtype1 = dbl, T_array2 = blitz::Array<dbl, 3>, T_array3 = blitz::dummyArray, T_array4 = blitz::dummyArray, T_array5 = blitz::dummyArray, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray]'
/usr/local/include/blitz/array/stencils.cc:140: instantiated from `blitz::interiorDomain (const T_stencil &, const blitz::Array<T_numtype1, N_rank> &, const T_array2 &) [with int N_rank = 3, T_stencil = P_solver_update, T_numtype1 = dbl, T_array2 = blitz::Array<dbl, 3>]'
/usr/local/include/blitz/array/cgsolve.h:71: instantiated from `blitz::conjugateGradientSolver (T_stencil, blitz::Array<T_numtype1, N_rank> &, blitz::Array<T_numtype1, N_rank> &, double, const T_BCs &) [with T_stencil = P_solver_update, T_numtype = dbl, int N_rank = 3, T_BCs = PressureBCs]'
cfd.cpp:335: instantiated from here
/usr/local/include/blitz/array/stencilops.h:107: no match for `blitz::dummy<dbl> + blitz::dummy<dbl>'
/usr/local/include/blitz/meta/metaprog.h:56: candidates are: T blitz::operator+ (const T &,
blitz::_bz_meta_nullOperand) [with T = blitz::dummy<dbl>]
/usr/local/include/blitz/vecbops.cc:621:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::Range, blitz::_bz_Add<int, int> > >
blitz::operator+ (blitz::Range, blitz::Range)
/usr/local/include/blitz/vecbops.cc:655:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<float>,
blitz::_bz_Add<int, float> > > blitz::operator+ (blitz::Range, float)
/usr/local/include/blitz/vecbops.cc:672:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<double>,
blitz::_bz_Add<int, double> > > blitz::operator+ (blitz::Range, double)
/usr/local/include/blitz/vecbops.cc:689:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<long double>,
blitz::_bz_Add<int, long double> > > blitz::operator+ (blitz::Range, long double)
/usr/local/include/blitz/vecbops.cc:1018:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<float>, blitz::Range,
blitz::_bz_Add<float, int> > > blitz::operator+ (float, blitz::Range)
/usr/local/include/blitz/vecbops.cc:1103:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<double>, blitz::Range,
blitz::_bz_Add<double, int> > > blitz::operator+ (double, blitz::Range)
/usr/local/include/blitz/vecbops.cc:1188:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<long double>, blitz::Range,
blitz::_bz_Add<long double, int> > > blitz::operator+ (long double, blitz::Range)
/usr/include/g++-3/std/ldcomplex.h:62: complex<long
double> operator+ (long double, const complex<long double> &)
/usr/include/g++-3/std/ldcomplex.h:60: complex<long
double> operator+ (const complex<long double> &, long double)
/usr/include/g++-3/std/dcomplex.h:62: complex<double>
operator+ (double, const complex<double> &)
/usr/include/g++-3/std/dcomplex.h:60: complex<double>
operator+ (const complex<double> &, double)
/usr/include/g++-3/std/fcomplex.h:62: complex<float>
operator+ (float, const complex<float> &)
/usr/include/g++-3/std/fcomplex.h:60: complex<float>
operator+ (const complex<float> &, float)
/usr/local/include/blitz/array/stencilops.h:111: instantiated from `blitz::Laplacian3D4n (T &) [with T = blitz::stencilExtent<3, dbl>]'
/usr/local/include/blitz/array/stencilops.h:1112: instantiated from `blitz::Laplacian3D4 (T &, const blitz::UniformCubicGeometry<3, T_defaultSpatialCoordinate> &) [with T = blitz::stencilExtent<3, dbl>]'
cfd.cpp:156: instantiated from `P_solver_update::apply (T1 &, T2 &, T3, T4, T5, T6, T7, T8, T9, T10, T11) [with T1 = blitz::stencilExtent<3, dbl>, T2 = blitz::stencilExtent<3, dbl>, T3 = blitz::dummy<double>, T4 = blitz::dummy<double>, T5 = blitz::dummy<double>, T6 = blitz::dummy<double>, T7 = blitz::dummy<double>, T8 = blitz::dummy<double>, T9 = blitz::dummy<double>, T10 = blitz::dummy<double>, T11 = blitz::dummy<double>]'
/usr/local/include/blitz/array/stencils.cc:116: instantiated from `blitz::calcStencilExtent (T_extent &, const T_stencil &, const blitz::Array<T_numtype1, N_rank> &, const T_array2 &, const T_array3 &, const T_array4 &, const T_array5 &, const T_array6 &, const T_array7 &, const T_array8 &, const T_array9 &, const T_array10 &, const T_array11 &) [with T_extent = blitz::stencilExtent<3, dbl>, int N_rank = 3, T_stencil = P_solver_update, T_numtype1 = dbl, T_array2 = blitz::Array<dbl, 3>, T_array3 = blitz::dummyArray, T_array4 = blitz::dummyArray, T_array5 = blitz::dummyArray, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray]'
/usr/local/include/blitz/array/stencils.cc:140: instantiated from `blitz::interiorDomain (const T_stencil &, const blitz::Array<T_numtype1, N_rank> &, const T_array2 &) [with int N_rank = 3, T_stencil = P_solver_update, T_numtype1 = dbl, T_array2 = blitz::Array<dbl, 3>]'
/usr/local/include/blitz/array/cgsolve.h:71: instantiated from `blitz::conjugateGradientSolver (T_stencil, blitz::Array<T_numtype1, N_rank> &, blitz::Array<T_numtype1, N_rank> &, double, const T_BCs &) [with T_stencil = P_solver_update, T_numtype = dbl, int N_rank = 3, T_BCs = PressureBCs]'
cfd.cpp:335: instantiated from here
/usr/local/include/blitz/array/stencilops.h:107: no match for `blitz::dummy<dbl> + blitz::dummy<dbl>'
/usr/local/include/blitz/meta/metaprog.h:56: candidates are: T blitz::operator+ (const T &,
blitz::_bz_meta_nullOperand) [with T = blitz::dummy<dbl>]
/usr/local/include/blitz/vecbops.cc:621:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::Range, blitz::_bz_Add<int, int> > >
blitz::operator+ (blitz::Range, blitz::Range)
/usr/local/include/blitz/vecbops.cc:655:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<float>,
blitz::_bz_Add<int, float> > > blitz::operator+ (blitz::Range, float)
/usr/local/include/blitz/vecbops.cc:672:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<double>,
blitz::_bz_Add<int, double> > > blitz::operator+ (blitz::Range, double)
/usr/local/include/blitz/vecbops.cc:689:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<long double>,
blitz::_bz_Add<int, long double> > > blitz::operator+ (blitz::Range, long double)
/usr/local/include/blitz/vecbops.cc:1018:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<float>, blitz::Range,
blitz::_bz_Add<float, int> > > blitz::operator+ (float, blitz::Range)
/usr/local/include/blitz/vecbops.cc:1103:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<double>, blitz::Range,
blitz::_bz_Add<double, int> > > blitz::operator+ (double, blitz::Range)
/usr/local/include/blitz/vecbops.cc:1188:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<long double>, blitz::Range,
blitz::_bz_Add<long double, int> > > blitz::operator+ (long double, blitz::Range)
/usr/include/g++-3/std/ldcomplex.h:62: complex<long
double> operator+ (long double, const complex<long double> &)
/usr/include/g++-3/std/ldcomplex.h:60: complex<long
double> operator+ (const complex<long double> &, long double)
/usr/include/g++-3/std/dcomplex.h:62: complex<double>
operator+ (double, const complex<double> &)
/usr/include/g++-3/std/dcomplex.h:60: complex<double>
operator+ (const complex<double> &, double)
/usr/include/g++-3/std/fcomplex.h:62: complex<float>
operator+ (float, const complex<float> &)
/usr/include/g++-3/std/fcomplex.h:60: complex<float>
operator+ (const complex<float> &, float)
/usr/local/include/blitz/array/stencilops.h:107: no match for `double * blitz::stencilExtent<3, dbl> &'
/usr/local/include/blitz/meta/metaprog.h:58: candidates are: T blitz::operator* (const T &,
blitz::_bz_meta_nullOperand) [with T = double]
/usr/local/include/blitz/vecbops.cc:3169:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::Range, blitz::_bz_Multiply<int, int> > >
blitz::operator* (blitz::Range, blitz::Range)
/usr/local/include/blitz/vecbops.cc:3203:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<float>,
blitz::_bz_Multiply<int, float> > > blitz::operator* (blitz::Range, float)
/usr/local/include/blitz/vecbops.cc:3220:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<double>,
blitz::_bz_Multiply<int, double> > > blitz::operator* (blitz::Range, double)
/usr/local/include/blitz/vecbops.cc:3237:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<long double>,
blitz::_bz_Multiply<int, long double> > > blitz::operator* (blitz::Range, long double)
/usr/local/include/blitz/vecbops.cc:3566:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<float>, blitz::Range,
blitz::_bz_Multiply<float, int> > > blitz::operator* (float, blitz::Range)
/usr/local/include/blitz/vecbops.cc:3651:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<double>, blitz::Range,
blitz::_bz_Multiply<double, int> > > blitz::operator* (double, blitz::Range)
/usr/local/include/blitz/vecbops.cc:3736:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<long double>, blitz::Range,
blitz::_bz_Multiply<long double, int> > > blitz::operator* (long double, blitz::Range)
/usr/include/g++-3/std/ldcomplex.h:70: complex<long
double> operator* (long double, const complex<long double> &)
/usr/include/g++-3/std/ldcomplex.h:68: complex<long
double> operator* (const complex<long double> &, long double)
/usr/include/g++-3/std/dcomplex.h:70: complex<double>
operator* (double, const complex<double> &)
/usr/include/g++-3/std/dcomplex.h:68: complex<double>
operator* (const complex<double> &, double)
/usr/include/g++-3/std/fcomplex.h:70: complex<float>
operator* (float, const complex<float> &)
/usr/include/g++-3/std/fcomplex.h:68: complex<float>
operator* (const complex<float> &, float)
/usr/local/include/blitz/array/stencilops.h: In function `typename T::T_numtype blitz::Laplacian3D4 (T
&) [with T = blitz::FastArrayIterator<dbl, 3>]':
/usr/local/include/blitz/array/stencilops.h:111: instantiated from `blitz::Laplacian3D4n (T &) [with T = blitz::FastArrayIterator<dbl, 3>]'
/usr/local/include/blitz/array/stencilops.h:1112: instantiated from `blitz::Laplacian3D4 (T &, const blitz::UniformCubicGeometry<3, T_defaultSpatialCoordinate> &) [with T = blitz::FastArrayIterator<dbl, 3>]'
cfd.cpp:156: instantiated from `P_solver_update::apply (T1 &, T2 &, T3, T4, T5, T6, T7, T8, T9, T10, T11) [with T1 = blitz::FastArrayIterator<dbl, 3>, T2 = blitz::FastArrayIterator<dbl, 3>, T3 = blitz::dummy<double>, T4 = blitz::dummy<double>, T5 = blitz::dummy<double>, T6 = blitz::dummy<double>, T7 = blitz::dummy<double>, T8 = blitz::dummy<double>, T9 = blitz::dummy<double>, T10 = blitz::dummy<double>, T11 = blitz::dummy<double>]'
/usr/local/include/blitz/array/stencils.cc:292: instantiated from `blitz::applyStencil_imp (const T_stencil &, blitz::Array<T_numtype1, 3> &, T_array2 &, T_array3 &, T_array4 &, T_array5 &, T_array6 &, T_array7 &, T_array8 &, T_array9 &, T_array10 &, T_array11 &) [with T_stencil = P_solver_update, T_numtype1 = dbl, T_array2 = blitz::Array<dbl, 3>, T_array3 = blitz::dummyArray, T_array4 = blitz::dummyArray, T_array5 = blitz::dummyArray, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray]'
/usr/local/include/blitz/array/stencils.cc:520: instantiated from `blitz::applyStencil (const T_stencil &, blitz::Array<T_numtype1, N_rank> &, T_array2 &) [with T_stencil = P_solver_update, T_numtype1 = dbl, int N_rank = 3, T_array2 = blitz::Array<dbl, 3>]'
/usr/local/include/blitz/array/cgsolve.h:82: instantiated from `blitz::conjugateGradientSolver (T_stencil, blitz::Array<T_numtype1, N_rank> &, blitz::Array<T_numtype1, N_rank> &, double, const T_BCs &) [with T_stencil = P_solver_update, T_numtype = dbl, int N_rank = 3, T_BCs = PressureBCs]'
cfd.cpp:335: instantiated from here
/usr/local/include/blitz/array/stencilops.h:107: no match for `double * blitz::FastArrayIterator<dbl,
3> &'
/usr/local/include/blitz/meta/metaprog.h:58: candidates are: T blitz::operator* (const T &,
blitz::_bz_meta_nullOperand) [with T = double]
/usr/local/include/blitz/vecbops.cc:3169:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::Range, blitz::_bz_Multiply<int, int> > >
blitz::operator* (blitz::Range, blitz::Range)
/usr/local/include/blitz/vecbops.cc:3203:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<float>,
blitz::_bz_Multiply<int, float> > > blitz::operator* (blitz::Range, float)
/usr/local/include/blitz/vecbops.cc:3220:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<double>,
blitz::_bz_Multiply<int, double> > > blitz::operator* (blitz::Range, double)
/usr/local/include/blitz/vecbops.cc:3237:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<long double>,
blitz::_bz_Multiply<int, long double> > > blitz::operator* (blitz::Range, long double)
/usr/local/include/blitz/vecbops.cc:3566:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<float>, blitz::Range,
blitz::_bz_Multiply<float, int> > > blitz::operator* (float, blitz::Range)
/usr/local/include/blitz/vecbops.cc:3651:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<double>, blitz::Range,
blitz::_bz_Multiply<double, int> > > blitz::operator* (double, blitz::Range)
/usr/local/include/blitz/vecbops.cc:3736:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<long double>, blitz::Range,
blitz::_bz_Multiply<long double, int> > > blitz::operator* (long double, blitz::Range)
/usr/include/g++-3/std/ldcomplex.h:70: complex<long
double> operator* (long double, const complex<long double> &)
/usr/include/g++-3/std/ldcomplex.h:68: complex<long
double> operator* (const complex<long double> &, long double)
/usr/include/g++-3/std/dcomplex.h:70: complex<double>
operator* (double, const complex<double> &)
/usr/include/g++-3/std/dcomplex.h:68: complex<double>
operator* (const complex<double> &, double)
/usr/include/g++-3/std/fcomplex.h:70: complex<float>
operator* (float, const complex<float> &)
/usr/include/g++-3/std/fcomplex.h:68: complex<float>
operator* (const complex<float> &, float)
/usr/local/include/blitz/array/stencilops.h: In function `typename T::T_numtype blitz::central14 (T &,
int) [with T = blitz::stencilExtent<3, dbl>]':
/usr/local/include/blitz/array/stencilops.h:1171: instantiated from `blitz::grad3D4 (T &, const blitz::UniformCubicGeometry<3, T_defaultSpatialCoordinate> &) [with T = blitz::stencilExtent<3, dbl>]'
cfd.cpp:139: instantiated from `timestep::apply (T1 &, T2 &, T3 &, T4 &, T5 &, T6, T7, T8, T9, T10, T11) [with T1 = blitz::stencilExtent<3, vector3d>, T2 = blitz::stencilExtent<3, vector3d>, T3 = blitz::stencilExtent<3, dbl>, T4 = blitz::stencilExtent<3, vector3d>, T5 = blitz::stencilExtent<3, vector3d>, T6 = blitz::dummy<double>, T7 = blitz::dummy<double>, T8 = blitz::dummy<double>, T9 = blitz::dummy<double>, T10 = blitz::dummy<double>, T11 = blitz::dummy<double>]'
/usr/local/include/blitz/array/stencils.cc:116: instantiated from `blitz::calcStencilExtent (T_extent &, const T_stencil &, const blitz::Array<T_numtype1, N_rank> &, const T_array2 &, const T_array3 &, const T_array4 &, const T_array5 &, const T_array6 &, const T_array7 &, const T_array8 &, const T_array9 &, const T_array10 &, const T_array11 &) [with T_extent = blitz::stencilExtent<3, vector3d>, int N_rank = 3, T_stencil = timestep, T_numtype1 = vector3d, T_array2 = blitz::Array<vector3d, 3>, T_array3 = blitz::Array<dbl, 3>, T_array4 = blitz::Array<vector3d, 3>, T_array5 = blitz::Array<vector3d, 3>, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray]'
/usr/local/include/blitz/array/stencils.cc:164: instantiated from `blitz::_getStencilExtent<hasExtents>::getStencilExtent (blitz::TinyVector<int, N_rank> &, blitz::TinyVector<int, N_rank> &, const T_stencil &, blitz::Array<T_numtype1, N_rank> &, T_array2 &, T_array3 &, T_array4 &, T_array5 &, T_array6 &, T_array7 &, T_array8 &, T_array9 &, T_array10 &, T_array11 &) [with int N_rank = 3, T_stencil = timestep, T_numtype1 = vector3d, T_array2 = blitz::Array<vector3d, 3>, T_array3 = blitz::Array<dbl, 3>, T_array4 = blitz::Array<vector3d, 3>, T_array5 = blitz::Array<vector3d, 3>, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray, int hasExtents = 0]'
/usr/local/include/blitz/array/stencils.cc:199: instantiated from `blitz::getStencilExtent (blitz::TinyVector<int, N_rank> &, blitz::TinyVector<int, N_rank> &, const T_stencil &, blitz::Array<T_numtype1, N_rank> &, T_array2 &, T_array3 &, T_array4 &, T_array5 &, T_array6 &, T_array7 &, T_array8 &, T_array9 &, T_array10 &, T_array11 &) [with int N_rank = 3, T_stencil = timestep, T_numtype1 = vector3d, T_array2 = blitz::Array<vector3d, 3>, T_array3 = blitz::Array<dbl, 3>, T_array4 = blitz::Array<vector3d, 3>, T_array5 = blitz::Array<vector3d, 3>, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray]'
/usr/local/include/blitz/array/stencils.cc:219: instantiated from `blitz::applyStencil_imp (const T_stencil &, blitz::Array<T_numtype1, 3> &, T_array2 &, T_array3 &, T_array4 &, T_array5 &, T_array6 &, T_array7 &, T_array8 &, T_array9 &, T_array10 &, T_array11 &) [with T_stencil = timestep, T_numtype1 = vector3d, T_array2 = blitz::Array<vector3d, 3>, T_array3 = blitz::Array<dbl, 3>, T_array4 = blitz::Array<vector3d, 3>, T_array5 = blitz::Array<vector3d, 3>, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray]'
/usr/local/include/blitz/array/stencils.cc:548: instantiated from `blitz::applyStencil (const T_stencil &, blitz::Array<T_numtype1, N_rank> &, T_array2 &, T_array3 &, T_array4 &, T_array5 &) [with T_stencil = timestep, T_numtype1 = vector3d, int N_rank = 3, T_array2 = blitz::Array<vector3d, 3>, T_array3 = blitz::Array<dbl, 3>, T_array4 = blitz::Array<vector3d, 3>, T_array5 = blitz::Array<vector3d, 3>]'
cfd.cpp:338: instantiated from here
/usr/local/include/blitz/array/stencilops.h:217: no match for `blitz::dummy<dbl> - blitz::dummy<dbl>'
/usr/local/include/blitz/vecexpr.h:289: candidates are:
blitz::_bz_VecExpr<blitz::_bz_VecExprUnaryOp<blitz::Range,
blitz::_bz_negate<int> > > blitz::operator- (blitz::Range)
/usr/local/include/blitz/vecbops.cc:1895:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::Range, blitz::_bz_Subtract<int, int> > >
blitz::operator- (blitz::Range, blitz::Range)
/usr/local/include/blitz/vecbops.cc:1929:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<float>,
blitz::_bz_Subtract<int, float> > > blitz::operator- (blitz::Range, float)
/usr/local/include/blitz/vecbops.cc:1946:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<double>,
blitz::_bz_Subtract<int, double> > > blitz::operator- (blitz::Range, double)
/usr/local/include/blitz/vecbops.cc:1963:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<long double>,
blitz::_bz_Subtract<int, long double> > > blitz::operator- (blitz::Range, long double)
/usr/local/include/blitz/vecbops.cc:2292:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<float>, blitz::Range,
blitz::_bz_Subtract<float, int> > > blitz::operator- (float, blitz::Range)
/usr/local/include/blitz/vecbops.cc:2377:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<double>, blitz::Range,
blitz::_bz_Subtract<double, int> > > blitz::operator- (double, blitz::Range)
/usr/local/include/blitz/vecbops.cc:2462:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<long double>, blitz::Range,
blitz::_bz_Subtract<long double, int> > > blitz::operator- (long double, blitz::Range)
/usr/include/g++-3/std/ldcomplex.h:66: complex<long
double> operator- (long double, const complex<long double> &)
/usr/include/g++-3/std/ldcomplex.h:64: complex<long
double> operator- (const complex<long double> &, long double)
/usr/include/g++-3/std/dcomplex.h:66: complex<double>
operator- (double, const complex<double> &)
/usr/include/g++-3/std/dcomplex.h:64: complex<double>
operator- (const complex<double> &, double)
/usr/include/g++-3/std/fcomplex.h:66: complex<float>
operator- (float, const complex<float> &)
/usr/include/g++-3/std/fcomplex.h:64: complex<float>
operator- (const complex<float> &, float)
/usr/local/include/blitz/array/stencilops.h:217: no match for `blitz::dummy<dbl> - blitz::dummy<dbl>'
/usr/local/include/blitz/vecexpr.h:289: candidates are:
blitz::_bz_VecExpr<blitz::_bz_VecExprUnaryOp<blitz::Range,
blitz::_bz_negate<int> > > blitz::operator- (blitz::Range)
/usr/local/include/blitz/vecbops.cc:1895:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::Range, blitz::_bz_Subtract<int, int> > >
blitz::operator- (blitz::Range, blitz::Range)
/usr/local/include/blitz/vecbops.cc:1929:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<float>,
blitz::_bz_Subtract<int, float> > > blitz::operator- (blitz::Range, float)
/usr/local/include/blitz/vecbops.cc:1946:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<double>,
blitz::_bz_Subtract<int, double> > > blitz::operator- (blitz::Range, double)
/usr/local/include/blitz/vecbops.cc:1963:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::Range, blitz::_bz_VecExprConstant<long double>,
blitz::_bz_Subtract<int, long double> > > blitz::operator- (blitz::Range, long double)
/usr/local/include/blitz/vecbops.cc:2292:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<float>, blitz::Range,
blitz::_bz_Subtract<float, int> > > blitz::operator- (float, blitz::Range)
/usr/local/include/blitz/vecbops.cc:2377:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<double>, blitz::Range,
blitz::_bz_Subtract<double, int> > > blitz::operator- (double, blitz::Range)
/usr/local/include/blitz/vecbops.cc:2462:
blitz::_bz_VecExpr<blitz::_bz_VecExprOp<blitz::_bz_VecExprConstant<long double>, blitz::Range,
blitz::_bz_Subtract<long double, int> > > blitz::operator- (long double, blitz::Range)
/usr/include/g++-3/std/ldcomplex.h:66: complex<long
double> operator- (long double, const complex<long double> &)
/usr/include/g++-3/std/ldcomplex.h:64: complex<long
double> operator- (const complex<long double> &, long double)
/usr/include/g++-3/std/dcomplex.h:66: complex<double>
operator- (double, const complex<double> &)
/usr/include/g++-3/std/dcomplex.h:64: complex<double>
operator- (const complex<double> &, double)
/usr/include/g++-3/std/fcomplex.h:66: complex<float>
operator- (float, const complex<float> &)
/usr/include/g++-3/std/fcomplex.h:64: complex<float>
operator- (const complex<float> &, float)
/usr/local/include/blitz/array/stencils.h: In method `blitz::dummy<P_numtype>
blitz::stencilExtent<N_rank, P_numtype>::shift (int, int) [with int N_rank = 3, P_numtype = vector3d]':
/usr/local/include/blitz/array/stencilops.h:241: instantiated from `blitz::central14 (T &, int, int) [with T = blitz::stencilExtent<3, vector3d>]'
/usr/local/include/blitz/array/stencilops.h:1105: instantiated from `blitz::div3DVec4 (T &, const blitz::UniformCubicGeometry<3, T_defaultSpatialCoordinate> &) [with T = blitz::stencilExtent<3, vector3d>]'
cfd.cpp:148: instantiated from `calc_P_rhs::apply (T1 &, T2 &, T3, T4, T5, T6, T7, T8, T9, T10, T11) [with T1 = blitz::stencilExtent<3, dbl>, T2 = blitz::stencilExtent<3, vector3d>, T3 = blitz::dummy<double>, T4 = blitz::dummy<double>, T5 = blitz::dummy<double>, T6 = blitz::dummy<double>, T7 = blitz::dummy<double>, T8 = blitz::dummy<double>, T9 = blitz::dummy<double>, T10 = blitz::dummy<double>, T11 = blitz::dummy<double>]'
/usr/local/include/blitz/array/stencils.cc:116: instantiated from `blitz::calcStencilExtent (T_extent &, const T_stencil &, const blitz::Array<T_numtype1, N_rank> &, const T_array2 &, const T_array3 &, const T_array4 &, const T_array5 &, const T_array6 &, const T_array7 &, const T_array8 &, const T_array9 &, const T_array10 &, const T_array11 &) [with T_extent = blitz::stencilExtent<3, dbl>, int N_rank = 3, T_stencil = calc_P_rhs, T_numtype1 = dbl, T_array2 = blitz::Array<vector3d, 3>, T_array3 = blitz::dummyArray, T_array4 = blitz::dummyArray, T_array5 = blitz::dummyArray, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray]'
/usr/local/include/blitz/array/stencils.cc:164: instantiated from `blitz::_getStencilExtent<hasExtents>::getStencilExtent (blitz::TinyVector<int, N_rank> &, blitz::TinyVector<int, N_rank> &, const T_stencil &, blitz::Array<T_numtype1, N_rank> &, T_array2 &, T_array3 &, T_array4 &, T_array5 &, T_array6 &, T_array7 &, T_array8 &, T_array9 &, T_array10 &, T_array11 &) [with int N_rank = 3, T_stencil = calc_P_rhs, T_numtype1 = dbl, T_array2 = blitz::Array<vector3d, 3>, T_array3 = blitz::dummyArray, T_array4 = blitz::dummyArray, T_array5 = blitz::dummyArray, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray, int hasExtents = 0]'
/usr/local/include/blitz/array/stencils.cc:199: instantiated from `blitz::getStencilExtent (blitz::TinyVector<int, N_rank> &, blitz::TinyVector<int, N_rank> &, const T_stencil &, blitz::Array<T_numtype1, N_rank> &, T_array2 &, T_array3 &, T_array4 &, T_array5 &, T_array6 &, T_array7 &, T_array8 &, T_array9 &, T_array10 &, T_array11 &) [with int N_rank = 3, T_stencil = calc_P_rhs, T_numtype1 = dbl, T_array2 = blitz::Array<vector3d, 3>, T_array3 = blitz::dummyArray, T_array4 = blitz::dummyArray, T_array5 = blitz::dummyArray, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray]'
/usr/local/include/blitz/array/stencils.cc:219: instantiated from `blitz::applyStencil_imp (const T_stencil &, blitz::Array<T_numtype1, 3> &, T_array2 &, T_array3 &, T_array4 &, T_array5 &, T_array6 &, T_array7 &, T_array8 &, T_array9 &, T_array10 &, T_array11 &) [with T_stencil = calc_P_rhs, T_numtype1 = dbl, T_array2 = blitz::Array<vector3d, 3>, T_array3 = blitz::dummyArray, T_array4 = blitz::dummyArray, T_array5 = blitz::dummyArray, T_array6 = blitz::dummyArray, T_array7 = blitz::dummyArray, T_array8 = blitz::dummyArray, T_array9 = blitz::dummyArray, T_array10 = blitz::dummyArray, T_array11 = blitz::dummyArray]'
/usr/local/include/blitz/array/stencils.cc:520: instantiated from `blitz::applyStencil (const T_stencil &, blitz::Array<T_numtype1, N_rank> &, T_array2 &) [with T_stencil = calc_P_rhs, T_numtype1 = dbl, int N_rank = 3, T_array2 = blitz::Array<vector3d, 3>]'
cfd.cpp:333: instantiated from here
/usr/local/include/blitz/array/stencils.h:246: no matching function for call to
`blitz::dummy<vector3d>::dummy (int)'
/usr/local/include/blitz/array/stencils.h:174: candidates are: blitz::dummy<T>::dummy () [with T =
vector3d]
/usr/local/include/blitz/array/stencils.h:177: blitz::dummy<T>::dummy (T) [with T =
vector3d]
/usr/local/include/blitz/array/stencils.h:181: blitz::dummy<T>::dummy (const
blitz::dummyArray &) [with T = vector3d]
/usr/local/include/blitz/array/stencils.h:172: blitz::dummy<vector3d>::dummy (const
blitz::dummy<vector3d> &)
make: *** [cfd.o] Error 1