Base class of one-dimensional FFT agents. More...

#include <FTransformAgent.h>

Inheritance diagram for FTransform::Agent:
Reference::Able Reference::HeapTracked FTransform::PlanAgent< FFTW3 > FTransform::PlanAgent< IPP > FTransform::PlanAgent< MKL > FTransform::PlanAgent< MKL_DFTI > FTransform::PlanAgent< Library > FTransform::FFTW3::Agent

Public Member Functions

virtual Planget_plan (size_t nfft, type call)=0
 Return an appropriate one-dimensional FFT plan from this library.
virtual Plan2get_plan2 (size_t nx, size_t ny, type call)=0
 Return an appropriate two-dimensional FFT plan from this library.
virtual void clean_plans ()=0
 Clean up the plans for this library.
Public Member Functions inherited from Reference::Able
 Able ()
 Default constructor.
 Able (const Able &)
 Copy constructor.
Ableoperator= (const Able &)
 Assignment operator.
virtual ~Able ()
 Destructor.
unsigned get_reference_count () const
 Returns the number of references there are to this.
Public Member Functions inherited from Reference::HeapTracked
 HeapTracked ()
 Default constructor.
 HeapTracked (const HeapTracked &)
 Copy constructor.
HeapTrackedoperator= (const HeapTracked &)
 Assignment operator.
virtual ~HeapTracked ()
 Destructor.
bool __is_on_heap () const
 Return true if this instance is found in heap addresses.

Static Public Member Functions

static unsigned get_num_libraries ()
 Get the number of available libraries.
static std::string get_library_name (unsigned i)
 Get the name of the ith available library.
static void set_library (const std::string &name)
 Set the current library by name.
Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
 Returns the current number instances in existence.
Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
 Records the addresses of new instances allocated on the heap.
static void operator delete (void *location, void *ptr)
 Placement delete overload to match the placement new overload.
static void operator delete (void *location)
 Regular delete overload.
static size_t get_heap_queue_size ()
 Return the number of heap addresses awaiting processing.

Public Attributes

std::string name
 Name of the transform library.
normalization norm
 The normalization type.

Static Public Attributes

static Reference::To< Agentcurrent
 The currently installed agent.
static ThreadContextcontext = 0
 For use in multithreaded programs.

Protected Member Functions

void add ()
 Add a pointer to this instance to the libraries attribute.
Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 Add the address of a reference to this object.
void __dereference (bool auto_delete=true) const
 Remove the address of a reference to this object.

Friends

void set_library (const std::string &name)
 Set the library to the specified name.
void clean_plans ()
 Clears out the memory associated with the plans.

Detailed Description

Base class of one-dimensional FFT agents.

Member Function Documentation

◆ clean_plans()

virtual void FTransform::Agent::clean_plans ( )
pure virtual

◆ get_plan()

virtual Plan * FTransform::Agent::get_plan ( size_t nfft,
type call )
pure virtual

◆ get_plan2()

virtual Plan2 * FTransform::Agent::get_plan2 ( size_t nx,
size_t ny,
type call )
pure virtual

◆ set_library()

void FTransform::Agent::set_library ( const std::string & name)
static

Set the current library by name.

Choose to use a different library.

References current, FTransform::get_num_libraries(), and name.

Referenced by FTransform::set_library().


The documentation for this class was generated from the following files:

Generated using doxygen 1.14.0