22 template <
class Fspc = concepts::Real>
46 uint
blksz()
const {
return blksz_;}
47 uint
m()
const {
return m_;}
48 uint gauss()
const {
return gauss_;}
102 shift<concepts::Real>(z, src, dst, 0);
105 template <
class Fspc>
109 if (Xtay) {apply(Xtay->value(), src, dst);
return;}
120 template <
class Fspc = concepts::Real>
148 uint
m()
const {
return m_;}
149 uint gauss()
const {
return gauss_;}
150 inline XYColReal*
getCol(uint
blksz, uint n)
const;
189 template <
class Fspc>
194 template <
class Fspc>
198 X_.shift(z, src, dst);
201 template <
class Fspc>
205 X_.shift(z, src, dst);
208 template <
class Fspc>
210 const Fspc src[], Fspc dst[])
const {
212 if (Xtay) {X_.apply(Xtay->value(), src, dst);
return;}
223 template <
class Fspc = concepts::Real>
248 uint
m()
const {
return m_;}
249 uint gauss()
const {
return gauss_;}
293 template <
class Fspc>
298 template <
class Fspc>
302 shift(z, src, dst, 0);
305 template <
class Fspc>
309 if (Ytay) {apply(Ytay->value(), src, dst);
return;}
320 template <
class Fspc = concepts::Real>
348 uint
m()
const {
return m_;}
349 uint gauss()
const {
return gauss_;}
350 inline XYColReal*
getCol(uint
blksz, uint n)
const;
388 template <
class Fspc>
393 template <
class Fspc>
397 Y_.shift(z, src, dst);
400 template <
class Fspc>
404 Y_.shift(z, src, dst);
407 template <
class Fspc>
409 const Fspc src[], Fspc dst[])
const {
411 if (Ytay) {Y_.apply(Ytay->value(), src, dst);
return;}
422 template <
class Fspc = concepts::Real>
441 uint
blksz(uint
m)
const {
return (
m * (
m * (
m + 3) + 2)) / 6;}
442 uint
m()
const {
return m_;}
453 inline void apply(uint
m,
const FColExp* Fexp,
const Fspc src[],
459 template <
class Fspc>
463 if (Ftay) {evaluate(m, z, Ftay);
return;}
469 template <
class Fspc>
471 const Fspc src[], Fspc dst[])
const {
473 if (Ftay) {apply(m, Ftay, src, dst);
return;}
#define conceptsException(exc)
uint blksz() const
Size of memory used for the expansion.
XYColReal * getCol(uint blksz, uint n) const
void evaluate(const bem::Constant3d001< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
DTaylorX(uint m, uint gauss)
void evaluate(const concepts::Real3d &z, const concepts::Unit3d &h, concepts::Real X[]) const
uint m() const
Order of the expansion.
void evaluate(const concepts::Element< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
void evaluate(const bem::Linear3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
void apply(const XYColExpPtr *X, const Fspc src[], Fspc dst[]) const
void shift(const concepts::Real3d &z, const concepts::Real src[], concepts::Real dst[]) const
Shifting the expansion coefficients.
concepts::Real * foo_
Auxiliary vectors.
void evaluate(const bem::Constant3d002< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
void evaluate(const bem::Constant3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
XYColReal * getCol(uint blksz, uint n) const
void shift(const concepts::Real3d &z, const concepts::Real src[], concepts::Real dst[]) const
void evaluate(const bem::Constant3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
uint blksz() const
Size of memory used for the expansion.
void evaluate(const concepts::Real3d &z, const concepts::Unit3d &h, concepts::Real Y[]) const
concepts::Real * foo_
Auxiliary vectors.
void evaluate(const bem::Constant3d002< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
uint m() const
Order of the expansion.
DTaylorY(uint m, uint gauss)
void evaluate(const bem::Constant3d001< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
void evaluate(const concepts::Element< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
void apply(const XYColExpPtr *Y, const Fspc src[], Fspc dst[]) const
void evaluate(const bem::Linear3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
uint m() const
Order of the expansion.
virtual FColReal * getCol(uint blksz) const
void evaluate(uint m, const concepts::Real3d &z, FColExp *Fexp) const
void apply(uint m, const FColExp *Fexp, const Fspc src[], Fspc dst[]) const
void shift(const concepts::Real3d &z, const concepts::Real src[], concepts::Real dst[]) const
Shifting the expansion coefficients.
void evaluate(const bem::Constant3d002< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
void evaluate(const bem::Linear3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
uint blksz() const
Size of memory used for the expansion.
void apply(const concepts::Real X[], const Fspc src[], Fspc dst[]) const
uint m() const
Order of the expansion.
TaylorX(uint m, uint gauss)
concepts::Real * foo_
Auxiliary vectors.
XYColReal * getCol(uint blksz, uint n) const
void evaluate(const concepts::Real3d &z, concepts::Real X[]) const
void evaluate(const bem::Constant3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
void evaluate(const bem::Constant3d001< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
void evaluate(const concepts::Element< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
void evaluate(const bem::Dirac3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *X[]) const
void evaluate(const bem::Constant3d002< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
void shift(const concepts::Real3d &z, const concepts::Real src[], concepts::Real dst[]) const
concepts::Real * foo_
Auxiliary vectors.
void evaluate(const bem::Constant3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
void evaluate(const bem::Dirac3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
void apply(const concepts::Real Y[], const Fspc src[], Fspc dst[]) const
uint blksz() const
Size of memory used for the expansion.
TaylorY(uint m, uint gauss)
uint m() const
Order of the expansion.
void evaluate(const concepts::Real3d &z, concepts::Real Y[]) const
void evaluate(const concepts::Element< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
XYColReal * getCol(uint blksz, uint n) const
void evaluate(const bem::Linear3d000< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
void evaluate(const bem::Constant3d001< Fspc > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.