FTransform::PlanAgent< Library > Class Template Reference

Template virtual base class of FFT library agents. More...

#include <FTransformAgent.h>

Inheritance diagram for FTransform::PlanAgent< Library >:
FTransform::Agent Reference::Able Reference::HeapTracked

Public Member Functions

 PlanAgent (const std::string &name, normalization norm)
 Default constructor.
Library::Plan * get_plan (size_t nfft, type call)
 Return an appropriate plan from this library.
Library::Plan2 * get_plan2 (size_t nx, size_t ny, type call)
 Return an appropriate two-dimensional FFT plan from this library.
void clean_plans ()
 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 void enlist ()
 Add an instance of this class to the Agent::libraries attribute.
Static Public Member Functions inherited from FTransform::Agent
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.

Protected Attributes

std::vector< Reference::To< typename Library::Plan > > plans
 The one-dimensional plans managed by the agent for this library.
std::vector< Reference::To< typename Library::Plan2 > > plans2
 The two-dimensional plans managed by the agent for this library.

Additional Inherited Members

Public Attributes inherited from FTransform::Agent
std::string name
 Name of the transform library.
normalization norm
 The normalization type.
Static Public Attributes inherited from FTransform::Agent
static Reference::To< Agentcurrent
 The currently installed agent.
static ThreadContextcontext = 0
 For use in multithreaded programs.
Protected Member Functions inherited from FTransform::Agent
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.

Detailed Description

template<class Library>
class FTransform::PlanAgent< Library >

Template virtual base class of FFT library agents.

To use this template, the Library class must have nested classes named Plan, Plan2, and Agent

Member Function Documentation

◆ clean_plans()

template<class Library>
void FTransform::PlanAgent< Library >::clean_plans ( )
virtual

Clean up the plans for this library.

Implements FTransform::Agent.

References plans.

◆ get_plan()

template<class Library>
Library::Plan * FTransform::PlanAgent< Library >::get_plan ( size_t nfft,
type call )
virtual

Return an appropriate plan from this library.

Implements FTransform::Agent.

References FTransform::Agent::context, and plans.

◆ get_plan2()

template<class Library>
Library::Plan2 * FTransform::PlanAgent< Library >::get_plan2 ( size_t nx,
size_t ny,
type call )
virtual

Return an appropriate two-dimensional FFT plan from this library.

Implements FTransform::Agent.

References plans2.


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

Generated using doxygen 1.14.0