expansion.hh
virtual void evaluate(const concepts::Element< F > &elm, const concepts::Real3d &c, XYColExpPtr *XY[]) const =0
Computation of the expansion coefficients.
virtual void operator+=(uint i)=0
virtual FColExp * getCol(uint blksz) const =0
Allocates memory for the expansion coefficients.
friend std::ostream & operator<<(std::ostream &os, const FColExp &f)
virtual void apply(const XYColExpPtr *XY, const F src[], F dst[]) const =0
Application of the expansion.
virtual void evaluate(uint m, const concepts::Real3d &z, FColExp *Fexp) const =0
Computation of the expansion coefficients.
virtual void apply(uint m, const FColExp *Fexp, const Fspc src[], Fspc dst[]) const =0
Application of the expansion.
virtual void operator-=(uint i)=0
virtual XYColExp * getCol(uint blksz, uint n) const =0
Allocates memory for the expansion coefficients and sets it to zero.
virtual uint memory() const =0
Abstract class for the and the part of a kernel expansion.
Definition: expansion.hh:98
virtual XYColExpPtr * operator[](uint i) const =0
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.
Definition: typedefs.hh:39
virtual void shift(const concepts::Real3d &z, const concepts::Cmplx src[], concepts::Cmplx dst[]) const =0
virtual void shift(const concepts::Real3d &z, const concepts::Real src[], concepts::Real dst[]) const =0
Shifting the expansion.
Abstract class for a pointer to the expansion coefficients.
Definition: expansion.hh:18
Class for a pointer to expansion coefficients of type F.
Definition: expansion.hh:29
virtual uint memory(uint blksz) const =0